dropbear: update to 2015.67
[tomato.git] / release / src-rt-6.x.4708 / router / dropbear / CHANGES
blob6621e8d50666f59cf6b3dbdda649c2b3367230e6
1 2015.67 - Wednesday 28 January 2015
3 - Call fsync() after generating private keys to ensure they aren't lost if a
4   reboot occurs. Thanks to Peter Korsgaard
6 - Disable non-delayed zlib compression by default on the server. Can be
7   enabled if required for old clients with DROPBEAR_SERVER_DELAY_ZLIB
9 - Default client key path ~/.ssh/id_dropbear
11 - Prefer stronger algorithms by default, from Fedor Brunner. 
12   AES256 over 3DES
13   Diffie-hellman group14 over group1
15 - Add option to disable CBC ciphers.
17 - Disable twofish in default options.h
19 - Enable sha2 HMAC algorithms by default, the code was already required
20   for ECC key exchange. sha1 is the first preference still for performance. 
22 - Fix installing dropbear.8 in a separate build directory, from Like Ma
24 - Allow configure to succeed if libtomcrypt/libtommath are missing, from Elan Ruusamäe
26 - Don't crash if ssh-agent provides an unknown type of key. From Catalin Patulea
28 - Minor bug fixes, a few issues found by Coverity scan
30 2014.66 - Thursday 23 October 2014
32 - Use the same keepalive handling behaviour as OpenSSH. This will work better 
33   with some SSH implementations that have different behaviour with unknown 
34   message types.
36 - Don't reply with SSH_MSG_UNIMPLEMENTED when we receive a reply to our own 
37   keepalive message
39 - Set $SSH_CLIENT to keep bash happy, patch from Ryan Cleere
41 - Fix wtmp which broke since 2013.62, patch from Whoopie
43 2014.65 - Friday 8 August 2014
45 - Fix 2014.64 regression, server session hang on exit with scp (and probably
46   others), thanks to NiLuJe for tracking it down
48 - Fix 2014.64 regression, clock_gettime() error handling which broke on older
49   Linux kernels, reported by NiLuJe
51 - Fix 2014.64 regression, writev() could occassionally fail with EAGAIN which
52   wasn't caught
54 - Avoid error message when trying to set QoS on proxycommand or multihop pipes
56 - Use /usr/bin/xauth, thanks to Mike Frysinger
58 - Don't exit the client if the local user entry can't be found, thanks to iquaba
60 2014.64 - Sunday 27 July 2014
62 - Fix compiling with ECDSA and DSS disabled
64 - Don't exit abruptly if too many outgoing packets are queued for writev(). Patch
65   thanks to Ronny Meeus
67 - The -K keepalive option now behaves more like OpenSSH's "ServerAliveInterval". 
68   If no response is received after 3 keepalives then the session is terminated. This
69   will close connections faster than waiting for a TCP timeout.
71 - Rework TCP priority setting. New settings are
72         if (connecting || ptys || x11) tos = LOWDELAY
73         else if (tcp_forwards) tos = 0
74         else tos = BULK
75   Thanks to Catalin Patulea for the suggestion.
77 - Improve handling of many concurrent new TCP forwarded connections, should now
78   be able to handle as many as MAX_CHANNELS. Thanks to Eduardo Silva for reporting
79   and investigating it.
81 - Make sure that exit messages from the client are printed, regression in 2013.57
83 - Use monotonic clock where available, timeouts won't be affected by system time
84   changes
86 - Add -V for version
88 2014.63 - Wednesday 19 February 2014
90 - Fix ~. to terminate a client interactive session after waking a laptop
91   from sleep.
93 - Changed port separator syntax again, now using host^port. This is because
94   IPv6 link-local addresses use %. Reported by Gui Iribarren
96 - Avoid constantly relinking dropbearmulti target, fix "make install"
97   for multi target, thanks to Mike Frysinger
99 - Avoid getting stuck in a loop writing huge key files, reported by Bruno
100   Thomsen
102 - Don't link dropbearkey or dropbearconvert to libz or libutil, 
103   thanks to Nicolas Boos
105 - Fix linking -lcrypt on systems without /usr/lib, thanks to Nicolas Boos
107 - Avoid crash on exit due to cleaned up keys before last packets are sent,
108   debugged by Ronald Wahl
110 - Fix a race condition in rekeying where Dropbear would exit if it received a
111   still-in-flight packet after initiating rekeying. Reported by Oliver Metz.
112   This is a longstanding bug but is triggered more easily since 2013.57
114 - Fix README for ecdsa keys, from Catalin Patulea
116 - Ensure that generated RSA keys are always exactly the length
117   requested. Previously Dropbear always generated N+16 or N+15 bit keys.
118   Thanks to Unit 193
120 - Fix DROPBEAR_CLI_IMMEDIATE_AUTH mode which saves a network round trip if the
121   first public key succeeds. Still not enabled by default, needs more
122   compatibility testing with other implementations.
124 - Fix for port 0 forwarding in the client and port forwarding with Apache MINA SSHD. Thanks to 
126 - Fix for bad system linux/pkt-sched.h header file with older Linux
127 kernels, from Steve Dover
129 - Fix signal handlers so that errno is saved, thanks to Erik Ahlén for a patch
130   and Mark Wickham for independently spotting the same problem.
132 2013.62 - Tuesday 3 December 2013
134 - Disable "interactive" QoS connection options when a connection doesn't
135   have a PTY (eg scp, rsync). Thanks to Catalin Patulea for the patch.
137 - Log when a hostkey is generated with -R, fix some bugs in handling server
138   hostkey commandline options
140 - Fix crash in Dropbearconvert and 521 bit key, reported by NiLuJe
142 - Update config.guess and config.sub again
144 2013.61test - Thursday 14 November 2013
146 - ECC (elliptic curve) support. Supports ECDSA hostkeys (requires new keys to
147   be generated) and ECDH for setting up encryption keys (no intervention
148   required). This is significantly faster.
150 - curve25519-sha256@libssh.org support for setting up encryption keys. This is
151   another elliptic curve mode with less potential of NSA interference in
152   algorithm parameters. curve25519-donna code thanks to Adam Langley
154 - -R option to automatically generate hostkeys. This is recommended for
155   embedded platforms since it allows the system random number device
156   /dev/urandom a longer startup time to generate a secure seed before the
157   hostkey is required.
159 - Compile fixes for old vendor compilers like Tru64 from Daniel Richard G.
161 - Make authorized_keys handling more robust, don't exit encountering
162   malformed lines. Thanks to Lorin Hochstein and Mark Stillwell 
164 2013.60 - Wednesday 16 October 2013
166 - Fix "make install" so that it doesn't always install to /bin and /sbin
168 - Fix "make install MULTI=1", installing manpages failed
170 - Fix "make install" when scp is included since it has no manpage
172 - Make --disable-bundled-libtom work
174 2013.59 - Friday 4 October 2013
176 - Fix crash from -J command 
177   Thanks to Lluís Batlle i Rossell and Arnaud Mouiche for patches
179 - Avoid reading too much from /proc/net/rt_cache since that causes
180   system slowness. 
182 - Improve EOF handling for half-closed connections
183   Thanks to Catalin Patulea
185 - Send a banner message to report PAM error messages intended for the user
186   Patch from Martin Donnelly
188 - Limit the size of decompressed payloads, avoids memory exhaustion denial
189   of service 
190   Thanks to Logan Lamb for reporting and investigating it. CVE-2013-4421
192 - Avoid disclosing existence of valid users through inconsistent delays
193   Thanks to Logan Lamb for reporting. CVE-2013-4434
195 - Update config.guess and config.sub for newer architectures
197 - Avoid segfault in server for locked accounts
199 - "make install" now installs manpages
200   dropbearkey.8 has been renamed to dropbearkey.1
201   manpage added for dropbearconvert
203 - Get rid of one second delay when running non-interactive commands
206 2013.58 - Thursday 18 April 2013
208 - Fix building with Zlib disabled, thanks to Hans Harder and cuma@freetz
210 - Use % as a separator for ports, fixes scp in multihop mode, from Hans Harder
212 - Reject logins for other users when running as non-root, from Hans Harder
214 - Disable client immediate authentication request by default, it prevents
215   passwordless logins from working
217 2013.57 - Monday 15 April 2013
219 - Decreased connection setup time particularly with high latency connections,
220   the number of round trips has been reduced for both client and server. 
221   CPU time hasn't been changed.
223 - Client will send an initial key exchange guess to save a round trip.
224   Dropbear implements an extension kexguess2@matt.ucc.asn.au to allow the first
225   packet guess to succeed in wider circumstances than the standard behaviour.
226   When communicating with other implementations the standard behaviour is used.
228 - Client side: when public key or password authentication with
229   $DROPBEAR_PASSWORD is used an initial authentication request will
230   be sent immediately rather than querying the list of available methods.
231   This behaviour is enabled by CLI_IMMEDIATE_AUTH option (on by default),
232   please let the Dropbear author know if it causes any interoperability
233   problems.
235 - Implement client escape characters ~. (terminate session) and 
236   ~^Z (background session)
238 - Server will more reliably clean up utmp when connection is closed, reported by
239   Mattias Walström
241 - Don't crash if /dev/urandom isn't writable (RHEL5), thanks to Scott Case
243 - Add "-y -y" client option to skip host key checking, thanks to Hans Harder
245 - scp didn't work properly on systems using vfork(), thanks to Frank Van Uffelen
247 - Added IUTF8 terminal mode support (Linux and Mac OS). Not standardised yet
248 though probably will be soon
250 - Some verbose DROPBEAR_TRACE output is now hidden unless $DROPBEAR_TRACE2
251   enviroment variable is set
253 - Fix using asymmetric MAC algorithms (broke in )
255 - Renamed configure.in to configure.ac to quieten autoconf, from Mike Frysinger
257 2013.56 - Thursday 21 March 2013
259 - Allow specifying cipher (-c) and MAC (-m) lists for dbclient
261 - Allow using 'none' cipher or MAC (off by default, use options.h). Encryption
262   is used during authentication then disabled, similar to OpenSSH HPN mode
264 - Allow a user in immediately if the account has a blank password and blank
265   passwords are enabled
267 - Include a few extra sources of entropy from /proc on Linux, hash private keys
268   as well. Dropbear will also write gathered entropy back into /dev/urandom
270 - Added hmac-sha2-256 and hmac-sha2-512 support (off by default, use options.h)
272 - Don't sent bad address "localhost" for -R forward connections, 
273   reported by Denis Bider
275 - Add "-B" runtime option to allow blank passwords
277 - Allow using IPv6 bracket notation for addresses in server "-p" option, from Ben Jencks
279 - A few improvements for Android from Reimar Döffinger
281 - Fix memory leak for TCP forwarded connections to hosts that timed out,
282   reported by Norbert Benczúr. Appears to be a very long-standing bug.
284 - Fix "make clean" for out of tree builds
286 - Fix compilation when ENABLE_{SVR,CLI}_AGENTFWD are unset
288 2012.55 - Wednesday 22 February 2012
290 - Security: Fix use-after-free bug that could be triggered if command="..."
291   authorized_keys restrictions are used.  Could allow arbitrary code execution
292   or bypass of the command="..." restriction to an authenticated user.
293   This bug affects releases 0.52 onwards. Ref CVE-2012-0920.
294   Thanks to Danny Fullerton of Mantor Organization for reporting
295   the bug.
297 - Compile fix, only apply IPV6 socket options if they are available in headers
298   Thanks to Gustavo Zacarias for the patch
300 - Overwrite session key memory on exit
302 - Fix minor memory leak in unusual PAM authentication configurations.
303   Thanks to Stathis Voukelatos
305 - Other small code cleanups
307 2011.54 - Tuesday 8 November 2011
309 - Building statically works again, broke in 0.53 and 0.53.1
311 - Fix crash when forwarding with -R
313 - Fixed various leaks found by Klocwork analysis software, thanks to them for
314   running it
316 - Set IPTOS_LOWDELAY for IPv6, thanks to Dave Taht
318 - Bind to sockets with IPV6_V6ONLY so that it works properly on systems
319   regardless of the system-wide setting
321 - Added ALLOW_BLANK_PASSWORD option. Dropbear also now allows public key logins
322   to accounts with a blank password. Thanks to Rob Landley
324 - Fixed case where "-K 1" keepalive for dbclient would cause a SSH_MSG_IGNORE
325   packet to be sent
327 - Avoid some memory allocations in big number maths routines, improves
328   performance slightly
330 - Fix symlink target for installdropbearmulti with DESTDIR set, thanks to
331   Scottie Shore
333 - When requesting server allocated remote ports (-R 0:host:port) print a
334   message informing what the port is, thanks to Ali Onur Uyar.
336 - New version numbering scheme.
338 Source repository has now migrated to Mercurial at 
339 https://secure.ucc.asn.au/hg/dropbear/graph/default
341 0.53.1 - Wednesday 2 March 2011
343 - -lcrypt needs to be before object files for static linking
345 - Compile fix when both client and agent forwarding are disabled
347 - Fix DROPBEAR_PRNGD_SOCKET mode
349 - Don't allow setting zlib memLevel since it seems buggy
351 0.53 - Thurs 24 February 2011
353 - Various performance/memory use improvements
355 - Client agent forwarding now works, using OpenSSH's ssh-agent
357 - Improve robustness of client multihop mode
359 - Fix a prime generation bug in bundled libtommath. This is unlikely to have
360   generated any bad keys in the wild.
361   See 
362   https://bugzilla.redhat.com/show_bug.cgi?id=615088
363   http://bugs.gentoo.org/show_bug.cgi?id=328383
364   http://bugs.gentoo.org/show_bug.cgi?id=328409
366 - Attempt to build against system libtomcrypt/libtommath if available. This
367   can be disabled with ./configure --enable-bundled-libtom
369 - Make -K (keepalive) and -I (idle timeout) work together sensibly in the client.
370   The idle timeout is no longer reset by SSH_MSG_IGNORE packets.
372 - Add diffie-hellman-group14-sha1 key exchange method
374 - Compile fix if ENABLE_CLI_PROXYCMD is disabled
376 - /usr/bin/X11/xauth is now the default path
378 - Client remote forward (-L/-R) arguments now accept a listen address
380 - In uClinux avoid trashing the parent process when a session exits
382 - Blowfish is now disabled by default since it has large memory usage
384 - Add option to change zlib windowbits/memlevel. Use less memory by default
386 - DROPBEAR_SMALL_CODE is now disabled by default
388 - SSH_ORIGINAL_COMMAND environment variable is set by the server when an
389   authorized_keys command is specified.
391 - Set SSH_TTY and SSH_CONNECTION environment variables in the server
393 - Client banner is now printed to standard error rather than standard output
395 - Capitalisation in many log messages has been made consistent. This may affect
396   scripts that parse logfiles.
398 0.52 - Wed 12 November 2008
400 - Add "netcat-alike" option (-B) to dbclient, allowing Dropbear to tunnel
401   standard input/output to a TCP port-forwarded remote host.
403 - Add "proxy command" support to dbclient, to allow using a spawned process for
404   IO rather than a direct TCP connection. eg
405           dbclient remotehost
406   is equivalent to
407           dbclient -J 'nc remotehost 22' remotehost
408   (the hostname is still provided purely for looking up saved host keys)
410 - Combine netcat-alike and proxy support to allow "multihop" connections, with
411   comma-separated host syntax.  Allows running
413           dbclient user1@host1,user2@host2,user3@host3
415   to end up at host3 via the other two, using SSH TCP forwarding. It's a bit
416   like onion-routing. All connections are established from the local machine.
417   The comma-separated syntax can also be used for scp/rsync, eg
419           rsync -a -e dbclient m@gateway,m2@host,martello:/home/matt/ ~/backup/
421   to bounce through a few hosts.
423 - Add -I "idle timeout" option (contributed by Farrell Aultman)
425 - Allow restrictions on authorized_keys logins such as restricting commands
426   to be run etc. This is a subset of those allowed by OpenSSH, doesn't
427   yet allow restricting source host.
429 - Use vfork() for scp on uClinux
431 - Default to PATH=/usr/bin:/bin for shells.
433 - Report errors if -R forwarding fails
435 - Add counter mode cipher support, which avoids some security problems with the
436   standard CBC mode.
438 - Support zlib@openssh.com delayed compression for client/server. It can be
439   required for the Dropbear server with the '-Z' option. This is useful for
440   security as it avoids exposing the server to attacks on zlib by
441   unauthenticated remote users, though requires client side support.
443 - options.h has been split into options.h (user-changable) and sysoptions.h
444   (less commonly changed)
446 - Support "dbclient -s sftp" to specify a subsystem
448 - Fix a bug in replies to channel requests that could be triggered by recent
449   versions of PuTTY
451 0.51 - Thu 27 March 2008
453 - Make a copy of password fields rather erroneously relying on getwpnam()
454   to be safe to call multiple times
456 - If $SSH_ASKPASS_ALWAYS environment variable is set (and $SSH_ASKPASS is
457   as well) always use that program, ignoring isatty() and $DISPLAY
459 - Wait until a process exits before the server closes a connection, so
460   that an exit code can be sent. This fixes problems with exit codes not
461   being returned, which could cause scp to fail.
463 0.50 - Wed 8 August 2007
465 - Add DROPBEAR_PASSWORD environment variable to specify a dbclient password
467 - Use /dev/urandom by default, since that's what everyone does anyway
469 - Correct vfork() use for uClinux in scp
470   (thanks to Alex Landau)
472 - Exit with an exit code of 1 if dropbear can't bind to any ports
473   (thanks to Nicolai Ehemann)
475 - Improve network performance and add a -W <receive_window> argument for
476   adjusting the tradeoff between network performance and memory consumption.
478 - Fix a problem where reply packets could be sent during key exchange,
479   in violation of the SSH spec. This could manifest itself with connections
480   being terminated after 8 hours with new TCP-forward connections being
481   established.
483 - Add -K <keepalive_time> argument, ensuring that data is transmitted
484   over the connection at least every N seconds.
486 - dropbearkey will no longer generate DSS keys of sizes other than 1024
487   bits, as required by the DSS specification. (Other sizes are still
488   accepted for use to provide backwards compatibility).
490 0.49 - Fri 23 February 2007
492 - Security: dbclient previously would prompt to confirm a 
493   mismatching hostkey but wouldn't warn loudly. It will now
494   exit upon a mismatch. CVE-2007-1099
496 - Compile fixes, make sure that all variable definitions are at the start
497   of a scope.
499 - Added -P pidfile argument to the server (from Swen Schillig)
501 - Add -N dbclient option for "no command"
503 - Add -f dbclient option for "background after auth"
505 - Add ability to limit binding to particular addresses, use 
506   -p [address:]port, patch from Max-Gerd Retzlaff.
508 - Try to finally fix ss_family compilation problems (for old
509   glibc systems)
511 - Fix finding relative-path server hostkeys when running daemonized
513 - Use $HOME in preference to that from /etc/passwd, so that
514   dbclient can still work on broken systems.
516 - Fix various issues found by Klocwork defect analysis, mostly memory leaks
517   and error-handling. Thanks to Klocwork for their service.
519 - Improve building in a separate directory
521 - Add compile-time LOG_COMMANDS option to log user commands
523 - Add '-y' flag to dbclient to unconditionally accept host keys,
524   patch from Luciano Miguel Ferreira Rocha
526 - Return immediately for "sleep 10 & echo foo", rather than waiting
527   for the sleep to return (pointed out by Rob Landley).
528   
529 - Avoid hanging after exit in certain cases (such as scp)
531 - Various minor fixes, in particular various leaks reported by
532   Erik Hovland
533   
534 - Disable core dumps on startup
536 - Don't erase over every single buffer, since it was a bottleneck.
537   On systems where it really matters, encrypted swap should be utilised.
539 - Read /dev/[u]random only once at startup to conserve kernel entropy
541 - Upgrade to LibTomCrypt 1.16 and LibTomMath 0.40
543 - Upgrade config.status and config.guess 
545 0.48.1 - Sat 11 March 2006
547 - Compile fix for scp
549 0.48 - Thurs 9 March 2006
551 - Check that the circular buffer is properly empty before
552   closing a channel, which could cause truncated transfers
553   (thanks to Tomas Vanek for helping track it down)
555 - Implement per-IP pre-authentication connection limits 
556   (after some poking from Pablo Fernandez) CVE-2006-1206
558 - Exit gracefully if trying to connect to as SSH v1 server 
559   (reported by Rushi Lala)
561 - Only read /dev/random once at startup when in non-inetd mode
563 - Allow ctrl-c to close a dbclient password prompt (may
564   still have to press enter on some platforms)
566 - Merged in uClinux patch for inetd mode
568 - Updated to scp from OpenSSH 4.3p2 - fixes a security issue
569   where use of system() could cause users to execute arbitrary
570   code through malformed filenames, ref CVE-2006-0225
572 0.47 - Thurs Dec 8 2005
574 - SECURITY: fix for buffer allocation error in server code, could potentially
575   allow authenticated users to gain elevated privileges. All multi-user systems
576   running the server should upgrade (or apply the patch available on the
577   Dropbear webpage). CVE-2005-4178
579 - Fix channel handling code so that redirecting to /dev/null doesn't use
580   100% CPU.
582 - Turn on zlib compression for dbclient.
584 - Set "low delay" TOS bit, can significantly improve interactivity
585   over some links.
587 - Added client keyboard-interactive mode support, allows operation with
588   newer OpenSSH servers in default config.
590 - Log when pubkey auth fails because of bad ~/.ssh/authorized_keys permissions
592 - Improve logging of assertions
594 - Added aes-256 cipher and sha1-96 hmac.
596 - Fix twofish so that it actually works.
598 - Improve PAM prompt comparison.
600 - Added -g (dbclient) and -a (dropbear server) options to allow
601   connections to listening forwarded ports from remote machines.
603 - Various other minor fixes
605 - Compile fixes for glibc 2.1 (ss_family vs __ss_family) and NetBSD
606   (netinet/in_systm.h needs to be included).
608 0.46 - Sat July 9 2005
610 - Fix long-standing bug which caused connections to be closed if an ssh-agent
611   socket was no longer available
613 - Print a warning if we seem to be blocking on /dev/random 
614   (suggested by Paul Fox)
616 - Fixed a memory leak in DSS code (thanks to Boris Berezovsky for the patch)
618 - dbclient -L no longer segfaults, allocate correct buffer size (thanks
619   to David Cook for reporting it, and Christopher Faylor for independently
620   sending in a patch)
622 - Added RSA blinding to signing code (suggested by Dan Kaminsky)
624 - Rearranged bignum reading/random generation code
626 - Reset the non-blocking status on stderr and stdout as well as stdin,
627   fixes a problem where the shell running dbclient will exit (thanks to 
628   Brent Roman for reporting it)
630 - Fix so that all file descriptors are closed so the child shell doesn't
631   inherit descriptors (thanks to Linden May for the patch)
633 - Change signkey.c to avoid gcc 4 generating incorrect code
635 - After both sides of a file descriptor have been shutdown(), close()
636   it to avoid leaking descriptors (thanks to Ari Hyttinen for a patch)
638 - Update to LibTomCrypt 1.05 and LibTomMath 0.35
640 0.45 - Mon March 7 2005
642 - Makefile no longer appends 'static' to statically linked binaries
644 - Add optional SSH_ASKPASS support to the client
646 - Respect HOST_LOOKUP option
648 - Fix accidentally removed "return;" statement which was removed in 0.44
649   (causing clients which sent an empty terminal-modes string to fail to
650   connect - including pssh, ssh.com, danger hiptop). (patches
651   independently from Paul Fox, David Horwitt and Sven-Ola Tuecke)
653 - Read "y/n" response for fingerprints from /dev/tty directly so that dbclient
654   will work with scp.
656 0.44 - Mon Jan 3 2005
658 - SECURITY: Fix for PAM auth so that usernames are logged and conversation
659   function responses are allocated correctly - all 0.44test4 users with PAM
660   compiled in (not default) are advised to upgrade.
662 - Fix calls to getnameinfo() for compatibility with Solaris
664 - Pristine compilation works (run 'configure' from a fresh dir and make it
665   there)
667 - Fixes for compiling with most options disabled.
669 - Upgraded to LibTomCrypt 0.99 and LibTomMath 0.32
671 - Make sure that zeroing out of values in LTM and LTC won't get optimised away
673 - Removed unused functions from loginrec.c
675 - /dev/random is now the default entropy source rather than /dev/urandom
677 - Logging of IPs in auth success/failure messages for improved greppability
679 - Fix dbclient so that "scp -i keyfile" works. (It can handle "-ikeyfile
680   properly)
682 - Avoid a race in server shell-handling code which prevents the exit-code
683   from being returned to the client in some circumstances.
685 - Makefile modified so that install target works correctly (doesn't try
686   to install "all" binary) - patch from Juergen Daubert
688 - Various minor fixes and compile warnings.
690 0.44test4 - Tue Sept 14 2004 21:15:54 +0800
692 - Fix inetd mode so it actually loads the hostkeys (oops)
694 - Changed DROPBEAR_DEFPORT properly everywhere
696 - Fix a small memory leak in the auth code
698 - WCOREDUMP is only used on systems which support it (ie not cygwin or AIX)
700 - Check (and fail for) cases when we can't negotiate algorithms with the
701   remote side successfully (rather than bombing out ungracefully)
703 - Handle authorized_keys files without a terminating newline
705 - Fiddle the channel receive window size for possibly better performance
707 - Added in the PAM authentication code (finally! thanks to Martin Carlsson)
709 0.44test3 - Fri Aug 27 22:20:54 +0800
711 - Fixed a bunch of warnings.
713 - scp works correctly when passed a username (fix for the dbclient program
714   itself as well, "-lmatt" works as well as "-l matt").
716 - Remove unrequired debian files
718 - Exit with the remote process's return code for dbclient
720 - Display stderr messages from the server in the client
722 - Add circular buffering to the channel code. This should dramatically reduce
723   the amount of backtraffic sent in response to traffic incoming to the
724   Dropbear end - improves high-latency performance (ie dialup).
726 - Various other related channel-handling fixups.
728 - Allow leading lines in the banner when connecting to servers
730 - Fixed printing out errors onto the network socket with stderr (for inetd
731   mode when using xinetd)
733 - Remove obselete documentation
735 - Fix a null-pointer exception when trying to free non-existant listeners
736   at cleanup.
738 - DEBUG_TRACE now only works if you add "-v" to the program commandline
740 - Don't leave stdin non-blocking on exit - this caused the parent shell
741   of dbclient to close when dbclient exited, for some shells in BusyBox
743 - Server connections no longer timeout after 5 minutes
745 - Fixed stupid DSS hostkey typo (server couldn't load host keys)
747 0.44test2 - Tues Aug 17 2004 17:43:54 +0800
749 - Fix up dropbearmulti targets in the Makefile - symlinks are now created
751 - Compile fake-rfc2553 even with dropbearconvert/dropbearkey - this 
752   allows them to work on platforms without a native getaddrinfo()
754 - Create ~/.ssh/known_hosts properly if it doesn't exist
756 - Fix basename() function prototype
758 - Backport some local changes (more #ifdefs for termcodes.c, a fix for missing
759   defines on AIX).
761 - Let dbclient be run as "ssh"
763 - Initialise mp_ints by default
765 0.44test1 - Sun Aug 16 2005 17:43:54 +0800
767 - TESTING RELEASE - this is the first public release of the client codebase,
768   so there are sure to be bugs to be found. In addition, if you're just using
769   the server portion, the final binary size probably will increase - I'll
770   be trying to get it back down in future releases.
772 - Dropbear client added - lots of changes to the server code as well to 
773   generalise things
775 - IPv6 support added for client, server, and forwarding
777 - New makefile with more generic support for multiple-program binaries
779 0.43 - Fri Jul 16 2004 17:44:54 +0800
781 - SECURITY: Don't try to free() uninitialised variables in DSS verification
782   code. Thanks to Arne Bernin for pointing out this bug. This is possibly
783   exploitable, all users with DSS and pubkey-auth compiled in are advised to
784   upgrade. CVE-2004-2486
786 - Clean up agent forwarding socket files correctly, patch from Gerrit Pape.
788 - Don't go into an infinite loop when portforwarding to servers which don't
789   send any initial data/banner. Patch from Nikola Vladov
791 - Fix for network vs. host byte order in logging remote TCP ports, also
792   from Gerrit Pape.
794 - Initialise many pointers to NULL, for general safety. Also checked cleanup
795   code for mp_ints (related to security issues above).
797 0.42 - Wed Jun 16 2004 12:44:54 +0800
799 - Updated to Gerrit Pape's official Debian subdirectory
801 - Fixed bad check when opening /dev/urandom - thanks to Danny Sung.
803 - Added -i inetd mode flag, and associated options in options.h . Dropbear
804   can be compiled with either normal mode, inetd, or both modes. Thanks
805   to Gerrit Pape for basic patch and motivation.
807 - Use <dirent.h> rather than <sys/dir.h> for POSIX compliance. Thanks to Bill
808   Sommerfield.
810 - Fixed a TCP forwarding (client-local, -L style) bug which caused the whole
811   session to close if the TCP connection failed. Thanks to Andrew Braund for
812   reporting it and helping track it down.
814 - Re-enable sigpipe for child processes. Thanks to Gerrit Pape for some
815   suggestions, and BSD manpages for a clearer explanation of the behaviour.
817 - Added manpages, thanks to Gerrit Pape.
819 - Changed license text for LibTomCrypt and LibTomMath.
821 - Added strip-static target
823 - Fixed a bug in agent-forwarding cleanup handler - would segfault
824   (dereferencing a null pointer) if agent forwarding had failed.
826 - Fix behaviour of authorized_keys parsing, so larger (>1024 bit) DSA keys will
827   work. Thanks to Dr. Markus Waldeck for the report. 
829 - Fixed local port forwarding code so that the "-j" option will make forwarding
830   attempts fail more gracefully.
832 - 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
833   isn't available. Thanks to Stirling Westrup for the report.
835 - Updated to LibTomCrypt 0.96 and LibTomMath 0.30. The AES code now uses
836   smaller non-precomputed tables if DROPBEAR_SMALL_CODE is defined in
837   options.h, leading to a significant reduction in the binary size.
839 0.41 - Mon Jan 19 2004 22:40:19 +0800
841 - Fix in configure so that cross-compiling works, thanks to numerous people for
842   reporting and testing
844 - Terminal mode parsing now handles empty terminal mode strings (sent by
845   Windows ssh.com clients), thanks to Ricardo Derbes for the report
847 - Handling is improved for users with no shell specified in /etc/passwd,
848   thanks again to Ricardo Derbes
850 - Fix for compiling with --disable-syslog, thanks to gordonfh
852 - Various minor fixes allow scp to work with irix, thanks to Paul Marinceu for
853   fixing it up
855 - Use <stropts.h> not <sys/stropts.h>, since the former seems more common
857 0.40 - Tue Jan 13 2004 21:05:19 +0800
859 - Remote TCP forwarding (-R) style implemented
861 - Local and remote TCP forwarding can each be disabled at runtime (-k and -j
862   switches)
864 - Fix for problems detecting openpty() with uClibc - many thanks to various
865   people for reporting and testing fixes, including (in random order) Cristian
866   Ionescu-Idbohrn, James Ewing, Steve Dover, Thomas Lundquist and Frederic
867   Lavernhe
869 - Improved portability for IRIX, thanks to Paul Marinceu
871 - AIX and HPUX portability fixes, thanks to Darren Tucker for patches
873 - prngd should now work correctly, thanks to Darren Tucker for the patch
875 - scp compilation on systems without strlcpy() is fixed, thanks to Peter
876   Jannesen and David Muse for reporting it (independently and simultaneously :)
878 - Merged in new LibTomCrypt 0.92 and LibTomMath 0.28
880 0.39 - Tue Dec 16 2003 15:19:19 +0800
882 - Better checking of key lengths and parameters for DSS and RSA auth
884 - Print fingerprint of keys used for pubkey auth
886 - More consistent logging of usernames and IPs
888 - Added option to disable password auth (or just for root) at runtime
890 - Avoid including bignum functions which don't give much speed benefit but
891   take up binary size
893 - Added a stripped down version of OpenSSH's scp binary
895 - Added additional supporting functions for Irix, thanks to Paul Marinceu
897 - Don't check for unused libraries in configure script
899 - Removed trailing comma in algorithm lists (thanks to Mihnea Stoenescu)
901 - Fixed up channel close handling, always send close packet in response
902   (also thanks to Mihnea Stoenescu)
904 - Various makefile improvements for cross-compiling, thanks to Friedrich
905   Lobenstock and Mihnea Stoenescu
907 - Use daemon() function if available (or our own copy) rather than separate
908   code (thanks to Frédéric Lavernhe for the report and debugging, and Bernard
909   Blackham for his suggestion on what to look at)
911 - Fixed up support for first_kex_packet_follows, required to talk to ssh.com
912   clients. Thanks to Marian Stagarescu for the bug report.
914 - Avoid using MAXPATHLEN, pointer from Ian Morris
916 - Improved input sanity checking
918 0.38 - Sat Oct 11 2003 16:28:13 +0800
920 - Default hostkey path changed to /etc/dropbear/dropbear_{rsa,dss}_host_key
921   rather than /etc/dropbear_{rsa,dss}_host_key
923 - Added SMALL and MULTI text files which have info on compiling for multiple
924   binaries or small binaries
926 - Allow for commandline definition of some options.h settings
927   (without warnings)
929 - Be more careful handling EINTR
931 - More fixes for channel closing
933 - Added multi-binary support
935 - Improved logging of IPs, now get logged in all cases
937 - Don't chew cpu when waiting for version identification string, also
938   make sure that we kick off people if they don't auth within 5 minutes.
940 - Various small fixes, warnings etc
942 - Display MOTD if requested - suggested by
943   Trent Lloyd <lathiat at sixlabs.org> and
944   Zach White <zwhite at darkstar.frop.org>
946 - sftp support works (relies on OpenSSH sftp binary or similar)
948 - Added --disable-shadow option (requested by the floppyfw guys)
950 0.37 - Wed Sept 24 2003 19:42:12 +0800
952 - Various portability fixes, fixes for Solaris 9, Tru64 5.1, Mac OS X 10.2,
953   AIX, BSDs
955 - Updated LibTomMath to 0.27 and LibTomCrypt to 0.90
957 - Renamed util.{c,h} to dbutil.{c,h} to avoid conflicts with system util.h
959 - Added some small changes so it'll work with AIX (plus Linux Affinity).
960   Thanks to Shig for them.
962 - Improved the closing messages, so a clean exit is "Exited normally"
964 - Added some more robust integer/size checking in buffer.c as a backstop for
965   integer overflows
967 - X11 forwarding fixed for OSX, path for xauth changed to /usr/X11R6/bin/xauth
969 - Channel code handles closing more nicely, doesn't sit waiting for an extra
970   keystroke on BSD/OSX platforms, and data is flushed fully before closing
971   child processes (thanks to 
972   Cristian Ionescu-Idbohrn <cristian.ionescu-idbohrn at axis.com> for
973   pointing that out).
975 - Changed "DISABLE_TCPFWD" to "ENABLE_TCPFWD" (and for x11/auth) so
976   "disable DISABLE_TCPWD" isn't so confusing.
978 - Fix authorized_keys handling (don't crash on too-long keys, and
979   use fgetc not getc to avoid strange macro-related issues), thanks to
980   Cristian Ionescu-Idbohrn <cristian.ionescu-idbohrn at axis.com> 
981   and Steve Rodgers <hwstar at cox.net> for reporting and testing.
983 - Fixes to the README with regard to uClibc systems, thanks to 
984   Cristian Ionescu-Idbohrn <cristian.ionescu-idbohrn at axis.com>,
985   as well as general improvements to documentation (split README/INSTALL)
987 - Fixed up some compilation problems with dropbearconvert/dropbearkey if
988   DSS or RSA were disabled, reported by Patrik Karlsson <patrik at cqure.net>
990 - Fix double-free bug for hostkeys, reported by
991   Vincent Sanders <vince at kyllikki.org>
993 - Fix up missing \ns from dropbearconvert help message,
994   thanks to Mordy Ovits <movits at bloomberg.com> for the patch
996 0.36 - Tue August 19 2003 12:16:23 +0800
998 - Fix uninitialised temporary variable in DSS signing code
999   (thanks to Matthew Franz <mdfranz at io.com> for reporting, and the authors
1000   of Valgrind for making it easy to track down)
1001 - Fix remote version-string parsing error
1002   (thanks to Bernard Blackham <bernard at blackham.com.au> for noticing)
1003 - Improved host-algorithm-matching algorithm in algo.c
1004 - Decreased MAX_STRING_LEN to a more realistic value
1005 - Fix incorrect version (0.34) in this CHANGES file for the previous release.
1007 0.35 - Sun August 17 2003 05:37:47 +0800
1009 - Fix for remotely exploitable format string buffer overflow.
1010   (thanks to Joel Eriksson <je at bitnux.com>)
1012 0.34 - Fri August 15 2003 15:10:00 +0800
1014 - Made syslog optional, both at compile time and as a compile option
1015   (suggested by Laurent Bercot <ska at skarnet.org>)
1016 - Fixup for bad base64 parsing in authorized_keys
1017   (noticed by Davyd Madeley <davyd at zdlcomputing.com>)
1018 - Added initial tcp forwarding code, only -L (local) at this stage
1019 - Improved "make install" with DESTDIR and changing ownership seperately,
1020   don't check for setpgrp on Linux for crosscompiling.
1021   (from Erik Andersen <andersen at codepoet.org>)
1022 - More commenting, fix minor compile warnings, make return values more
1023   consistent etc
1024 - Various signedness fixes
1025 - Can listen on multiple ports
1026 - added option to disable openpty with configure script,
1027   (from K.-P. Kirchdörfer <kapeka at epost.de>)
1028 - Various cleanups to bignum code
1029   (thanks to Tom St Denis <tomstdenis at iahu.ca>)
1030 - Fix compile error when disabling RSA
1031   (from Marc Kleine-Budde <kleine-budde at gmx.de>)
1032 - Other cleanups, splitting large functions for packet and kex handling etc
1034 0.33 - Sun June 22 2003 22:24:12 +0800
1036 - Fixed some invalid assertions in the channel code, fixing the server dying
1037   when forwarding X11 connections.
1038 - Add dropbearconvert to convert to/from OpenSSH host keys and Dropbear keys
1039 - RSA keys now keep p and q parameters for compatibility -- old Dropbear keys
1040   still work, but can't be converted to OpenSSH etc.
1041 - Debian packaging directory added, thanks to 
1042   Grahame (grahame at angrygoats.net)
1043 - 'install' target added to the makefile
1044 - general tidying, improve consistency of functions etc
1045 - If RSA or DSS hostkeys don't exist, that algorithm won't be used.
1046 - Improved RSA and DSS key generation, more efficient and fixed some minor bugs
1047   (thanks to Tom St Denis for the advice)
1048 - Merged new versions of LibTomCrypt (0.86) and LibTomMath (0.21)
1050 0.32 - Sat May 24 2003 12:44:11 +0800
1052 - Don't compile unused code from libtomcrypt (test vectors etc)
1053 - Updated to libtommath 0.17 and libtomcrypt 0.83. New libtommath results
1054   in smaller binary size, due to not linking unrequired code
1055 - X11 forwarding added
1056 - Agent forwarding added (for OpenSSH.com ssh client/agent)
1057 - Fix incorrect buffer freeing when banners are used
1058 - Hostname resolution works
1059 - Various minor bugfixes/code size improvements etc
1061 0.31 - Fri May 9 2003 17:57:16 +0800
1063 - Improved syslog messages - IP logging etc
1064 - Strip control characters from log messages (specified username currently)
1065 - Login recording (utmp/wtmp) support, so last/w/who work - taken from OpenSSH
1066 - Shell is started as a proper login shell, so /etc/profile etc is sourced
1067 - Ptys work on Solaris (2.8 x86 tested) now
1068 - Fixed bug in specifying the rsa hostkey
1069 - Fixed bug in compression code, could trigger if compression resulted in
1070   larger output than input (uncommon but possible).
1072 0.30 - Thu Apr 17 2003 18:46:15 +0800
1074 - SECURITY: buffer.c had bad checking for buffer increment length - fixed
1075 - channel code now closes properly on EOF - scp processes don't hang around
1076 - syslog support added - improved auth/login/failure messages
1077 - general code tidying, made return codes more consistent
1078 - Makefile fixed for dependencies and makes libtomcrypt as well
1079 - Implemented sending SSH_MSG_UNIMPLEMENTED :)
1081 0.29 - Wed Apr 9 2003
1083 - Fixed a stupid bug in 0.28 release, 'newstr = strdup(oldstr)',
1084   not 'newstr=oldstr'
1086 0.28 - Sun Apr 6 2003
1088 - Initial public release
1090 Development was started in October 2002