24 August 2007 -- BusyBox 1.7.0 (unstable)
+ BusyBox 1.7.0.
+ (svn,
+ patches,
+ how to add a patch)
+
+ Applets which had many changes since 1.6.x:
+
httpd:
+
+ - works in standalone mode on NOMMU machines now (partly by Alex Landau <landau_alex@yahoo.com>)
+
- indexer example is rewritten in C
+
- optional support for error pages (by Pierre Metras <genepi@sympatico.ca>)
+
- stop reading headers using 1-byte reads
+
- new option -v[v]: prints client addresses, HTTP codes returned, URLs
+
- extended -p PORT to -p [IP[v6]:]PORT
+
- sendfile support
+
- add support for Status: CGI header
+
- fix CGI handling bug (we were closing wrong fd)
+
- CGI I/O loop still doesn't look 100% ok to me...
+
+
+ udhcp[cd]:
+
+ - add -f "foreground" and -S "syslog" options
+
- fixed "ifupdown + udhcpc_without_pidpile_creation" bug
+
- new config option "Rewrite the lease file at every new acknowledge" (Mats Erik Andersson <mats@blue2net.com> (Blue2Net AB))
+
- consistently treat server_config.start/end IPs as host-order
+
- fix IP parsing for 64bit machines
+
- fix unsafe hton macro usage in read_opt()
+
- do not chdir to / when daemonizing
+
+
+ top, ps, killall, pidof
+
+ - simpler loadavg processing
+
- truncate usernames to 8 chars
+
- fix non-CONFIG_DESKTOP ps -ww (by rockeychu)
+
- improve /proc/PID/cmdinfo reading code
+
- use cmdline, not comm field (fixes problems with re-execed applets showing as processes with name "exe", and not being found by pidof/killall by applet name)
+
- reduce CPU usage in decimal conversion (optional) (corresponding speedup on kernel side is accepted in mainline Linux kernel, yay!)
+
- make percentile (0.1%) calculations configurable
+
- add config option and code for global CPU% display
+
- reorder columns, so that [P]PIDs are together and VSZ/%MEM are together - makes more sense
+
+
+ Build system improvements: doesn't link against libraries we don't need,
+ generates verbose link output and map file, allows for custom link
+ stripts (useful for removing extra padding, among other things).
+
+
Code and data size in comparison with 1.6.1:
+Equivalent .config, i386 glibc dynamic builds:
+ text data bss dec hex filename
+ 672671 2768 16808 692247 a9017 busybox-1.6.1/busybox
+ 662948 2660 13528 679136 a5ce0 busybox-1.7.0/busybox
+ 662783 2631 13416 678830 a5bae busybox-1.7.0/busybox.customld
+
+Same .config built against static uclibc:
+ 765021 1059 11020 777100 bdb8c busybox-1.7.0/busybox_uc
+
+ Code/data shrink done in applets: crond, hdparm, dd, cal, od, nc, expr, uuencode,
+ test, slattach, diff, ping, tr, syslogd, hwclock, zcip, find, pidof, ash, uudecode,
+ runit/*, in libbb.
+
+
New applets:
+
+ - pscan, expand, unexpand (from Tito <farmatito@tiscali.it>)
+
- setfiles, restorecon (by Yuichi Nakamura <ynakam@hitachisoft.jp>)
+
- chpasswd (by Alexander Shishkin <virtuoso@slind.org>)
+
- slattach, ttysize
+
+
+ Unfortunately, not much work is done on shells. This was mostly stalled
+ by lack of time (read: laziness) on my part to learn how to adapt existing
+ qemu-runnable image for a NOMMU architechture (available on qemu website)
+ for local testing of cross-compiled busybox on my machine.
+
+
Other changes since previous release (abridged):
+
+ - addgroup: disallow addgroup -g num user group; make -g 0 work (Tito <farmatito@tiscali.it>)
+
- adduser: close /etc/{passwd,shadow} before calling passwd etc. Spotted by Natanael Copa <natanael.copa@gmail.com>
+
- arping: -i should be -I, fixed
+
- ash: make "jobs | cat" work like in bash (was giving empty output)
+
- ash: recognize -l as --login equivalent; do not recognize +-login
+
- ash: fix buglet in DEBUG code (Nguyen Thai Ngoc Duy <pclouds@gmail.com>)
+
- ash: fix SEGV if type has zero parameters
+
- awk: fix -F 'regex' bug (miscounted fields if last field is empty)
+
- catv: catv without arguments was trying to use environ as argv (Alex Landau <landau_alex@yahoo.com>)
+
- catv: don't die on open error (emit warning)
+
- chown/chgrp: completely match coreutils 6.8 wrt symlink handling
+
- correct_password: do not print "no shadow passwd..." message
+
- crond: don't start sendmail with absolute path, don't report obsolete version (report true bbox version)
+
- dd: fix bug where we assume count=INT_MAX when count is unspecified
+
- devfsd: sanitization by Tito <farmatito@tiscali.it>
+
- echo: fix non-fancy echo
+
- fdisk: make it work with big disks (read: typical today's disks) even if CONFIG_LFS is unset
+
- find: -context support for SELinux (KaiGai Kohei <kaigai@kaigai.gr.jp>)
+
- find: add conditional support for -maxdepth and -regex, make -size match GNU find
+
- find: fix build failure on certain configs (found by Cristian Ionescu-Idbohrn <cristian.ionescu-idbohrn@axis.com>)
+
- fsck_minix: make it print bb version, not it's own (outdated/irrelevant) one
+
- grep: implement -m MAX_MATCHES, fix buglets with context printing
+
- grep: fix selection done by FEATURE_GREP_EGREP_ALIAS (Maxime Bizon <mbizon@freebox.fr> (Freebox))
+
- hush: add missing dependencies (Maxime Bizon <mbizon@freebox.fr> (Freebox))
+
- hush: fix read builtin to not read ahead past EOL and to not use insane amounts of stack
+
- ifconfig: make it work with ifaces with interface no. > 255
+
- ifup/ifdown: make location of ifstate configurable
+
- ifupdown: make netmask parsing smaller and more strict (was accepting 255.0.255.0, 255.1234.0.0 etc...)
+
- install: fix -s (strip) option, fix install a b /a/link/to/dir
+
- libbb: consolidate ARRAY_SIZE macro (Walter Harms <wharms@bfs.de>)
+
- libbb: make /etc/network parsing configurable. -200 bytes when off
+
- libbb: nuke BB_GETOPT_ERROR, always die if there are mutually exclusive options
+
- libbb: xioctl and friends by Tito <farmatito@tiscali.it>
+
- login: optional support for PAM
+
- login: make /etc/nologin support configurable (-240 bytes)
+
- login: ask passwords even for wrong usernames
+
- md5_sha1_sum: fix mishandling when run as /bin/md5sum
+
- mdev: add support for firmware loading
+
- mdev: work even when CONFIG_SYSFS_DEPRECATED in kernel is off
+
- modprobe: add scanning of /lib/modules/`uname -r`/modules.symbols (by Yann E. MORIN)
+
- more: fixes by Tristan Schmelcher <tpkschme@engmail.uwaterloo.ca>
+
- nc: make connecting to IPv4 from IPv6-enabled hosts easier (was requiring -s local_addr)
+
- passwd: fix bug "updating shadow even if user's record is in passwd"
+
- patch: fix -p -1 handling
+
- patch: fix bad line ending handling (Nguyen Thai Ngoc Duy <pclouds@gmail.com>)
+
- ping: display roundtrip times with 1/1000th of ms, not 1/10 ms precision.
+
- ping: fix incorrect handling of -I (Iouri Kharon <bc-info@styx.cabel.net>>)
+
- ping: fix non-fancy ping6
+
- printenv: fix "printenv VAR1 VAR2" bug (spotted by Kalyanatejaswi Balabhadrapatruni <kalyanatejaswi@yahoo.co.in>)
+
- ps: fix -Z (by Yuichi Nakamura <ynakam@hitachisoft.jp>)
+
- rpm: add optional support for bz2 data. +50 bytes of code
+
- rpm: fix bogus "package is not installed" case
+
- sed: fix 'q' command handling (by Nguyen Thai Ngoc Duy <pclouds@gmail.com>)
+
- start_stop_daemon: NOMMU fixes by Alex Landau <landau_alex@yahoo.com>
+
- stat: fix option -Z SEGV
+
- strings: strings a b was processing a twice, fix that
+
- svlogd: fix timestamping, do not warn if config is missing
+
- syslogd, logread: get rid of head pointer, fix logread bug in the process
+
- syslogd: do not convert tabs to ^I, set syslog IPC buffer to mode 0644
+
- tar: improve OLDGNU compat, make old SUN compat configurable
+
- test: fix testing primary expressions like '"-u" = "-u"'
+
- uudecode: fix to base64 decode by Jorgen Cederlof <jcz@google.com>
+
- vi: multiple fixes by Natanael Copa <natanael.copa@gmail.com>
+
- wget: fix bug in base64 encoding (bug 1404). +10 bytes
+
- wget: lift 256 chars limitation on terminal width
+
- wget, zcip: use monotonic_sec instead of gettimeofday
+
+
+
+