Import OpenSSH-5.8p1.
authorPeter Avalos <pavalos@dragonflybsd.org>
Sat, 9 Apr 2011 05:59:12 +0000 (22:59 -0700)
committerPeter Avalos <pavalos@dragonflybsd.org>
Sat, 9 Apr 2011 05:59:12 +0000 (22:59 -0700)
commit9f304aaf499c03c5508a20b548a0606e4a8da987
treecdc432345bdc0821ff8ebd4d314141a53780dd2c
parent856ea928c995e02ea88a6865c1f1983842decc66
Import OpenSSH-5.8p1.

 * Fix vulnerability in legacy certificate signing introduced in
   OpenSSH-5.6.

 * Implement Elliptic Curve Cryptography modes for key exchange (ECDH)
   and host/user keys (ECDSA) as specified by RFC5656. ECDH and ECDSA
   offer better performance than plain DH and DSA at the same equivalent
   symmetric key length, as well as much shorter keys.

 * sftp(1)/sftp-server(8): add a protocol extension to support a hard
   link operation. It is available through the "ln" command in the
   client. The old "ln" behaviour of creating a symlink is available
   using its "-s" option or through the preexisting "symlink" command

 * scp(1): Add a new -3 option to scp: Copies between two remote hosts
   are transferred through the local host.  Without this option the
   data is copied directly between the two remote hosts.

 * ssh(1): automatically order the hostkeys requested by the client
   based on which hostkeys are already recorded in known_hosts. This
   avoids hostkey warnings when connecting to servers with new ECDSA
   keys, since these are now preferred when learning hostkeys for the
   first time.

 * ssh(1)/sshd(8): add a new IPQoS option to specify arbitrary
   TOS/DSCP/QoS values instead of hardcoding lowdelay/throughput.

 * ssh(1): "atomically" create the listening mux socket by binding it on
   a temporary name and then linking it into position after listen() has
   succeeded. This allows the mux clients to determine that the server
   socket is either ready or stale without races. stale server sockets
   are now automatically removed.

 * ssh(1)/sshd(8): add a KexAlgorithms knob to the client and server
   configuration to allow selection of which key exchange methods are
   used by ssh(1) and sshd(8) and their order of preference.

 * sftp(1)/scp(1): factor out bandwidth limiting code from scp(1) into
   a generic bandwidth limiter that can be attached using the atomicio
   callback mechanism and use it to add a bandwidth limit option to
   sftp(1).

BugFixes:

 * ssh(1)/ssh-agent(1): honour $TMPDIR for client xauth and ssh-agent
   temporary directories.

 * ssh(1): avoid NULL deref on receiving a channel request on an unknown
   or invalid channel;

 * sshd(8): remove a debug() that pollutes stderr on client connecting
   to a server in debug mode

 * scp(1): pass through ssh command-line flags and options when doing
   remote-remote transfers, e.g. to enable agent forwarding which is
   particularly useful in this case;

 * sftp-server(8): umask should be parsed as octal

 * sftp(1): escape '[' in filename tab-completion

 * ssh(1): Typo in confirmation message.

 * sshd(8): prevent free() of string in .rodata when overriding
   AuthorizedKeys in a Match block

 * sshd(8): Use default shell /bin/sh if $SHELL is ""

 * ssh(1): kill proxy command on fatal() (we already killed it on
   clean exit);

 * ssh(1): install a SIGCHLD handler to reap expiried child process;

 * sshd(8): Use correct uid_t/pid_t types instead of int.
