ChangeLog   [plain text]

 - (djm) OpenBSD CVS Sync
   - 2009/02/22 23:50:57
     [ssh_config.5 sshd_config.5]
     don't advertise experimental options
   - 2009/02/22 23:59:25
     missing period
   - 2009/02/23 00:06:15
 - (djm) [README] update for 5.2
 - (djm) Release openssh-5.2p1

 - (djm) OpenBSD CVS Sync
   - 2009/02/21 19:32:04
     [misc.c sftp-server-main.c ssh-keygen.c]
     Added missing newlines in error messages.
     ok dtucker

 - (djm) OpenBSD CVS Sync
   - 2009/02/17 01:28:32
     sync with revised default ciphers; pointed out by dkrause@
   - 2009/02/18 04:31:21
     signature should hash over the entire group, not just the generator
     (this is still disabled code)
 - (djm) [contrib/caldera/openssh.spec contrib/redhat/openssh.spec]
   [contrib/suse/openssh.spec] Prepare for 5.2p1

 - (djm) [regress/ regress/]
   [regress/ regress/] Downgrade disabled
   interop tests from FATAL error to a warning. Allows some interop
   tests to proceed if others are missing necessary prerequisites.
 - (djm) [] support GNU/kFreeBSD and GNU/kOpensolaris
   systems; patch from Aurelien Jarno via rmh AT

 - (djm) OpenBSD CVS Sync
   - 2009/02/02 11:15:14
     Initialize a few variables to prevent spurious "may be used
     uninitialized" warnings from newer gcc's.  ok djm@
   - 2009/02/12 03:00:56
     [canohost.c canohost.h channels.c channels.h clientloop.c readconf.c]
     [readconf.h serverloop.c ssh.c]
     support remote port forwarding with a zero listen port (-R0:...) to
     dyamically allocate a listen port at runtime (this is actually
     specified in rfc4254); bz#1003 ok markus@
   - 2009/02/12 03:16:01
     tighten check for -R0:... forwarding: only allow dynamic allocation
     if want_reply is set in the packet
   - 2009/02/12 03:26:22
     some paranoia: check that the serialised key is really KEY_RSA before
     diddling its internals
   - 2009/02/12 03:42:09
     document -R0:... usage
   - 2009/02/12 03:44:25
     consistency: Dq => Ql
   - 2009/02/12 03:46:17
     document RemoteForward usage with 0 listen port
   - 2009/02/12 07:34:20
     kill trailing whitespace;
   - 2009/02/13 11:50:21
     check for enc !=NULL in packet_start_discard
   - 2009/02/14 06:35:49
     mention that eow and no-more-sessions extensions are sent only to
     OpenSSH peers

 - (djm) [sshpty.c] bz#1419: OSX uses cloning ptys that automagically
   set ownership and modes, so avoid explicitly setting them
 - (djm) [ loginrec.c] bz#1421: fix lastlog support for OSX.
   OSX provides a getlastlogxbyname function that automates the reading of
   a lastlog file. Also, the pututxline function will update lastlog so
   there is no need for loginrec.c to do it explicitly. Collapse some
   overly verbose code while I'm in there.

 - (dtucker) [defines.h sshconnect.c] INET6_ADDRSTRLEN is now needed in
   channels.c too, so move the definition for non-IP6 platforms to defines.h
   where it can be shared.

 - (tim) [contrib/cygwin/ssh-host-config] Patch from Corinna Vinschen.
   If the CYGWIN environment variable is empty, the installer script
   should not install the service with an empty CYGWIN variable, but
   rather without setting CYGWNI entirely.
 - (tim) [contrib/cygwin/ssh-host-config] Whitespace cleanup. No code changes.

 - (tim) [contrib/cygwin/ssh-host-config] Patch from Corinna Vinschen.
   Changes to work on Cygwin 1.5.x as well as on the new Cygwin 1.7.x.
   The information given for the setting of the CYGWIN environment variable
   is wrong for both releases so I just removed it, together with the
   unnecessary (Cygwin 1.5.x) or wrong (Cygwin 1.7.x) default setting.

 - (djm) OpenBSD CVS Sync
   - 2008/12/09 03:20:42
     [channels.c servconf.c]
     channel_print_adm_permitted_opens() should deal with all the printing
     for that config option.  suggested by markus@; ok markus@ djm@
   - 2008/12/09 04:32:22
     replace by-hand string building with xasprinf(); ok deraadt@
   - 2008/12/09 15:35:00
     [sftp.1 sftp.c]
     update for the synopses displayed by the 'help' command, there are a
     few missing flags; add 'bye' to the output of 'help'; sorting and spacing.
     jmc@ suggested replacing .Oo/.Oc with a single .Op macro.
     ok jmc@
   - 2008/12/09 22:37:33
     fix typo in error message
   - 2008/12/10 03:55:20
     o cannot be NULL here but use xfree() to be consistent; ok djm@
   - 2008/12/29 01:12:36
     fix example, default key type is rsa for 3+ years; from
   - 2008/12/29 02:23:26
     no need to escape single quotes in comments
   - 2008/12/30 00:46:56
     add AllowAgentForwarding to available Match keywords list
     ok djm
   - 2009/01/01 21:14:35
     call channel destroy callbacks on receipt of open failure messages.
     fixes client hangs when connecting to a server that has MaxSessions=0
     set spotted by imorgan AT; ok markus@
   - 2009/01/01 21:17:36
     fix hash calculation for KEXGEX: hash over the original client-supplied
     values and not the sanity checked versions that we acutally use;
     bz#1540 reported by john.smith AT
     ok markus@
   - 2009/01/14 01:38:06
     support SOCKS4A protocol, from dwmw2 AT via bz#1482;
     "looks ok" markus@
   - 2009/01/15 17:38:43
     1) use obsolete instead of alias for consistency
     2) oUserKnownHostsFile not obsolete but oGlobalKnownHostsFile2 is
        so move the comment.
     3) reorder so like options are together
     ok djm@
   - 2009/01/22 09:46:01
     [channels.c channels.h session.c]
     make Channel->path an allocated string, saving a few bytes here and
     there and fixing bz#1380 in the process; ok markus@
   - 2009/01/22 09:49:57
     oops! I committed the wrong version of the Channel->path diff,
     it was missing some tweaks suggested by stevesk@
   - 2009/01/22 10:02:34
     [clientloop.c misc.c readconf.c readconf.h servconf.c servconf.h]
     [serverloop.c ssh-keyscan.c ssh.c sshd.c]
     make a2port() return -1 when it encounters an invalid port number
     rather than 0, which it will now treat as valid (needed for future work)
     adjust current consumers of a2port() to check its return value is <= 0,
     which in turn required some things to be converted from u_short => int
     make use of int vs. u_short consistent in some other places too
     feedback & ok markus@
   - 2009/01/22 10:09:16
     another chunk of a2port() diff that got away. wtfdjm??
   - 2009/01/23 07:58:11
     prefer CTR modes and revised arcfour (i.e w/ discard) modes to CBC
     modes; ok markus@
   - 2009/01/24 17:10:22
     [ssh_config.5 sshd_config.5]
     sync list of preferred ciphers; ok djm@
   - 2009/01/26 09:58:15
     [cipher.c cipher.h packet.c]
     Work around the CPNI-957037 Plaintext Recovery Attack by always
     reading 256K of data on packet size or HMAC errors (in CBC mode only).
     Help, feedback and ok djm@
     Feedback from Martin Albrecht and Paterson Kenny

 - (djm) [uidswap.c] bz#1412: Support >16 supplemental groups in OS X.
   Patch based on one from vgiffin AT; ok dtucker@
 - (djm) [channels.c] bz#1419: support "on demand" X11 forwarding via
   launchd on OS X; patch from vgiffin AT, slightly tweaked;
   ok dtucker@
 - (djm) [contrib/ssh-copy-id.1 contrib/ssh-copy-id] bz#1492: Make
   ssh-copy-id copy by default (instead of the legacy "identity"
   key). Patch from cjwatson AT

 - (tim) [ defines.h openbsd-compat/port-uw.c
   openbsd-compat/xcrypt.c] Add SECUREWARE support to OpenServer 6 SVR5 ABI.
   OK djm@ dtucker@
 - (tim) [] Move check_for_libcrypt_later=1 in *-*-sysv5*) section.
   OpenServer 6 doesn't need libcrypt.

 - (djm) OpenBSD CVS Sync
   - 2008/12/09 02:38:18
     The ~C escape handler does not work correctly for multiplexed sessions -
     it opens a commandline on the master session, instead of on the slave
     that requested it. Disable it on slave sessions until such time as it
     is fixed; bz#1543 report from Adrian Bridgett via Colin Watson
     ok markus@
   - 2008/12/09 02:39:59
     Deal correctly with failures in remote stat() operation in sftp,
     correcting fail-on-error behaviour in batchmode. bz#1541 report and
     fix from anedvedicky AT; ok markus@
   - 2008/12/09 02:58:16
     don't leave junk (free'd) pointers around in Forward *fwd argument on
     failure; avoids double-free in ~C -L handler when given an invalid
     forwarding specification; bz#1539 report from adejong AT
     via Colin Watson; ok markus@ dtucker@
   - 2008/12/09 03:02:37
     [sftp.1 sftp.c]
     correct sftp(1) and corresponding usage syntax;
     bz#1518 patch from imorgan AT; ok deraadt@ improved diff jmc@

 - (djm) [] bz#1538: better test for ProPolice/SSP: actually
   use some stack in main().
   Report and suggested fix from vapier AT
 - (djm) OpenBSD CVS Sync
   - 2008/12/02 19:01:07
     we have to use the recipient's channel number (RFC 4254) for
     otherwise we trigger 'Non-public channel' error messages on sshd
     systems with clientkeepalive enabled; noticed by sturm; ok djm;
   - 2008/12/02 19:08:59
     backout 1.149, since it's not necessary and openssh clients send
     broken CHANNEL_FAILURE/SUCCESS messages since about 2004; ok djm@
   - 2008/12/02 19:09:38
     s/remote_id/id/ to be more consistent with other code; ok djm@

 - (dtucker) [contrib/cygwin/{Makefile,ssh-host-config}]  Add new doc files
   and tweak the is-sshd-running check in ssh-host-config.  Patch from
   vinschen at redhat com.
 - (dtucker) OpenBSD CVS Sync
   - 2008/11/21 15:47:38
     packet_disconnect() on padding error, too.  should reduce the success
     probability for the CPNI-957037 Plaintext Recovery Attack to 2^-18
     ok djm@
   - 2008/11/30 11:59:26
     Retry sendmsg/recvmsg on EAGAIN and EINTR; ok djm@

 - (dtucker) [monitor_fdpass.c] Reduce diff vs OpenBSD by moving some
    declarations, removing an unnecessary union member and adding whitespace.
    cmsgbuf.tmp thing spotted by des at des no, ok djm some time ago.

 - (tim) [addrmatch.c] Some platforms do not have sin6_scope_id
   member of sockaddr_in6. Also reported in Bug 1491 by David Leonard. OK and
   feedback by djm@

 - (dtucker) OpenBSD CVS Sync
   - 2008/11/05 11:22:54
     passord -> password;
     fixes user/5975 from Rene Maroufi
   - 2008/11/07 00:42:12
     spelling/typo in comment
   - 2008/11/07 18:50:18
     add space to some log/debug messages for readability; ok djm@ markus@
   - 2008/11/07 23:34:48
     Move JPAKE define to make life easier for portable.  ok djm@
   - 2008/11/09 12:34:47
     [session.c ssh.1]
     typo fixed (overriden -> overridden)
     ok espie, jmc
   - 2008/11/11 02:58:09
     USE_AFS not referenced so remove #ifdef.  fixes sshd -T not printing
     kerberosgetafstoken. ok dtucker@
     (Id sync only, we still want the ifdef in portable)
   - 2008/11/11 03:55:11
     for sshd -T print 'permitopen any' vs. 'permitopen' for case of no
     permitopen's; ok and input dtucker@
   - 2008/11/10 02:06:35
     PuTTY supports AES CTR modes, so interop test against them too

 - OpenBSD CVS Sync
   - 2008/11/03 08:59:41
     include MaxSessions in sshd -T output; patch from imorgan AT
   - 2008/11/04 07:58:09
     need unistd.h for close() prototype
     (ID sync only)
   - 2008/11/04 08:22:13
     [auth.h auth2.c monitor.c monitor.h monitor_wrap.c monitor_wrap.h]
     [readconf.c readconf.h servconf.c servconf.h ssh2.h ssh_config.5]
     [sshconnect2.c sshd_config.5 jpake.c jpake.h schnorr.c auth2-jpake.c]
     Add support for an experimental zero-knowledge password authentication
     method using the J-PAKE protocol described in F. Hao, P. Ryan,
     "Password Authenticated Key Exchange by Juggling", 16th Workshop on
     Security Protocols, Cambridge, April 2008.
     This method allows password-based authentication without exposing
     the password to the server. Instead, the client and server exchange
     cryptographic proofs to demonstrate of knowledge of the password while
     revealing nothing useful to an attacker or compromised endpoint.
     This is experimental, work-in-progress code and is presently
     compiled-time disabled (turn on -DJPAKE in
     "just commit it.  It isn't too intrusive." deraadt@
   - 2008/11/04 19:18:00
     because parse_forward() is now used to parse all forward types (DLR),
     and it malloc's space for host variables, we don't need to malloc
     here.  fixes small memory leaks.
     previously dynamic forwards were not parsed in parse_forward() and
     space was not malloc'd in that case.
     ok djm@
   - 2008/11/05 03:23:09
     [clientloop.c ssh.1]
     add dynamic forward escape command line; ok djm@

 - OpenBSD CVS Sync
   - 2008/07/24 23:55:30
     Add "ssh-keygen -F -l" to synopsis (displays fingerprint from
     known_hosts).  ok djm@
   - 2008/07/25 06:56:35
     Add VisualHostKey to example file, ok djm@
   - 2008/07/25 07:05:16
     In random art visualization, make sure to use the end marker only at the
     end.  Initial diff by Dirk Loss, tweaks and ok djm@
  - 2008/07/31 14:48:28
     don't allocate space for empty banners; report t8m at;
     ok deraadt
   - 2008/08/02 04:29:51
     whitepsace -> whitespace. From Matthew Clarke via bugs@.
   - 2008/08/21 04:09:57
     allow ForceCommand internal-sftp with arguments. based on patch from
     michael.barabanov AT; ok markus@
   - 2008/09/06 12:24:13
     OpenSSL 0.9.8h supplies a real EVP_sha256 so we do not need our
     replacement anymore
     (ID sync only for portable - we still need this)
   - 2008/09/11 14:22:37
     [compat.c compat.h nchan.c ssh.c]
     only send eow and no-more-sessions requests to openssh 5 and newer;
     fixes interop problems with broken ssh v2 implementations; ok djm@
   - 2008/10/02 14:39:35
     Convert an unchecked strdup to xstrdup.  OK deraadt@
  - 2008/10/03 13:08:12
     do not give an example of how to chmod files: we can presume the user
     knows that. removes an ambiguity in the permission of authorized_keys;
     ok deraadt
   - 2008/10/03 23:56:28
     Repair strnvis() buffersize of 4*n+1, with termination gauranteed by the
     spotted by des@freebsd, who commited an incorrect fix to the freebsd tree
     and (as is fairly typical) did not report the problem to us.  But this fix
     is correct.
     ok djm
   - 2008/10/08 23:34:03
     [ssh.1 ssh.c]
     Add -y option to force logging via syslog rather than stderr.
     Useful for daemonised ssh connection (ssh -f). Patch originally from
     and ok'd by markus@
   - 2008/10/09 03:50:54
     [servconf.c sshd_config.5]
     support setting PermitEmptyPasswords in a Match block
     requested in PR3891; ok dtucker@
   - 2008/10/09 06:54:22
     add -y to usage();
   - 2008/10/10 04:55:16
     spelling in comment; ok djm@
   - 2008/10/10 05:00:12
     typo in error message; ok djm@
   - 2008/10/10 16:43:27
     use 'Privileged ports can be forwarded only when logging in as root on
     the remote machine.' for RemoteForward just like ssh.1 -R.
     ok djm@ jmc@
   - 2008/10/14 18:11:33
     use #define ROQUIET here; no binary change. ok dtucker@
   - 2008/10/17 18:36:24
     correct and clarify VisualHostKey; ok jmc@
   - 2008/10/30 19:31:16
     [clientloop.c sshd.c]
     don't need to #include "monitor_fdpass.h"
   - 2008/10/31 15:05:34
     remove unused #define DISPATCH_MIN; ok markus@
   - 2008/11/01 04:50:08
     sprinkle ARGSUSED on dispatch handlers
     nuke stale unusued prototype
   - 2008/11/01 06:43:33
     fix some typos in log messages; ok djm@
   - 2008/11/01 11:14:36
     [ssh-keyscan.1 ssh-keyscan.c]
     the ellipsis is not an optional argument; while here, improve spacing.
   - 2008/11/01 17:40:33
     [clientloop.c readconf.c readconf.h ssh.c]
     merge dynamic forward parsing into parse_forward();
     'i think this is OK' djm@
   - 2008/11/02 00:16:16
     protocol 2 tty modes support is now 7.5 years old so remove these
     debug3()s; ok deraadt@
   - 2008/11/03 01:07:02
     remove valueless comment
   - 2008/11/03 02:44:41
     fix comment
 - (djm) [contrib/caldera/ssh-host-keygen contrib/suse/rc.sshd]
   Make example scripts generate keys with default sizes rather than fixed,
   non-default 1024 bits; patch from imorgan AT
 - (djm) [contrib/sshd.pam.generic contrib/caldera/sshd.pam]
   [contrib/redhat/sshd.pam] Move pam_nologin to account group from
   incorrect auth group in example files;
   patch from imorgan AT

 - (dtucker) [config.guess config.sub] Update to latest versions from (2008-04-14 and 2008-06-16

 - (dtucker) [openbsd-compat/bsd-poll.c] correctly check for number of FDs
   larger than FD_SETSIZE (OpenSSH only ever uses poll with one fd).  Patch
   from Nicholas Marriott.

 - (djm) OpenBSD CVS Sync
   - 2008/07/23 07:36:55
     do not try to print options that have been compile-time disabled
     in config test mode (sshd -T); report from nix-corp AT
     ok dtucker@
 - (djm) [servconf.c] Print UsePAM option in config test mode (when it
   has been compiled in); report from nix-corp AT
   ok dtucker@

 - (djm) OpenBSD CVS Sync
   - 2008/07/18 22:51:01
     no need for .Pp before or after .Sh;
   - 2008/07/21 08:19:07
 - (djm) [README contrib/caldera/openssh.spec contrib/redhat/openssh.spec]
   [contrib/suse/openssh.spec] Update version number in README and RPM specs
 - (djm) Release OpenSSH-5.1

 - (djm) OpenBSD CVS Sync
   - 2008/07/17 08:48:00
     strnvis preauth banner; pointed out by mpf@ ok markus@
   - 2008/07/17 08:51:07
     strip trailing '.' from hostname when HostbasedUsesNameFromPacketOnly=yes
     report and patch from res AT (bz#1200); ok markus@
 - (dtucker) [openbsd-compat/bsd-cygwin_util.c]  Remove long-unneeded compat
   code, replace with equivalent cygwin library call.  Patch from vinschen
   at, ok djm@.
 - (djm) [sshconnect2.c] vis.h isn't available everywhere

 - OpenBSD CVS Sync
   - 2008/07/15 02:23:14
     number of pipelined requests is now 64;
     prodded by Iain.Morgan AT
   - 2008/07/16 11:51:14
     rename variable first_gc -> last_gc (since it is actually the last
     in the list).
   - 2008/07/16 11:52:19
     this loop index should be automatic, not static

 - (djm) OpenBSD CVS Sync
   - 2008/07/13 21:22:52
     Change "ssh-keygen -F [host] -l" to not display random art unless
     -v is also specified, making it consistent with the manual and other
     uses of -l.
     ok grunk@
   - 2008/07/13 22:13:07
     use struct sockaddr_storage instead of struct sockaddr for accept(2)
     address argument. from visibilis AT in bz#1485; ok markus@
   - 2008/07/13 22:16:03
     increase number of piplelined requests so they properly fill the
     (recently increased) channel window. prompted by rapier AT;
     ok markus@
   - 2008/07/14 01:55:56
     mention requirement for /dev/log inside chroot when using sftp-server
     with ChrootDirectory
 - (djm) [openbsd-compat/bindresvport.c] Rename variables s/sin/in/ to
   avoid clash with sin(3) function; reported by
   cristian.ionescu-idbohrn AT
 - (djm) [openbsd-compat/rresvport.c] Add unistd.h for missing close()
   prototype; reported by cristian.ionescu-idbohrn AT
 - (djm) [umac.c] Rename variable s/buffer_ptr/bufp/ to avoid clash;
   reported by cristian.ionescu-idbohrn AT
 - (djm) [contrib/cygwin/Makefile contrib/cygwin/ssh-host-config]
   [contrib/cygwin/ssh-user-config contrib/cygwin/sshd-inetd]
   Revamped and simplified Cygwin ssh-host-config script that uses
   unified csih configuration tool. Requires recent Cygwin.
   Patch from vinschen AT

 - (djm) OpenBSD CVS Sync
   - 2008/07/12 04:52:50
     unbreak; move clearing of cctx struct to before first use
     reported by dkrause@
   - 2008/07/12 05:33:41
     better description for -i flag:
     s/RSA authentication/public key authentication/
 - (djm) [openbsd-compat/fake-rfc2553.c openbsd-compat/fake-rfc2553.h]
   return EAI_FAMILY when trying to lookup unsupported address family;
   from vinschen AT

 - (djm) OpenBSD CVS Sync
   - 2008/07/07 00:31:41
     we don't need arg after the debug3() was removed.  from lint.
     ok djm@
   - 2008/07/07 23:32:51
     /*NOTREACHED*/ for lint warning:
       warning: function key_equal falls off bottom without returning value
     ok djm@
   - 2008/07/10 18:05:58
     missing bzero; from mickey; ok djm@
   - 2008/07/10 18:08:11
     [clientloop.c monitor.c monitor_wrap.c packet.c packet.h sshd.c]
     sync v1 and v2 traffic accounting; add it to sshd, too;
     ok djm@, dtucker@

 - (djm) [] Print "all tests passed" when all regress tests pass
 - (djm) [auth1.c] Fix format string vulnerability in protocol 1 PAM
   account check failure path. The vulnerable format buffer is supplied
   from PAM and should not contain attacker-supplied data.
 - (djm) [auth.c] Missing unistd.h for close()
 - (djm) [] Add -Wformat-security to CFLAGS for gcc 3.x and 4.x

 - (djm) [auth.c] Fixed test for locked account on HP/UX with shadowed
   passwords disabled. bz#1083 report & patch from senthilkumar_sen AT, w/ dtucker@
 - (djm) [atomicio.c] Disable poll() fallback in atomiciov for
   Tru64. readv doesn't seem to be a comparable object there.
   bz#1386, patch from dtucker@ ok me
 - (djm) [] Pass though pass to conch for interop tests
 - (djm) [] unbreak: remove extra closing brace
 - (djm) OpenBSD CVS Sync
   - 2008/07/04 23:08:25
     handle EINTR in packet_write_poll()l ok dtucker@
   - 2008/07/04 23:30:16
     [auth1.c auth2.c]
     Make protocol 1 MaxAuthTries logic match protocol 2's.
     Do not treat the first protocol 2 authentication attempt as
     a failure IFF it is for method "none".
     Makes MaxAuthTries' user-visible behaviour identical for
     protocol 1 vs 2.
     ok dtucker@
   - 2008/07/05 05:16:01

 - (dtucker) OpenBSD CVS Sync
   - 2008/07/02 13:30:34
     really really remove the freebie "none" auth try for protocol 2
   - 2008/07/02 13:47:39
     [ssh.1 ssh.c]
     When forking after authentication ("ssh -f") with ExitOnForwardFailure
     enabled, delay the fork until after replies for any -R forwards have
     been seen. Allows for robust detection of -R forward failure when
     using -f (similar to bz#92); ok dtucker@
   - 2008/07/03 21:46:58
     avoid nasty double free; ok dtucker@ djm@
   - 2008/07/04 03:44:59
     [servconf.c groupaccess.h groupaccess.c]
     support negation of groups in "Match group" block (bz#1315); ok dtucker@
   - 2008/07/04 03:47:02
     Make debug a little clearer.  ok djm@
   - 2008/06/30 08:07:34
     shell portability: use "=" instead of "==" in test(1) expressions,
     double-quote string with backslash escaped /
   - 2008/06/30 10:31:11
     remove "set -e" left over from debugging
   - 2008/06/30 10:43:03
     explicitly disable conch options that could interfere with the test
 - (dtucker) [sftp-server.c] Bug #1447: fall back to racy rename if link
   returns EXDEV.  Patch from Mike Garrison, ok djm@
 - (djm) [atomicio.c channels.c clientloop.c defines.h includes.h]
   [packet.c scp.c serverloop.c sftp-client.c ssh-agent.c ssh-keyscan.c]
   [sshd.c] Explicitly handle EWOULDBLOCK wherever we handle EAGAIN, on
   some platforms (HP nonstop) it is a distinct errno;
   bz#1467 reported by sconeu AT; ok dtucker@

 - (dtucker) OpenBSD CVS Sync
    - 2008/06/30 08:05:59
      typo: s/constraint_date/constraint_data/
   - 2008/06/30 12:15:39
     only pass channel requests on session channels through to the session
     channel handler, avoiding spurious log messages; ok! markus@
   - 2008/06/30 12:16:02
     only send notifications for session channels; ok! markus@
   - 2008/06/30 12:18:34
     clarify that is only sent on session channels
   - 2008/07/01 07:20:52
     Check ExitOnForwardFailure if forwardings are disabled due to a failed
     host key check.  ok djm@
   - 2008/07/01 07:24:22
     [sshconnect.c sshd.c]
     Send CR LF during protocol banner exchanges, but only for Protocol 2 only,
     in order to comply with RFC 4253.  bz #1443, ok djm@
   - 2008/07/01 23:12:47
     fix some typos; ok djm@
   - 2008/07/02 02:24:18
     [sshd_config sshd_config.5 sshd.8 servconf.c]
     increase default size of ssh protocol 1 ephemeral key from 768 to 1024
     bits; prodded by & ok dtucker@ ok deraadt@
   - 2008/07/02 12:03:51
     [auth-rsa.c auth.c auth2-pubkey.c auth.h]
     Merge duplicate host key file checks, based in part on a patch from Rob
     Holland via bz #1348 .  Also checks for non-regular files during protocol
     1 RSA auth.  ok djm@
   - 2008/07/02 12:36:39
     [auth2-none.c auth2.c]
     Make protocol 2 MaxAuthTries behaviour a little more sensible:
     Check whether client has exceeded MaxAuthTries before running
     an authentication method and skip it if they have, previously it
     would always allow one try (for "none" auth).
     Preincrement failure count before post-auth test - previously this
     checked and postincremented, also to allow one "none" try.
     Together, these two changes always count the "none" auth method
     which could be skipped by a malicious client (e.g. an SSH worm)
     to get an extra attempt at a real auth method. They also make
     MaxAuthTries=0 a useful way to block users entirely (esp. in a
     sshd_config Match block).
     Also, move sending of any preauth banner from "none" auth method
     to the first call to input_userauth_request(), so worms that skip
     the "none" method get to see it too.

 - (djm) OpenBSD CVS Sync
   - 2008/06/10 23:13:43
     [regress/Makefile regress/]
     Add regress test for key options.  ok djm@
   - 2008/06/11 23:11:40
     Don't run cipher-speed test by default; mistakenly enabled by me
   - 2008/06/28 13:57:25
     [regress/Makefile regress/ regress/]
     very basic regress test against Twisted Conch in "make interop"
     target (conch is available in ports/devel/py-twisted/conch);
     ok markus@
 - (djm) [regress/Makefile] search for conch by path, like we do putty

 - (djm) OpenBSD CVS Sync
   - 2008/06/21 07:46:46
     use optopt to get invalid flag, instead of return value of getopt,
     which is always '?';  ok djm@
   - 2008/06/25 11:13:43
     add key length to visual fingerprint; zap magical constants;
     ok grunk@ djm@
   - 2008/06/26 06:10:09
     [sftp-client.c sftp-server.c]
     allow the sftp chmod(2)-equivalent operation to set set[ug]id/sticky
     bits. Note that this only affects explicit setting of modes (e.g. via
     sftp(1)'s chmod command) and not file transfers. (bz#1310)
     ok deraadt@ at c2k8
   - 2008/06/26 09:19:40
     [dh.c dh.h moduli.c]
     when loading moduli from /etc/moduli in sshd(8), check that they
     are of the expected "safe prime" structure and have had
     appropriate primality tests performed;
     feedback and ok dtucker@
   - 2008/06/26 11:46:31
     [readconf.c readconf.h ssh.1 ssh_config.5 sshconnect.c]
     Move SSH Fingerprint Visualization away from sharing the config option
     CheckHostIP to an own config option named VisualHostKey.
     While there, fix the behaviour that ssh would draw a random art picture
     on every newly seen host even when the option was not enabled.
     prodded by deraadt@, discussions,
     help and ok markus@ djm@ dtucker@
   - 2008/06/26 21:11:46
     add VisualHostKey to the list of options listed in -o;
   - 2008/06/28 07:25:07
     spelling fixes
   - 2008/06/28 13:58:23
     refuse to add a key that has unknown constraints specified;
     ok markus
   - 2008/06/28 14:05:15
     reset global compat flag after processing a protocol 2 signature
     request with the legacy DSA encoding flag set; ok markus
   - 2008/06/28 14:08:30
     document the protocol used by ssh-agent; "looks ok" markus@

 - (djm) [RFC.nroff contrib/cygwin/Makefile contrib/suse/openssh.spec]
   RFC.nroff lacks a license, remove it (it is long gone in OpenBSD).

 - (djm) [ moduli.5] Include moduli(5) manpage from OpenBSD.
 - (djm) [ contrib/caldera/openssh.spec contrib/redhat/openssh.spec]
   [contrib/suse/openssh.spec] Include moduli.5 in RPM spec files.

 - (dtucker) OpenBSD CVS Sync
   - 2008/06/16 13:22:53
     [session.c channels.c]
     Rename the isatty argument to is_tty so we don't shadow
     isatty(3).  ok markus@
 - (dtucker) [channels.c] isatty -> is_tty here too.

 - (dtucker) [] Enable -fno-builtin-memset when using gcc.
 - OpenBSD CVS Sync
   - 2008/06/14 15:49:48
     wrap long line at 80 chars
   - 2008/06/14 17:07:11
     ensure default umask disallows at least group and world write; ok djm@
   - 2008/06/14 18:33:43
     suppress the warning message from chdir(homedir) failures
     when chrooted (bz#1461); ok dtucker
   - 2008/06/14 19:42:10
     Mention that scp follows symlinks during -r.  bz #1466,
     from nectar at apple
   - 2008/06/15 16:55:38
     MaxSessions is allowed in a Match block too
   - 2008/06/15 16:58:40
     [servconf.c sshd_config.5]
     Allow MaxAuthTries within a Match block.  ok djm@
   - 2008/06/15 20:06:26
     [channels.c channels.h session.c]
     don't call isatty() on a pty master, instead pass a flag down to
     channel_set_fds() indicating that te fds refer to a tty. Fixes a
     hang on exit on Solaris (bz#1463) in portable but is actually
     a generic bug; ok dtucker deraadt markus

 - (djm) [openbsd-compat/sigact.c] Avoid NULL derefs in ancient sigaction
   replacement code; patch from ighighi AT in bz#1240;
   ok dtucker

 - (dtucker) OpenBSD CVS Sync
   - 2008/06/13 09:44:36
     compile on older gcc; no decl after code
   - 2008/06/13 13:56:59
     Clear key options in the monitor on failed authentication, prevents
     applying additional restrictions to non-pubkey authentications in
     the case where pubkey fails but another method subsequently succeeds.
     bz #1472, found by Colin Watson, ok markus@ djm@
   - 2008/06/13 14:18:51
     [auth2-pubkey.c auth-rhosts.c]
     Include unistd.h for close(), prevents warnings in -portable
   - 2008/06/13 17:21:20
     Friendlier error messages for mux fallback.  ok djm@
   - 2008/06/13 18:55:22
     Prevent -Wsign-compare warnings on LP64 systems.  bz #1192, ok deraadt@
   - 2008/06/13 20:13:26
     Explain the use of SSH fpr visualization using random art, and cite the
     original scientific paper inspiring that technique.
     Much help with English and nroff by jmc@, thanks.
 - (dtucker) [] Bug #1276: avoid linking against libgssapi, which
   despite its name doesn't seem to implement all of GSSAPI.  Patch from
   Jan Engelhardt, sanity checked by Simon Wilkinson.

 - (dtucker) OpenBSD CVS Sync
   - 2008/06/11 07:30:37
     kill trailing whitespace;
   - 2008/06/11 21:01:35
     [ssh_config.5 key.h readconf.c readconf.h ssh-keygen.1 ssh-keygen.c key.c
     Introduce SSH Fingerprint ASCII Visualization, a technique inspired by the
     graphical hash visualization schemes known as "random art", and by
     Dan Kaminsky's musings on the subject during a BlackOp talk at the
     23C3 in Berlin.
     Scientific publication (original paper):
     "Hash Visualization: a New Technique to improve Real-World Security",
     Perrig A. and Song D., 1999, International Workshop on Cryptographic
     Techniques and E-Commerce (CrypTEC '99)
     The algorithm used here is a worm crawling over a discrete plane,
     leaving a trace (augmenting the field) everywhere it goes.
     Movement is taken from dgst_raw 2bit-wise.  Bumping into walls
     makes the respective movement vector be ignored for this turn,
     thus switching to the other color of the chessboard.
     Graphs are not unambiguous for now, because circles in graphs can be
     walked in either direction.
     discussions with several people,
     help, corrections and ok markus@ djm@
   - 2008/06/11 21:38:25
     ssh-keygen -lv -f /etc/ssh/
     would not display you the random art as intended, spotted by canacar@
   - 2008/06/11 22:20:46
     [ssh-keygen.c ssh-keygen.1]
     ssh-keygen would write fingerprints to STDOUT, and random art to STDERR,
     that is not how it was envisioned.
     Also correct manpage saying that -v is needed along with -l for it to work.
     spotted by naddy@
   - 2008/06/11 23:02:22
     simpler way of computing the augmentations; ok grunk@
   - 2008/06/11 23:03:56
     CheckHostIP set to ``fingerprint'' will display both hex and random art
     spotted by naddy@
   - 2008/06/11 23:51:57
     #define statements that are not atoms need braces around them, else they
     will cause trouble in some cases.
     Also do a computation of -1 once, and not in a loop several times.
     spotted by otto@
   - 2008/06/12 00:03:49
     [dns.c canohost.c sshconnect.c]
     Do not pass "0" strings as ports to getaddrinfo because the lookups
     can slow things down and we never use the service info anyway. bz
     #859, patch from YOSHIFUJI Hideaki and John Devitofranceschi.  ok
     deraadt@ djm@
     djm belives that the reason for the "0" strings is to ensure that
     it's not possible to call getaddrinfo with both host and port being
     NULL.  In the case of canohost.c host is a local array.  In the
     case of sshconnect.c, it's checked for null immediately before use.
     In dns.c it ultimately comes from ssh.c:main() and is guaranteed to
     be non-null but it's not obvious, so I added a warning message in
     case it is ever passed a null.
   - 2008/06/12 00:13:55
     Make ssh print the random art also when ssh'ing to a host using IP only.
     spotted by naddy@, ok and help djm@ dtucker@
   - 2008/06/12 00:13:13
     use an odd number of rows and columns and a separate start marker, looks
     better; ok grunk@
   - 2008/06/12 03:40:52
     [clientloop.h mux.c channels.c clientloop.c channels.h]
     Enable ~ escapes for multiplex slave sessions; give each channel
     its own escape state and hook the escape filters up to muxed
     channels. bz #1331
     Mux slaves do not currently support the ~^Z and ~& escapes.
     NB. this change cranks the mux protocol version, so a new ssh
     mux client will not be able to connect to a running old ssh
     mux master.
     ok dtucker@
   - 2008/06/12 04:06:00
     [clientloop.h ssh.c clientloop.c]
     maintain an ordered queue of outstanding global requests that we
     expect replies to, similar to the per-channel confirmation queue.
     Use this queue to verify success or failure for remote forward
     establishment in a race free way.
     ok dtucker@
   - 2008/06/12 04:17:47
     thall shalt not code past the eightieth column
   - 2008/06/12 04:24:06
     thal shalt not code past the eightieth column
   - 2008/06/12 05:15:41
     document forwarding method
   - 2008/06/12 05:32:30
     some more TODO for me
   - 2008/06/12 05:42:46
     supply the key type (rsa1, rsa, dsa) as a caption in the frame of the
     random art.  while there, stress the fact that the field base should at
     least be 8 characters for the pictures to make sense.
     comment and ok djm@
   - 2008/06/12 06:32:59
     We already mark the start of the worm, now also mark the end of the worm
     in our random art drawings.
     ok djm@
   - 2008/06/12 15:19:17
     [clientloop.h channels.h clientloop.c channels.c mux.c]
     The multiplexing escape char handler commit last night introduced a
     small memory leak per session; plug it.
   - 2008/06/12 16:35:31
     [ssh_config.5 ssh.c]
     keyword expansion for localcommand.  ok djm@
   - 2008/06/12 19:10:09
     [ssh_config.5 ssh-keygen.1]
     tweak the ascii art text; ok grunk
   - 2008/06/12 20:38:28
     [sshd.c sshconnect.c packet.h misc.c misc.h packet.c]
     Make keepalive timeouts apply while waiting for a packet, particularly
     during key renegotiation (bz #1363).  With djm and Matt Day, ok djm@
   - 2008/06/12 20:47:04
     print extension revisions for extensions that we understand
   - 2008/06/12 21:06:25
     I was coalescing expected global request confirmation replies at
     the wrong end of the queue - fix; prompted by markus@
   - 2008/06/12 21:14:46
     make ssh-keygen -lf show the key type just as ssh-add -l would do it
     ok djm@ markus@
   - 2008/06/12 22:03:36
     add my copyright, ok djm@
   - 2008/06/12 23:24:58
     tweak wording in message, ok deraadt@ jmc@
   - 2008/06/13 00:12:02
     [sftp.h log.h]
     replace __dead with __attribute__((noreturn)), makes things
     a little easier to port.  Also, add it to sigdie().  ok djm@
   - 2008/06/13 00:16:49
     fall back to creating a new TCP connection on most multiplexing errors
     (socket connect fail, invalid version, refused permittion, corrupted
     messages, etc.); bz #1329 ok dtucker@
   - 2008/06/13 00:47:53
     upcast size_t to u_long to match format arg; ok djm@
   - 2008/06/13 00:51:47
     upcast another size_t to u_long to match format
   - 2008/06/13 01:38:23
     upcast uid to long with matching %ld, prevents warnings in portable
   - 2008/06/13 04:40:22
     [auth2-pubkey.c auth-rhosts.c]
     refuse to read ~/.shosts or ~/.ssh/authorized_keys that are not
     regular files; report from Solar Designer via Colin Watson in bz#1471
     ok dtucker@ deraadt
  - (dtucker) [clientloop.c serverloop.c]  channel_register_filter now
    takes 2 more args.  with djm@
  - (dtucker) [defines.h] Bug #1112: __dead is, well dead. Based on a patch
    from Todd Vierling.
  - (dtucker) [auth-sia.c] Bug #1241: support password expiry on Tru64 SIA
    systems.  Patch from R. Scott Bailey.
  - (dtucker) [umac.c] STORE_UINT32_REVERSED and endian_convert are never used
    on big endian machines, so ifdef them for little-endian only to prevent
    unused function warnings on big-endians.
  - (dtucker) [openbsd-compat/setenv.c] Make offsets size_t to prevent
    compiler warnings on some platforms.  Based on a discussion with otto@

 - (djm) [channels.c]
   Do not set SO_REUSEADDR on wildcard X11 listeners (X11UseLocalhost=no)
   bz#1464; ok dtucker 

 - (dtucker) OpenBSD CVS Sync
   - 2008/06/10 03:57:27
     [servconf.c match.h sshd_config.5]
     support CIDR address matching in sshd_config "Match address" blocks, with
     full support for negation and fall-back to classic wildcard matching.
     For example:
     Match address,3ffe:ffff::/32,!10.*
         PasswordAuthentication yes
     addrmatch.c code mostly lifted from flowd's addr.c
     feedback and ok dtucker@
   - 2008/06/10 04:17:46
     better reference for pattern-list
   - 2008/06/10 04:50:25
     [sshd.c channels.h channels.c log.c servconf.c log.h servconf.h sshd.8]
     Add extended test mode (-T) and connection parameters for test mode (-C).
     -T causes sshd to write its effective configuration to stdout and exit.
     -C causes any relevant Match rules to be applied before output.  The
     combination allows tesing of the parser and config files.  ok deraadt djm
   - 2008/06/10 07:12:00
     tweak previous;
   - 2008/06/10 08:17:40
     [sshd.8 sshd.c]
     - update usage()
     - fix SYNOPSIS, and sort options
     - some minor additional fixes
   - 2008/06/09 18:06:32
     Don't generate putty keys if we're not going to use them.  ok djm
   - 2008/06/10 05:23:32
     [regress/ regress/Makefile]
     Regress test for Match CIDR rules.  ok djm@
   - 2008/06/10 15:21:41
     Use a more portable construct for checking if we're running a putty test
   - 2008/06/10 15:28:49
     Add quotes
   - 2008/06/10 18:21:24
     clarify that Host patterns are space-separated.  ok deraadt
   - 2008/06/10 22:15:23
     [PROTOCOL ssh.c serverloop.c]
     Add a global request extension that the
     client sends when it knows that it will never request another session
     (i.e. when session multiplexing is disabled). This allows a server to
     disallow further session requests and terminate the session.
     Why would a non-multiplexing client ever issue additional session
     requests? It could have been attacked with something like SSH'jack:
     feedback & ok markus
   - 2008/06/10 23:06:19
     [auth-options.c match.c servconf.c addrmatch.c sshd.8]
     support CIDR address matching in .ssh/authorized_keys from="..." stanzas
     ok and extensive testing dtucker@
   - 2008/06/10 23:21:34
     Use '\0' for a nul byte rather than unadorned 0.  ok djm@
   - 2008/06/10 23:13:43
     [Makefile regress/]
     Add regress test for key options.  ok djm@
 - (dtucker) [openbsd-compat/fake-rfc2553.h] Add sin6_scope_id to sockaddr_in6
   since the new CIDR code in addmatch.c references it.
 - (dtucker) [ regress/] Skip IPv6
   specific tests on platforms that don't do IPv6.
 - (dtucker) [] Define TEST_SSH_IPV6 in make's arguments as well
   as environment.
 - (dtucker) [] Move addrmatch.o to libssh.a where it's needed now.

 - (dtucker) OpenBSD CVS Sync
   - 2008/06/08 17:04:41
     Add case for ENOSYS in errno_to_portable; ok deraadt
   - 2008/06/08 20:15:29
     [sftp.c sftp-client.c sftp-client.h]
     Have the sftp client store the statvfs replies in wire format,
     which prevents problems when the server's native sizes exceed the
     Also extends the sizes of the remaining 32bit wire format to 64bit,
     they're specified as unsigned long in the standard.
   - 2008/06/09 13:02:39
     Extend 32bit -> 64bit values for statvfs extension missed in previous
   - 2008/06/09 13:38:46
     Use a $OpenBSD tag so our scripts will sync changes.

 - (dtucker) [ defines.h sftp-client.c sftp-server.c sftp.c
   openbsd-compat/ openbsd-compat/openbsd-compat.h
   openbsd-compat/bsd-statvfs.{c,h}] Add a null implementation of statvfs and
   fstatvfs and remove #defines around statvfs code.  ok djm@
 - (dtucker) [ defines.h sftp-client.c M sftp-server.c] Add a
   macro to convert fsid to unsigned long for platforms where fsid is a
   2-member array.

 - (dtucker) [mux.c] Include paths.h inside ifdef HAVE_PATHS_H.
 - (dtucker) [ defines.h sftp-client.c sftp-server.c sftp.c]
   Do not enable statvfs extensions on platforms that do not have statvfs.
 - (dtucker) OpenBSD CVS Sync
   - 2008/05/19 06:14:02
     [packet.c] unbreak protocol keepalive timeouts bz#1465; ok dtucker@
   - 2008/05/19 15:45:07
     [sshtty.c ttymodes.c sshpty.h]
     Fix sending tty modes when stdin is not a tty (bz#1199). Previously
     we would send the modes corresponding to a zeroed struct termios,
     whereas we should have been sending an empty list of modes.
     Based on patch from daniel.ritz AT; ok dtucker@ markus@
   - 2008/05/19 15:46:31
     support -l (print fingerprint) in combination with -F (find host) to
     search for a host in ~/.ssh/known_hosts and display its fingerprint;
     ok markus@
   - 2008/05/19 20:53:52
     unbreak tree by committing this bit that I missed from:
     Fix sending tty modes when stdin is not a tty (bz#1199). Previously
     we would send the modes corresponding to a zeroed struct termios,
     whereas we should have been sending an empty list of modes.
     Based on patch from daniel.ritz AT; ok dtucker@ markus@ 

 - (djm) [openbsd-compat/bsd-arc4random.c] Fix math bug that caused bias
   in arc4random_uniform with upper_bound in (2^30,2*31). Note that 
   OpenSSH did not make requests with upper bounds in this range.

 - (djm) [ mux.c sftp.c openbsd-compat/]
   [openbsd-compat/fmt_scaled.c openbsd-compat/openbsd-compat.h]
   Fix compilation on Linux, including pulling in fmt_scaled(3)
   implementation from OpenBSD's libutil.

 - (djm) OpenBSD CVS Sync
   - 2008/04/04 05:14:38
     ChrootDirectory is supported in Match blocks (in fact, it is most useful
     there). Spotted by Minstrel AT
   - 2008/04/04 06:44:26
     oops, some unrelated stuff crept into that commit - backout.
     spotted by jmc@
   - 2008/04/05 02:46:02
     HostbasedAuthentication is supported under Match too
 - (djm) [openbsd-compat/bsd-arc4random.c openbsd-compat/openbsd-compat.c]
     [] Implement arc4random_buf(), import implementation of
     arc4random_uniform() from OpenBSD
 - (djm) [openbsd-compat/bsd-arc4random.c] Warning fixes
 - (djm) [openbsd-compat/port-tun.c] needs sys/queue.h
 - (djm) OpenBSD CVS Sync
   - 2008/04/13 00:22:17
     [dh.c sshd.c]
     Use arc4random_buf() when requesting more than a single word of output
     Use arc4random_uniform() when the desired random number upper bound
     is not a power of two
     ok deraadt@ millert@
   - 2008/04/18 12:32:11
     [sftp-client.c sftp-client.h sftp-server.c sftp.1 sftp.c sftp.h]
     introduce sftp extension methods and that implement statvfs(2)-like operations,
     based on a patch from miklos AT (bz#1399)
     also add a "df" command to the sftp client that uses the to produce a df(1)-like display of filesystem
     space and inode utilisation
     ok markus@
   - 2008/04/18 17:15:47
     macro fixage;
   - 2008/04/18 22:01:33
     remove unneccessary parentheses
   - 2008/04/29 11:20:31
     garbage collect two unused fields in struct mm_master; ok markus@
   - 2008/04/30 10:14:03
     [ssh-keyscan.1 ssh-keyscan.c]
     default to rsa (protocol 2) keys, instead of rsa1 keys; spotted by
     larsnooden AT
   - 2008/05/07 05:49:37
     [servconf.c servconf.h session.c sshd_config.5]
     Enable the AllowAgentForwarding option in sshd_config (global and match
     context), to specify if agents should be permitted on the server.
     As the man page states:
     ``Note that disabling Agent forwarding does not improve security
     unless users are also denied shell access, as they can always install
     their own forwarders.''
     ok djm@, ok and a mild frown markus@
   - 2008/05/07 06:43:35
     push the sshd_config bits in, spotted by ajacoutot@
   - 2008/05/07 08:00:14
   - 2008/05/08 06:59:01
     [bufaux.c buffer.h channels.c packet.c packet.h]
     avoid extra malloc/copy/free when receiving data over the net;
     ~10% speedup for localhost-scp; ok djm@
   - 2008/05/08 12:02:23
     [auth-options.c auth1.c channels.c channels.h clientloop.c gss-serv.c]
     [monitor.c monitor_wrap.c nchan.c servconf.c serverloop.c session.c]
     [ssh.c sshd.c]
     Implement a channel success/failure status confirmation callback
     mechanism. Each channel maintains a queue of callbacks, which will
     be drained in order (RFC4253 guarantees confirm messages are not
     reordered within an channel).
     Also includes a abandonment callback to clean up if a channel is
     closed without sending confirmation messages. This probably
     shouldn't happen in compliant implementations, but it could be
     abused to leak memory.
     ok markus@ (as part of a larger diff)
   - 2008/05/08 12:21:16
     [monitor.c monitor_wrap.c session.h servconf.c servconf.h session.c]
     [sshd_config sshd_config.5]
     Make the maximum number of sessions run-time controllable via
     a sshd_config MaxSessions knob. This is useful for disabling
     login/shell/subsystem access while leaving port-forwarding working
     (MaxSessions 0), disabling connection multiplexing (MaxSessions 1) or
     simply increasing the number of allows multiplexed sessions.
     Because some bozos are sure to configure MaxSessions in excess of the
     number of available file descriptors in sshd (which, at peak, might be
     as many as 9*MaxSessions), audit sshd to ensure that it doesn't leak fds
     on error paths, and make it fail gracefully on out-of-fd conditions -
     sending channel errors instead of than exiting with fatal().
     bz#1090; MaxSessions config bits and manpage from junyer AT
     ok markus@
   - 2008/05/08 13:06:11
     [clientloop.c clientloop.h ssh.c]
     Use new channel status confirmation callback system to properly deal
     with "important" channel requests that fail, in particular command exec,
     shell and subsystem requests. Previously we would optimistically assume
     that the requests would always succeed, which could cause hangs if they
     did not (e.g. when the server runs out of fds) or were unimplemented by
     the server (bz #1384)
     Also, properly report failing multiplex channel requests via the mux
     client stderr (subject to LogLevel in the mux master) - better than
     silently failing.
     most bits ok markus@ (as part of a larger diff)
   - 2008/05/09 04:55:56
     [channels.c channels.h clientloop.c serverloop.c]
     Try additional addresses when connecting to a port forward destination
     whose DNS name resolves to more than one address. The previous behaviour
     was to try the first address and give up.
     Reported by stig AT in bz#343
     great feedback and ok markus@
   - 2008/05/09 14:18:44
     [clientloop.c clientloop.h ssh.c mux.c]
     tidy up session multiplexing code, moving it into its own file and
     making the function names more consistent - making ssh.c and
     clientloop.c a fair bit more readable.
     ok markus@
   - 2008/05/09 14:26:08
     dingo stole my diff hunk
   - 2008/05/09 16:16:06
     re-add the USE_PIPES code and enable it.
     without pipes shutdown-read from the sshd does not trigger
     a SIGPIPE when the forked program does a write.
     ok djm@
     (Id sync only, USE_PIPES never left portable OpenSSH)
   - 2008/05/09 16:17:51
     error-fd race: don't enable the error fd in the select bitmask
     for channels with both in- and output closed, since the channel
     will go away before we call select();
     report, lots of debugging help and ok djm@
   - 2008/05/09 16:21:13
     [channels.h clientloop.c nchan.c serverloop.c]
        ssh -2 localhost od /bin/ls | true
     ignoring SIGPIPE by adding a new channel message (EOW) that signals
     the peer that we're not interested in any data it might send.
     fixes bz #85; discussion, debugging and ok djm@
   - 2008/05/12 20:52:20
     Ensure nh_result lies on a 64-bit boundary (fixes warnings observed
     on Itanium on Linux); from Dale Talcott (bug #1462); ok djm@
   - 2008/05/15 23:52:24
     document eow message in ssh protocol 2 channel state machine;
     feedback and ok markus@
   - 2008/05/18 21:29:05
     comment extension announcement
   - 2008/05/16 08:30:42
     document our protocol extensions and deviations; ok markus@
   - 2008/05/17 01:31:56
     grammar and correctness fixes from stevesk@

 - (djm) [openbsd-compat/bsd-poll.c] Include stdlib.h to avoid compile-
   time warnings on LynxOS. Patch from ops AT
 - (djm) Force string arguments to replacement setproctitle() though
   strnvis first. Ok dtucker@

 - (djm) OpenBSD CVS sync:
   - 2008/04/02 15:36:51
     avoid possible hijacking of x11-forwarded connections (back out 1.183)
     CVE-2008-1483; ok djm@
   - 2008/03/27 22:37:57
     remove trailing whitespace;
   - 2008/04/03 09:50:14
 - (djm) [contrib/caldera/openssh.spec contrib/redhat/openssh.spec]
   [contrib/suse/openssh.spec] Crank version numbers in RPM spec files
 - (djm) [README] Update link to release notes
 - (djm) Release 5.0p1