1 June 2007 -- BusyBox 1.6.0 (unstable)
+ BusyBox 1.6.0.
+ (patches,
+ how to add a patch)
+
+ Since this is a x.x.0 release, it probably does not deserve "stable"
+ label. Please help making 1.6.1 stable by testing 1.6.0.
+ Note that hush shell had many changes and (hopefully) is much improved now,
+ but there is a possibility that it regressed in some obscure cases. Please
+ report any such cases.
+ lash users please note: lash is going to be deprecated in busybox 1.7.0
+ and removed in the more distant future. Please migrate to hush.
+ Memory usage has decreased, but we can do better still
+ Other changes since previous release:
+
+- NOFORK: audit small applets and mark some of them as NOFORK. Put big scary warnings in relevant places
+
- NOFORK: factor out NOFORK/NOEXEC code from find. Use NOFORK/NOEXEC in find and xargs
+
- NOFORK: remove potential xmalloc from NOFORK path in bb_full_fd_action
+
- NOMMU: random fixes; compressed --help now works for NOMMU
+
- SELinux: load_policy applet
+
- [u]mount: extend -t option (Roy Marples <uberlord@gentoo.org>)
+
- addgroup: clean up, fix adding users to existing groups and make it optional (Tito)
+
- adduser: don't bomb out if shadow password file doesn't exist (from Tito <farmatito@tiscali.it>)
+
- applet.c: do not even try to read config if run by real root; fix suid config handling
+
- ash: fix infinite loop on exit if tty is not there anymore
+
- ash: fix kill -l (by Mats Erik Andersson <mats.andersson64@comhem.se>)
+
- ash: implement type -p, costs less than 10 bytes (patch by Mats Erik Andersson <mats.andersson64@comhem.se>)
+
- awk: don't segfault on printf(%*s). Closes bug 1337
+
- awk: guard against empty environment
+
- awk: some 'lineno' vars were shorts, made them ints (code got smaller)
+
- cat: stop using stdio.h opens
+
- config system: clarify PREFER_APPLETS/SH_STANDALONE effects in help text
+
- cryptpw: new applet (by Thomas Lundquist <lists@zelow.no>)
+
- cttyhack: new applet
+
- dd: NOEXEC fix; fix skip= parse error (spotted by Dirk Clemens <develop@cle-mens.de>)
+
- deluser: add optional support for removing users from groups (by Tito <farmatito@tiscali.it>)
+
- diff: fix SEGV (NULL deref) in diff -N
+
- diff: fix segfault on empty dirs (Peter Korsgaard <peter.korsgaard@barco.com>)
+
- dnsd: fix several buglets, make smaller; openlog(), so that applet's name is logged
+
- dpkg: run_package_script() returns 0 if all ok and non-zero if failure. The result code was checked incorrectly in two places. (from Kim B. Heino <Kim.Heino@bluegiga.com>)
+
- dpkg: use bitfields which are a bit closer to typical short/char. Code size -800 bytes
+
- dumpleases: getopt32()-ization (from Mats Erik Andersson <mats.andersson64@comhem.se>)
+
- e2fsprogs: stop using statics in chattr. Minor code shrinkage (-130 bytes)
+
- ether-wake: close bug 1317. Reorder fuctions to avoid forward refs while at it
+
- ether-wake: save a few more bytes of code
+
- find: -group, -depth (Natanael Copa <natanael.copa@gmail.com>)
+
- find: add support for -delete, -path (by Natanael Copa)
+
- find: fix -prune. Add big comment about it
+
- find: improve usage text (Natanael Copa <natanael.copa@gmail.com>)
+
- find: missed 'static' on const data; size and prune were mixed up; use index_in_str_array
+
- find: un-DESKTOPize (Kai Schwenzfeier <niteblade@gmx.net>)
+
- find_root_device: teach to deal with /dev/ subdirs (by Kirill K. Smirnov <lich@math.spbu.ru>)
+
- find_root_device: use lstat - don't follow links
+
- getopt32: fix llist_t options ordering. llist_rev is now unused
+
- getopt: use getopt32 for option parsing - inspired by patch by Mats Erik Andersson <mats.andersson64@comhem.se>
+
- hdparm: fix multisector mode setting (from Toni Mirabete <amirabete@catix.cat>)
+
- hdparm: make -T -t code smaller (-194 bytes), and output prettier
+
- ifupdown: make it possible to use DHCP clients different from udhcp
+
- ifupdown: reread state file before rewriting it. Fixes "ifup started another ifup" state corruption bug. Patch by Natanael Copa <natanael.copa@gmail.com>
+
- ifupdown: small optimization (avoid doing useless work if we are not going to update state file)
+
- ip: fix compilation if FEATURE_TR_CLASSES is off
+
- ip: mv ip*_main into ip.c; use a dispatcher to save on needless duplication. Saves a minor 12b
+
- ip: rewrite the ip applet to be less bloaty. Convert to index_in_(sub)str_array()
+
- ip: set the scope properly. Thanks to Jean Wolter
+
- iplink: shrink iplink; sanitize libiproute a bit (-916 bytes)
+
- iproute: shrink a bit (-200 bytes)
+
- kill: know much more signals; make code smaller; use common code for kill applet and ash kill builtin
+
- klogd: remove dependency on syslogd
+
- lash: "forking" applets are actually can be treated the same way as "non-forked". Also save a bit of space on trailing NULL array elements.
+
- lash: fix kill buglet (didn't properly recognize ESRCH)
+
- lash: make -c work; crush buffer overrun and free of non-malloced ptr (from Mats Erik Andersson <mats.andersson64@comhem.se>)
+
- lash: recognize and use NOFORK applets
+
- less: fix case when regex search finds nothing; fix very obscure memory corruption bug; fix less <HUGEFILE + [End] busy loop
+
- libbb: add xsendto, xunlink, xpipe
+
- libbb: fix segfault in reset_ino_dev_hashtable() when *hashtable was NULL
+
- libbb: make pidfile writing configurable
+
- libbb: make xsocket die with address family printed (if VERBOSE_RESOLUTION_ERRORS=y)
+
- libbb: rework NOMMU helper API so that it makes more sense and easier to use
+
- libiproute: audit callgraph, shortcut error paths into die() functions
+
- lineedit: do not try to open NULL history file
+
- lineedit: nuke two unused variables and code which sets them
+
- login: remove setpgrp call (makes it work from shell prompt again); sanitize stdio descriptors (we are suid, need to be careful!)
+
- login: shrink login and set_environment by ~100 bytes
+
- mount: fix incorrect usage of strtok (inadvertently used NULL sometimes)
+
- mount: fix mounting of symlinks (mount from util-linux allows that)
+
- msh: data/bss reduction (more than 9k of it); fix "underscore bug" (a_b=1111 didn't work); fix obscure case with backticks and closed fd 1
+
- nc: port nc 1.10 to busybox
+
- netstat: fix for bogus state value for raw sockets
+
- netstat: introduce -W: wide, ipv6-friendly output; shrink by ~500 bytes
+
- nmeter: should die if stdout doesn't like him anymore
+
- patch: do not try to delete same file twice
+
- ping: fix wrong sign extension of packet id (bug 1373)
+
- ps: add -o tty and -o rss support; make a bit smaller; work around libc bug: printf("%.*s\n", MAX_INT, buffer)
+
- run_parts: rewrite
+
- run_parts: do not check path portion of a name for "bad chars". Needed for ifupdown. Patch by Gabriel L. Somlo <somlo@cmu.edu>
+
- sed: fix escaped newlines in -f
+
- split: new applet
+
- stat: remove superfluous bss user (flags) and manually unswitch some areas
+
- stty: fix option parsing bug (spotted by Sascha Hauer <s.hauer@pengutronix.de>)
+
- svlogd: fix 'SEGV on uninitialized data' and make it honor TERM
+
- tail: fix SEGV on "tail -N"
+
- ipsvd: tcpsvd,udpsvd are new applets, GPL-ed 'clones' of Dan Bernstein's tcpserver. Author: Gerrit Pape <pape@smarden.org>, http://smarden.sunsite.dk/ipsvd/
+
- test: close bug 1371; plug a memory leak; code size reduction
+
- tftp: code diet, and I think retransmits were broken
+
- tr: fix bug where we did not reject invalid classes like '[[:alpha'. debloat while at it
+
- udhcp: MAC_BCAST_ADDR and blank_chaddr are in fact constant, move to rodata; use pipe instead of socketpair
+
- udhcp[cd]: stop using atexit magic fir pidfile removal; stop deleting our own pidfile if we daemonize
+
- xargs: shrink code, ~80 bytes; simplify word list management
+
- zcip: make it work on NOMMU (+ improve NOMMU support machinery)
+
+
+
+
+