114 files changed:
crypto/openssh/LICENCE
crypto/openssh/PROTOCOL
crypto/openssh/PROTOCOL.agent
crypto/openssh/PROTOCOL.certkeys
crypto/openssh/PROTOCOL.mux
crypto/openssh/README
crypto/openssh/README.DELETED
crypto/openssh/atomicio.c
crypto/openssh/atomicio.h
crypto/openssh/audit-bsm.c
crypto/openssh/audit.c
crypto/openssh/audit.h
crypto/openssh/auth-options.c
crypto/openssh/auth-rsa.c
crypto/openssh/auth.c
crypto/openssh/auth1.c
crypto/openssh/auth2-jpake.c
crypto/openssh/auth2-pubkey.c
crypto/openssh/auth2.c
crypto/openssh/authfd.c
crypto/openssh/authfile.c
crypto/openssh/bufaux.c
crypto/openssh/bufec.c [new file with mode: 0644]
crypto/openssh/buffer.h
crypto/openssh/canohost.c
crypto/openssh/channels.c
crypto/openssh/cipher-3des1.c
crypto/openssh/cipher-acss.c
crypto/openssh/cipher-aes.c
crypto/openssh/cipher-bf1.c
crypto/openssh/cipher-ctr.c
crypto/openssh/clientloop.c
crypto/openssh/compress.c
crypto/openssh/defines.h
crypto/openssh/dns.c
crypto/openssh/entropy.c
crypto/openssh/hostfile.c
crypto/openssh/hostfile.h
crypto/openssh/includes.h
crypto/openssh/jpake.c
crypto/openssh/kex.c
crypto/openssh/kex.h
crypto/openssh/kexdhc.c
crypto/openssh/kexdhs.c
crypto/openssh/kexecdh.c [new file with mode: 0644]
crypto/openssh/kexecdhc.c [copied from crypto/openssh/kexdhc.c with 60% similarity]
crypto/openssh/kexecdhs.c [copied from crypto/openssh/kexdhs.c with 57% similarity]
crypto/openssh/kexgexc.c
crypto/openssh/kexgexs.c
crypto/openssh/key.c
crypto/openssh/key.h
crypto/openssh/loginrec.c
crypto/openssh/loginrec.h
crypto/openssh/misc.c
crypto/openssh/misc.h
crypto/openssh/moduli.c
crypto/openssh/monitor.c
crypto/openssh/monitor_wrap.c
crypto/openssh/mux.c
crypto/openssh/myproposal.h
crypto/openssh/openbsd-compat/bsd-misc.c
crypto/openssh/openbsd-compat/bsd-misc.h
crypto/openssh/openbsd-compat/glob.h
crypto/openssh/openbsd-compat/openbsd-compat.h
crypto/openssh/openbsd-compat/openssl-compat.h
crypto/openssh/openbsd-compat/port-linux.h
crypto/openssh/openbsd-compat/port-solaris.h
crypto/openssh/openbsd-compat/timingsafe_bcmp.c [copied from crypto/openssh/openbsd-compat/port-solaris.h with 61% similarity]
crypto/openssh/packet.c
crypto/openssh/packet.h
crypto/openssh/pathnames.h
crypto/openssh/platform.c
crypto/openssh/platform.h
crypto/openssh/readconf.c
crypto/openssh/readconf.h
crypto/openssh/readpass.c
crypto/openssh/schnorr.c
crypto/openssh/scp.1
crypto/openssh/scp.c
crypto/openssh/servconf.c
crypto/openssh/servconf.h
crypto/openssh/session.c
crypto/openssh/sftp-client.c
crypto/openssh/sftp-client.h
crypto/openssh/sftp-server.c
crypto/openssh/sftp.1
crypto/openssh/sftp.c
crypto/openssh/ssh-add.1
crypto/openssh/ssh-add.c
crypto/openssh/ssh-agent.1
crypto/openssh/ssh-agent.c
crypto/openssh/ssh-dss.c
crypto/openssh/ssh-ecdsa.c [new file with mode: 0644]
crypto/openssh/ssh-keygen.1
crypto/openssh/ssh-keygen.c
crypto/openssh/ssh-keyscan.1
crypto/openssh/ssh-keyscan.c
crypto/openssh/ssh-keysign.8
crypto/openssh/ssh-keysign.c
crypto/openssh/ssh-rsa.c
crypto/openssh/ssh.1
crypto/openssh/ssh.c
crypto/openssh/ssh2.h
crypto/openssh/ssh_config.5
crypto/openssh/sshconnect.c
crypto/openssh/sshconnect.h
crypto/openssh/sshconnect2.c
crypto/openssh/sshd.8
crypto/openssh/sshd.c
crypto/openssh/sshd_config
crypto/openssh/sshd_config.5
crypto/openssh/sshlogin.c
crypto/openssh/uuencode.c
crypto/openssh/uuencode.h