Changes to update Tomato RAF.
[tomato.git] / release / src / router / dropbear / CHANGES
blob3e14bad50445d60c24911dc813c0d87d9180d16a
1 2012.55 - Wednesday 22 February 2012
3 - Security: Fix use-after-free bug that could be triggered if command="..."
4   authorized_keys restrictions are used.  Could allow arbitrary code execution
5   or bypass of the command="..." restriction to an authenticated user.
6   This bug affects releases 0.52 onwards. Ref CVE-2012-0920.
7   Thanks to Danny Fullerton of Mantor Organization for reporting
8   the bug.
10 - Compile fix, only apply IPV6 socket options if they are available in headers
11   Thanks to Gustavo Zacarias for the patch
13 - Overwrite session key memory on exit
15 - Fix minor memory leak in unusual PAM authentication configurations.
16   Thanks to Stathis Voukelatos
18 - Other small code cleanups
20 2011.54 - Tuesday 8 November 2011
22 - Building statically works again, broke in 0.53 and 0.53.1
24 - Fix crash when forwarding with -R
26 - Fixed various leaks found by Klocwork analysis software, thanks to them for
27   running it
29 - Set IPTOS_LOWDELAY for IPv6, thanks to Dave Taht
31 - Bind to sockets with IPV6_V6ONLY so that it works properly on systems
32   regardless of the system-wide setting
34 - Added ALLOW_BLANK_PASSWORD option. Dropbear also now allows public key logins
35   to accounts with a blank password. Thanks to Rob Landley
37 - Fixed case where "-K 1" keepalive for dbclient would cause a SSH_MSG_IGNORE
38   packet to be sent
40 - Avoid some memory allocations in big number maths routines, improves
41   performance slightly
43 - Fix symlink target for installdropbearmulti with DESTDIR set, thanks to
44   Scottie Shore
46 - When requesting server allocated remote ports (-R 0:host:port) print a
47   message informing what the port is, thanks to Ali Onur Uyar.
49 - New version numbering scheme.
51 Source repository has now migrated to Mercurial at 
52 https://secure.ucc.asn.au/hg/dropbear/graph/default
54 0.53.1 - Wednesday 2 March 2011
56 - -lcrypt needs to be before object files for static linking
58 - Compile fix when both client and agent forwarding are disabled
60 - Fix DROPBEAR_PRNGD_SOCKET mode
62 - Don't allow setting zlib memLevel since it seems buggy
64 0.53 - Thurs 24 February 2011
66 - Various performance/memory use improvements
68 - Client agent forwarding now works, using OpenSSH's ssh-agent
70 - Improve robustness of client multihop mode
72 - Fix a prime generation bug in bundled libtommath. This is unlikely to have
73   generated any bad keys in the wild.
74   See 
75   https://bugzilla.redhat.com/show_bug.cgi?id=615088
76   http://bugs.gentoo.org/show_bug.cgi?id=328383
77   http://bugs.gentoo.org/show_bug.cgi?id=328409
79 - Attempt to build against system libtomcrypt/libtommath if available. This
80   can be disabled with ./configure --enable-bundled-libtom
82 - Make -K (keepalive) and -I (idle timeout) work together sensibly in the client.
83   The idle timeout is no longer reset by SSH_MSG_IGNORE packets.
85 - Add diffie-hellman-group14-sha1 key exchange method
87 - Compile fix if ENABLE_CLI_PROXYCMD is disabled
89 - /usr/bin/X11/xauth is now the default path
91 - Client remote forward (-L/-R) arguments now accept a listen address
93 - In uClinux avoid trashing the parent process when a session exits
95 - Blowfish is now disabled by default since it has large memory usage
97 - Add option to change zlib windowbits/memlevel. Use less memory by default
99 - DROPBEAR_SMALL_CODE is now disabled by default
101 - SSH_ORIGINAL_COMMAND environment variable is set by the server when an
102   authorized_keys command is specified.
104 - Set SSH_TTY and SSH_CONNECTION environment variables in the server
106 - Client banner is now printed to standard error rather than standard output
108 - Capitalisation in many log messages has been made consistent. This may affect
109   scripts that parse logfiles.
111 0.52 - Wed 12 November 2008
113 - Add "netcat-alike" option (-B) to dbclient, allowing Dropbear to tunnel
114   standard input/output to a TCP port-forwarded remote host.
116 - Add "proxy command" support to dbclient, to allow using a spawned process for
117   IO rather than a direct TCP connection. eg
118           dbclient remotehost
119   is equivalent to
120           dbclient -J 'nc remotehost 22' remotehost
121   (the hostname is still provided purely for looking up saved host keys)
123 - Combine netcat-alike and proxy support to allow "multihop" connections, with
124   comma-separated host syntax.  Allows running
126           dbclient user1@host1,user2@host2,user3@host3
128   to end up at host3 via the other two, using SSH TCP forwarding. It's a bit
129   like onion-routing. All connections are established from the local machine.
130   The comma-separated syntax can also be used for scp/rsync, eg
132           rsync -a -e dbclient m@gateway,m2@host,martello:/home/matt/ ~/backup/
134   to bounce through a few hosts.
136 - Add -I "idle timeout" option (contributed by Farrell Aultman)
138 - Allow restrictions on authorized_keys logins such as restricting commands
139   to be run etc. This is a subset of those allowed by OpenSSH, doesn't
140   yet allow restricting source host.
142 - Use vfork() for scp on uClinux
144 - Default to PATH=/usr/bin:/bin for shells.
146 - Report errors if -R forwarding fails
148 - Add counter mode cipher support, which avoids some security problems with the
149   standard CBC mode.
151 - Support zlib@openssh.com delayed compression for client/server. It can be
152   required for the Dropbear server with the '-Z' option. This is useful for
153   security as it avoids exposing the server to attacks on zlib by
154   unauthenticated remote users, though requires client side support.
156 - options.h has been split into options.h (user-changable) and sysoptions.h
157   (less commonly changed)
159 - Support "dbclient -s sftp" to specify a subsystem
161 - Fix a bug in replies to channel requests that could be triggered by recent
162   versions of PuTTY
164 0.51 - Thu 27 March 2008
166 - Make a copy of password fields rather erroneously relying on getwpnam()
167   to be safe to call multiple times
169 - If $SSH_ASKPASS_ALWAYS environment variable is set (and $SSH_ASKPASS is
170   as well) always use that program, ignoring isatty() and $DISPLAY
172 - Wait until a process exits before the server closes a connection, so
173   that an exit code can be sent. This fixes problems with exit codes not
174   being returned, which could cause scp to fail.
176 0.50 - Wed 8 August 2007
178 - Add DROPBEAR_PASSWORD environment variable to specify a dbclient password
180 - Use /dev/urandom by default, since that's what everyone does anyway
182 - Correct vfork() use for uClinux in scp
183   (thanks to Alex Landau)
185 - Exit with an exit code of 1 if dropbear can't bind to any ports
186   (thanks to Nicolai Ehemann)
188 - Improve network performance and add a -W <receive_window> argument for
189   adjusting the tradeoff between network performance and memory consumption.
191 - Fix a problem where reply packets could be sent during key exchange,
192   in violation of the SSH spec. This could manifest itself with connections
193   being terminated after 8 hours with new TCP-forward connections being
194   established.
196 - Add -K <keepalive_time> argument, ensuring that data is transmitted
197   over the connection at least every N seconds.
199 - dropbearkey will no longer generate DSS keys of sizes other than 1024
200   bits, as required by the DSS specification. (Other sizes are still
201   accepted for use to provide backwards compatibility).
203 0.49 - Fri 23 February 2007
205 - Security: dbclient previously would prompt to confirm a 
206   mismatching hostkey but wouldn't warn loudly. It will now
207   exit upon a mismatch.
209 - Compile fixes, make sure that all variable definitions are at the start
210   of a scope.
212 - Added -P pidfile argument to the server (from Swen Schillig)
214 - Add -N dbclient option for "no command"
216 - Add -f dbclient option for "background after auth"
218 - Add ability to limit binding to particular addresses, use 
219   -p [address:]port, patch from Max-Gerd Retzlaff.
221 - Try to finally fix ss_family compilation problems (for old
222   glibc systems)
224 - Fix finding relative-path server hostkeys when running daemonized
226 - Use $HOME in preference to that from /etc/passwd, so that
227   dbclient can still work on broken systems.
229 - Fix various issues found by Klocwork defect analysis, mostly memory leaks
230   and error-handling. Thanks to Klocwork for their service.
232 - Improve building in a separate directory
234 - Add compile-time LOG_COMMANDS option to log user commands
236 - Add '-y' flag to dbclient to unconditionally accept host keys,
237   patch from Luciano Miguel Ferreira Rocha
239 - Return immediately for "sleep 10 & echo foo", rather than waiting
240   for the sleep to return (pointed out by Rob Landley).
241   
242 - Avoid hanging after exit in certain cases (such as scp)
244 - Various minor fixes, in particular various leaks reported by
245   Erik Hovland
246   
247 - Disable core dumps on startup
249 - Don't erase over every single buffer, since it was a bottleneck.
250   On systems where it really matters, encrypted swap should be utilised.
252 - Read /dev/[u]random only once at startup to conserve kernel entropy
254 - Upgrade to LibTomCrypt 1.16 and LibTomMath 0.40
256 - Upgrade config.status and config.guess 
258 0.48.1 - Sat 11 March 2006
260 - Compile fix for scp
262 0.48 - Thurs 9 March 2006
264 - Check that the circular buffer is properly empty before
265   closing a channel, which could cause truncated transfers
266   (thanks to Tomas Vanek for helping track it down)
268 - Implement per-IP pre-authentication connection limits 
269   (after some poking from Pablo Fernandez)
271 - Exit gracefully if trying to connect to as SSH v1 server 
272   (reported by Rushi Lala)
274 - Only read /dev/random once at startup when in non-inetd mode
276 - Allow ctrl-c to close a dbclient password prompt (may
277   still have to press enter on some platforms)
279 - Merged in uClinux patch for inetd mode
281 - Updated to scp from OpenSSH 4.3p2 - fixes a security issue
282   where use of system() could cause users to execute arbitrary
283   code through malformed filenames, ref CVE-2006-0225
285 0.47 - Thurs Dec 8 2005
287 - SECURITY: fix for buffer allocation error in server code, could potentially
288   allow authenticated users to gain elevated privileges. All multi-user systems
289   running the server should upgrade (or apply the patch available on the
290   Dropbear webpage).
292 - Fix channel handling code so that redirecting to /dev/null doesn't use
293   100% CPU.
295 - Turn on zlib compression for dbclient.
297 - Set "low delay" TOS bit, can significantly improve interactivity
298   over some links.
300 - Added client keyboard-interactive mode support, allows operation with
301   newer OpenSSH servers in default config.
303 - Log when pubkey auth fails because of bad ~/.ssh/authorized_keys permissions
305 - Improve logging of assertions
307 - Added aes-256 cipher and sha1-96 hmac.
309 - Fix twofish so that it actually works.
311 - Improve PAM prompt comparison.
313 - Added -g (dbclient) and -a (dropbear server) options to allow
314   connections to listening forwarded ports from remote machines.
316 - Various other minor fixes
318 - Compile fixes for glibc 2.1 (ss_family vs __ss_family) and NetBSD
319   (netinet/in_systm.h needs to be included).
321 0.46 - Sat July 9 2005
323 - Fix long-standing bug which caused connections to be closed if an ssh-agent
324   socket was no longer available
326 - Print a warning if we seem to be blocking on /dev/random 
327   (suggested by Paul Fox)
329 - Fixed a memory leak in DSS code (thanks to Boris Berezovsky for the patch)
331 - dbclient -L no longer segfaults, allocate correct buffer size (thanks
332   to David Cook for reporting it, and Christopher Faylor for independently
333   sending in a patch)
335 - Added RSA blinding to signing code (suggested by Dan Kaminsky)
337 - Rearranged bignum reading/random generation code
339 - Reset the non-blocking status on stderr and stdout as well as stdin,
340   fixes a problem where the shell running dbclient will exit (thanks to 
341   Brent Roman for reporting it)
343 - Fix so that all file descriptors are closed so the child shell doesn't
344   inherit descriptors (thanks to Linden May for the patch)
346 - Change signkey.c to avoid gcc 4 generating incorrect code
348 - After both sides of a file descriptor have been shutdown(), close()
349   it to avoid leaking descriptors (thanks to Ari Hyttinen for a patch)
351 - Update to LibTomCrypt 1.05 and LibTomMath 0.35
353 0.45 - Mon March 7 2005
355 - Makefile no longer appends 'static' to statically linked binaries
357 - Add optional SSH_ASKPASS support to the client
359 - Respect HOST_LOOKUP option
361 - Fix accidentally removed "return;" statement which was removed in 0.44
362   (causing clients which sent an empty terminal-modes string to fail to
363   connect - including pssh, ssh.com, danger hiptop). (patches
364   independently from Paul Fox, David Horwitt and Sven-Ola Tuecke)
366 - Read "y/n" response for fingerprints from /dev/tty directly so that dbclient
367   will work with scp.
369 0.44 - Mon Jan 3 2005
371 - SECURITY: Fix for PAM auth so that usernames are logged and conversation
372   function responses are allocated correctly - all 0.44test4 users with PAM
373   compiled in (not default) are advised to upgrade.
375 - Fix calls to getnameinfo() for compatibility with Solaris
377 - Pristine compilation works (run 'configure' from a fresh dir and make it
378   there)
380 - Fixes for compiling with most options disabled.
382 - Upgraded to LibTomCrypt 0.99 and LibTomMath 0.32
384 - Make sure that zeroing out of values in LTM and LTC won't get optimised away
386 - Removed unused functions from loginrec.c
388 - /dev/random is now the default entropy source rather than /dev/urandom
390 - Logging of IPs in auth success/failure messages for improved greppability
392 - Fix dbclient so that "scp -i keyfile" works. (It can handle "-ikeyfile
393   properly)
395 - Avoid a race in server shell-handling code which prevents the exit-code
396   from being returned to the client in some circumstances.
398 - Makefile modified so that install target works correctly (doesn't try
399   to install "all" binary) - patch from Juergen Daubert
401 - Various minor fixes and compile warnings.
403 0.44test4 - Tue Sept 14 2004 21:15:54 +0800
405 - Fix inetd mode so it actually loads the hostkeys (oops)
407 - Changed DROPBEAR_DEFPORT properly everywhere
409 - Fix a small memory leak in the auth code
411 - WCOREDUMP is only used on systems which support it (ie not cygwin or AIX)
413 - Check (and fail for) cases when we can't negotiate algorithms with the
414   remote side successfully (rather than bombing out ungracefully)
416 - Handle authorized_keys files without a terminating newline
418 - Fiddle the channel receive window size for possibly better performance
420 - Added in the PAM authentication code (finally! thanks to Martin Carlsson)
422 0.44test3 - Fri Aug 27 22:20:54 +0800
424 - Fixed a bunch of warnings.
426 - scp works correctly when passed a username (fix for the dbclient program
427   itself as well, "-lmatt" works as well as "-l matt").
429 - Remove unrequired debian files
431 - Exit with the remote process's return code for dbclient
433 - Display stderr messages from the server in the client
435 - Add circular buffering to the channel code. This should dramatically reduce
436   the amount of backtraffic sent in response to traffic incoming to the
437   Dropbear end - improves high-latency performance (ie dialup).
439 - Various other related channel-handling fixups.
441 - Allow leading lines in the banner when connecting to servers
443 - Fixed printing out errors onto the network socket with stderr (for inetd
444   mode when using xinetd)
446 - Remove obselete documentation
448 - Fix a null-pointer exception when trying to free non-existant listeners
449   at cleanup.
451 - DEBUG_TRACE now only works if you add "-v" to the program commandline
453 - Don't leave stdin non-blocking on exit - this caused the parent shell
454   of dbclient to close when dbclient exited, for some shells in BusyBox
456 - Server connections no longer timeout after 5 minutes
458 - Fixed stupid DSS hostkey typo (server couldn't load host keys)
460 0.44test2 - Tues Aug 17 2004 17:43:54 +0800
462 - Fix up dropbearmulti targets in the Makefile - symlinks are now created
464 - Compile fake-rfc2553 even with dropbearconvert/dropbearkey - this 
465   allows them to work on platforms without a native getaddrinfo()
467 - Create ~/.ssh/known_hosts properly if it doesn't exist
469 - Fix basename() function prototype
471 - Backport some local changes (more #ifdefs for termcodes.c, a fix for missing
472   defines on AIX).
474 - Let dbclient be run as "ssh"
476 - Initialise mp_ints by default
478 0.44test1 - Sun Aug 16 2005 17:43:54 +0800
480 - TESTING RELEASE - this is the first public release of the client codebase,
481   so there are sure to be bugs to be found. In addition, if you're just using
482   the server portion, the final binary size probably will increase - I'll
483   be trying to get it back down in future releases.
485 - Dropbear client added - lots of changes to the server code as well to 
486   generalise things
488 - IPv6 support added for client, server, and forwarding
490 - New makefile with more generic support for multiple-program binaries
492 0.43 - Fri Jul 16 2004 17:44:54 +0800
494 - SECURITY: Don't try to free() uninitialised variables in DSS verification
495   code. Thanks to Arne Bernin for pointing out this bug. This is possibly
496   exploitable, all users with DSS and pubkey-auth compiled in are advised to
497   upgrade.
499 - Clean up agent forwarding socket files correctly, patch from Gerrit Pape.
501 - Don't go into an infinite loop when portforwarding to servers which don't
502   send any initial data/banner. Patch from Nikola Vladov
504 - Fix for network vs. host byte order in logging remote TCP ports, also
505   from Gerrit Pape.
507 - Initialise many pointers to NULL, for general safety. Also checked cleanup
508   code for mp_ints (related to security issues above).
510 0.42 - Wed Jun 16 2004 12:44:54 +0800
512 - Updated to Gerrit Pape's official Debian subdirectory
514 - Fixed bad check when opening /dev/urandom - thanks to Danny Sung.
516 - Added -i inetd mode flag, and associated options in options.h . Dropbear
517   can be compiled with either normal mode, inetd, or both modes. Thanks
518   to Gerrit Pape for basic patch and motivation.
520 - Use <dirent.h> rather than <sys/dir.h> for POSIX compliance. Thanks to Bill
521   Sommerfield.
523 - Fixed a TCP forwarding (client-local, -L style) bug which caused the whole
524   session to close if the TCP connection failed. Thanks to Andrew Braund for
525   reporting it and helping track it down.
527 - Re-enable sigpipe for child processes. Thanks to Gerrit Pape for some
528   suggestions, and BSD manpages for a clearer explanation of the behaviour.
530 - Added manpages, thanks to Gerrit Pape.
532 - Changed license text for LibTomCrypt and LibTomMath.
534 - Added strip-static target
536 - Fixed a bug in agent-forwarding cleanup handler - would segfault
537   (dereferencing a null pointer) if agent forwarding had failed.
539 - Fix behaviour of authorized_keys parsing, so larger (>1024 bit) DSA keys will
540   work. Thanks to Dr. Markus Waldeck for the report. 
542 - Fixed local port forwarding code so that the "-j" option will make forwarding
543   attempts fail more gracefully.
545 - Allow repeated requests in a single session if previous ones fail - this fixes  PuTTY and some other SCP clients, which try SFTP, then fall-back to SCP if it
546   isn't available. Thanks to Stirling Westrup for the report.
548 - Updated to LibTomCrypt 0.96 and LibTomMath 0.30. The AES code now uses
549   smaller non-precomputed tables if DROPBEAR_SMALL_CODE is defined in
550   options.h, leading to a significant reduction in the binary size.
552 0.41 - Mon Jan 19 2004 22:40:19 +0800
554 - Fix in configure so that cross-compiling works, thanks to numerous people for
555   reporting and testing
557 - Terminal mode parsing now handles empty terminal mode strings (sent by
558   Windows ssh.com clients), thanks to Ricardo Derbes for the report
560 - Handling is improved for users with no shell specified in /etc/passwd,
561   thanks again to Ricardo Derbes
563 - Fix for compiling with --disable-syslog, thanks to gordonfh
565 - Various minor fixes allow scp to work with irix, thanks to Paul Marinceu for
566   fixing it up
568 - Use <stropts.h> not <sys/stropts.h>, since the former seems more common
570 0.40 - Tue Jan 13 2004 21:05:19 +0800
572 - Remote TCP forwarding (-R) style implemented
574 - Local and remote TCP forwarding can each be disabled at runtime (-k and -j
575   switches)
577 - Fix for problems detecting openpty() with uClibc - many thanks to various
578   people for reporting and testing fixes, including (in random order) Cristian
579   Ionescu-Idbohrn, James Ewing, Steve Dover, Thomas Lundquist and Frederic
580   Lavernhe
582 - Improved portability for IRIX, thanks to Paul Marinceu
584 - AIX and HPUX portability fixes, thanks to Darren Tucker for patches
586 - prngd should now work correctly, thanks to Darren Tucker for the patch
588 - scp compilation on systems without strlcpy() is fixed, thanks to Peter
589   Jannesen and David Muse for reporting it (independently and simultaneously :)
591 - Merged in new LibTomCrypt 0.92 and LibTomMath 0.28
593 0.39 - Tue Dec 16 2003 15:19:19 +0800
595 - Better checking of key lengths and parameters for DSS and RSA auth
597 - Print fingerprint of keys used for pubkey auth
599 - More consistent logging of usernames and IPs
601 - Added option to disable password auth (or just for root) at runtime
603 - Avoid including bignum functions which don't give much speed benefit but
604   take up binary size
606 - Added a stripped down version of OpenSSH's scp binary
608 - Added additional supporting functions for Irix, thanks to Paul Marinceu
610 - Don't check for unused libraries in configure script
612 - Removed trailing comma in algorithm lists (thanks to Mihnea Stoenescu)
614 - Fixed up channel close handling, always send close packet in response
615   (also thanks to Mihnea Stoenescu)
617 - Various makefile improvements for cross-compiling, thanks to Friedrich
618   Lobenstock and Mihnea Stoenescu
620 - Use daemon() function if available (or our own copy) rather than separate
621   code (thanks to Frédéric Lavernhe for the report and debugging, and Bernard
622   Blackham for his suggestion on what to look at)
624 - Fixed up support for first_kex_packet_follows, required to talk to ssh.com
625   clients. Thanks to Marian Stagarescu for the bug report.
627 - Avoid using MAXPATHLEN, pointer from Ian Morris
629 - Improved input sanity checking
631 0.38 - Sat Oct 11 2003 16:28:13 +0800
633 - Default hostkey path changed to /etc/dropbear/dropbear_{rsa,dss}_host_key
634   rather than /etc/dropbear_{rsa,dss}_host_key
636 - Added SMALL and MULTI text files which have info on compiling for multiple
637   binaries or small binaries
639 - Allow for commandline definition of some options.h settings
640   (without warnings)
642 - Be more careful handling EINTR
644 - More fixes for channel closing
646 - Added multi-binary support
648 - Improved logging of IPs, now get logged in all cases
650 - Don't chew cpu when waiting for version identification string, also
651   make sure that we kick off people if they don't auth within 5 minutes.
653 - Various small fixes, warnings etc
655 - Display MOTD if requested - suggested by
656   Trent Lloyd <lathiat at sixlabs.org> and
657   Zach White <zwhite at darkstar.frop.org>
659 - sftp support works (relies on OpenSSH sftp binary or similar)
661 - Added --disable-shadow option (requested by the floppyfw guys)
663 0.37 - Wed Sept 24 2003 19:42:12 +0800
665 - Various portability fixes, fixes for Solaris 9, Tru64 5.1, Mac OS X 10.2,
666   AIX, BSDs
668 - Updated LibTomMath to 0.27 and LibTomCrypt to 0.90
670 - Renamed util.{c,h} to dbutil.{c,h} to avoid conflicts with system util.h
672 - Added some small changes so it'll work with AIX (plus Linux Affinity).
673   Thanks to Shig for them.
675 - Improved the closing messages, so a clean exit is "Exited normally"
677 - Added some more robust integer/size checking in buffer.c as a backstop for
678   integer overflows
680 - X11 forwarding fixed for OSX, path for xauth changed to /usr/X11R6/bin/xauth
682 - Channel code handles closing more nicely, doesn't sit waiting for an extra
683   keystroke on BSD/OSX platforms, and data is flushed fully before closing
684   child processes (thanks to 
685   Cristian Ionescu-Idbohrn <cristian.ionescu-idbohrn at axis.com> for
686   pointing that out).
688 - Changed "DISABLE_TCPFWD" to "ENABLE_TCPFWD" (and for x11/auth) so
689   "disable DISABLE_TCPWD" isn't so confusing.
691 - Fix authorized_keys handling (don't crash on too-long keys, and
692   use fgetc not getc to avoid strange macro-related issues), thanks to
693   Cristian Ionescu-Idbohrn <cristian.ionescu-idbohrn at axis.com> 
694   and Steve Rodgers <hwstar at cox.net> for reporting and testing.
696 - Fixes to the README with regard to uClibc systems, thanks to 
697   Cristian Ionescu-Idbohrn <cristian.ionescu-idbohrn at axis.com>,
698   as well as general improvements to documentation (split README/INSTALL)
700 - Fixed up some compilation problems with dropbearconvert/dropbearkey if
701   DSS or RSA were disabled, reported by Patrik Karlsson <patrik at cqure.net>
703 - Fix double-free bug for hostkeys, reported by
704   Vincent Sanders <vince at kyllikki.org>
706 - Fix up missing \ns from dropbearconvert help message,
707   thanks to Mordy Ovits <movits at bloomberg.com> for the patch
709 0.36 - Tue August 19 2003 12:16:23 +0800
711 - Fix uninitialised temporary variable in DSS signing code
712   (thanks to Matthew Franz <mdfranz at io.com> for reporting, and the authors
713   of Valgrind for making it easy to track down)
714 - Fix remote version-string parsing error
715   (thanks to Bernard Blackham <bernard at blackham.com.au> for noticing)
716 - Improved host-algorithm-matching algorithm in algo.c
717 - Decreased MAX_STRING_LEN to a more realistic value
718 - Fix incorrect version (0.34) in this CHANGES file for the previous release.
720 0.35 - Sun August 17 2003 05:37:47 +0800
722 - Fix for remotely exploitable format string buffer overflow.
723   (thanks to Joel Eriksson <je at bitnux.com>)
725 0.34 - Fri August 15 2003 15:10:00 +0800
727 - Made syslog optional, both at compile time and as a compile option
728   (suggested by Laurent Bercot <ska at skarnet.org>)
729 - Fixup for bad base64 parsing in authorized_keys
730   (noticed by Davyd Madeley <davyd at zdlcomputing.com>)
731 - Added initial tcp forwarding code, only -L (local) at this stage
732 - Improved "make install" with DESTDIR and changing ownership seperately,
733   don't check for setpgrp on Linux for crosscompiling.
734   (from Erik Andersen <andersen at codepoet.org>)
735 - More commenting, fix minor compile warnings, make return values more
736   consistent etc
737 - Various signedness fixes
738 - Can listen on multiple ports
739 - added option to disable openpty with configure script,
740   (from K.-P. Kirchdörfer <kapeka at epost.de>)
741 - Various cleanups to bignum code
742   (thanks to Tom St Denis <tomstdenis at iahu.ca>)
743 - Fix compile error when disabling RSA
744   (from Marc Kleine-Budde <kleine-budde at gmx.de>)
745 - Other cleanups, splitting large functions for packet and kex handling etc
747 0.33 - Sun June 22 2003 22:24:12 +0800
749 - Fixed some invalid assertions in the channel code, fixing the server dying
750   when forwarding X11 connections.
751 - Add dropbearconvert to convert to/from OpenSSH host keys and Dropbear keys
752 - RSA keys now keep p and q parameters for compatibility -- old Dropbear keys
753   still work, but can't be converted to OpenSSH etc.
754 - Debian packaging directory added, thanks to 
755   Grahame (grahame at angrygoats.net)
756 - 'install' target added to the makefile
757 - general tidying, improve consistency of functions etc
758 - If RSA or DSS hostkeys don't exist, that algorithm won't be used.
759 - Improved RSA and DSS key generation, more efficient and fixed some minor bugs
760   (thanks to Tom St Denis for the advice)
761 - Merged new versions of LibTomCrypt (0.86) and LibTomMath (0.21)
763 0.32 - Sat May 24 2003 12:44:11 +0800
765 - Don't compile unused code from libtomcrypt (test vectors etc)
766 - Updated to libtommath 0.17 and libtomcrypt 0.83. New libtommath results
767   in smaller binary size, due to not linking unrequired code
768 - X11 forwarding added
769 - Agent forwarding added (for OpenSSH.com ssh client/agent)
770 - Fix incorrect buffer freeing when banners are used
771 - Hostname resolution works
772 - Various minor bugfixes/code size improvements etc
774 0.31 - Fri May 9 2003 17:57:16 +0800
776 - Improved syslog messages - IP logging etc
777 - Strip control characters from log messages (specified username currently)
778 - Login recording (utmp/wtmp) support, so last/w/who work - taken from OpenSSH
779 - Shell is started as a proper login shell, so /etc/profile etc is sourced
780 - Ptys work on Solaris (2.8 x86 tested) now
781 - Fixed bug in specifying the rsa hostkey
782 - Fixed bug in compression code, could trigger if compression resulted in
783   larger output than input (uncommon but possible).
785 0.30 - Thu Apr 17 2003 18:46:15 +0800
787 - SECURITY: buffer.c had bad checking for buffer increment length - fixed
788 - channel code now closes properly on EOF - scp processes don't hang around
789 - syslog support added - improved auth/login/failure messages
790 - general code tidying, made return codes more consistent
791 - Makefile fixed for dependencies and makes libtomcrypt as well
792 - Implemented sending SSH_MSG_UNIMPLEMENTED :)
794 0.29 - Wed Apr 9 2003
796 - Fixed a stupid bug in 0.28 release, 'newstr = strdup(oldstr)',
797   not 'newstr=oldstr'
799 0.28 - Sun Apr 6 2003
801 - Initial public release
803 Development was started in October 2002