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.
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
36 - Don't reply with SSH_MSG_UNIMPLEMENTED when we receive a reply to our own
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
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
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
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
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
88 2014.63 - Wednesday 19 February 2014
90 - Fix ~. to terminate a client interactive session after waking a laptop
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
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.
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
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
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
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
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
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
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
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
327 - Avoid some memory allocations in big number maths routines, improves
330 - Fix symlink target for installdropbearmulti with DESTDIR set, thanks to
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.
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
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
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
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
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
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
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).
529 - Avoid hanging after exit in certain cases (such as scp)
531 - Various minor fixes, in particular various leaks reported by
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
582 - Turn on zlib compression for dbclient.
584 - Set "low delay" TOS bit, can significantly improve interactivity
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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,
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
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
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
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)',
1086 0.28 - Sun Apr 6 2003
1088 - Initial public release
1090 Development was started in October 2002