LWN.net Logo

BusyBox 1.10.0 is out

From:  Denys Vlasenko <vda.linux-AT-googlemail.com>
To:  busybox-AT-busybox.net
Subject:  BusyBox 1.10.0 is out
Date:  Fri, 21 Mar 2008 21:58:48 +0100
Message-ID:  <200803212158.48251.vda.linux@googlemail.com>
Archive-link:  Article, Thread

21 March 2008 -- BusyBox 1.10.0 (unstable)

Sizes of busybox-1.9.2 and busybox-1.10.0 (with almost full config, static uclibc build):

   text    data     bss     dec     hex filename
 781405     679    7500  789584   c0c50 busybox-1.9.2
 773551     640    7372  781563   becfb busybox-1.10.0

Top 10 stack users:

busybox-1.9.2:               busybox-1.10.0:
echo_dg                 4116 bb_full_fd_action       4112
bb_full_fd_action       4112 find_list_entry2        4096
discard_dg              4108 readlink_main           4096
discard_dg              4096 ipaddr_list_or_flush    3900
echo_stream             4096 iproute_list_or_flush   3680
discard_stream          4096 insmod_main             3152
find_list_entry2        4096 fallbackSort            2952
readlink_main           4096 do_iproute              2492
ipaddr_list_or_flush    3900 cal_main                2464
iproute_list_or_flush   3680 readhere                2308

New applets: brctl, chat (by Vladimir Dronnikov <dronnikov AT gmail.com>),
findfs, ifenslave (closes bug 115), lpd (by Vladimir Dronnikov <dronnikov AT gmail.com>),
lpr+lpq (by Walter Harms), script (by Pascal Bellard <pascal.bellard AT ads-lu.com>),
sendmail (Vladimir Dronnikov <dronnikov AT gmail.com>), tac, tftpd.

Made NOMMU-compatible: crond, crontab, ifupdown, inetd, init, runsv, svlogd, tcpsvd, udpsvd.

Changes since previous release:

    * globally: add -Wunused-parameter
    * globally: add optimization barrier to all "G trick" locations
    * adduser/addgroup: check username for invalid chars (by Tito <farmatito AT tiscali.it>)
    * adduser: optional support for long options. Closes bug 2134
    * ash: handle "A=1 A=2 B=$A; echo $B". Closes bug 947
    * ash: make ash -c "if set -o barfoo 2>/dev/null; then echo foo; else echo bar; fi" work.
Closes bug 1142
    * build system: don't use "gcc -o /dev/null", old gcc can delete /dev/null in this case
    * build system: fixes for cross-compiling on an OS X host
    * build system: make it do without "od -t"
    * build system: pass CFLAGS to link stage too. Closes bug 1376
    * build system: add CONFIG_NOMMU
    * cp: add ENABLE_FEATURE_VERBOSE_CP_MESSAGE. Closes bug 1470
    * crontab: almost complete rewrite
    * dnsd: properly set _src_ IP:port on outgoing UDP packets
    * dpkg: fix bug where existence check was reversed
    * eject: add -s for SCSI- and USB-devices (Nico Erfurth)
    * fdisk: fix a case where break was reached only for DOS labels
    * fsck: don't kill pid -1! (Roy Marples <roy at marples.name>)
    * fsck_minix: fix bug in map_block2: s/(blknr >= 256 * 256)/(blknr < 256 * 256)/
    * fuser: substantial rewrite
    * getopt: add support for "a+" specifier for nonnegative int parameters. By Vladimir Dronnikov
<dronnikov at gmail.com>
    * getty: don't try to detect parity on local lines (Joakim Tjernlund <Joakim.Tjernlund at
transmode.se>)
    * halt: write wtmp entry if wtmp support is enabled
    * httpd: "HEAD" support. Closes bug 1530
    * httpd: fix bug 2004: wrong argv when interpreter is invoked
    * httpd: fix bug where we did chdir("") if CGI path had only one "/"
    * httpd: fix for POST upload
    * httpd: support for "I:index.xml" syntax (Peter Korsgaard <jacmet AT uclibc.org>)
    * hush: fix a case where none of pipe members could be started because of fork failure
    * hush: more correct handling of piping
    * hush: reinstate `cmd` handling for NOMMU
    * hush: report [v]fork failures
    * hush: set CLOEXEC on script file being executed
    * hush: try to add a bit more of vfork-friendliness
    * inetd: make "udp nowait" work
    * inetd: make inetd IPv6-capable
    * init: add FEATURE_KILL_REMOVED (Eugene Bordenkircher <eugebo AT gmail.com>)
    * init: allow last line of config file to be not terminated by "\n"
    * init: do not die if "/dev/null" is missing
    * init: fix bug 1111: restart actions were not splitting words
    * init: wait for orphaned children too while waiting for sysinit-like processes (harald-tuxbox
AT arcor.de)
    * ip route: "ip route" was misbehaving (extra argv+1 ate 1st env var)
    * last: do not go into endless loop on read error
    * less,klogd,syslogd,nc,tcpudp: exit on signal by killing itself, not exit(1)
    * less: "examine" command will not bomb out on bad file name now
    * less: fix bug where backspace wasn't actually deleting chars
    * less: make it a bit more resistant against status line corruption
    * less: improve search when data is not supplied fast enough by stdin - now will try reading
for 1-2 seconds before declaring that there is no match. This fixes a very common annoyance with
long manpages
    * less: update line input so that it doesn't interfere with screen update. Makes "man bash",
[enter], [/], <enter search pattern>, [enter] more usable - manpage now draws even as you enter the
pattern!
    * libbb: filename completion matches dangling symlinks too
    * libbb: fix getopt state corruption for NOFORK applets
    * libbb: full_read/write now will report partial data counts prior to error
    * libbb: intrduce and use safe_gethostname. By Tito <farmatito AT tiscali.it>
    * libbb: introduce and use nonblock_safe_read(). Yay! Our shells are immune from this nasty
O_NONBLOCK now!
    * login,su: avoid clearing environment with some options, as was intended
    * microcom: read more than 1 byte from device, if possible
    * microcom: split -d (delay) option away from -t
    * mktemp: support -p DIR (Timo Teras <timo.teras at iki.fi>)
    * mount: #ifdef out MOUNT_LABEL code parts if it is not selected
    * mount: add another mount helper call method
    * mount: allow and ignore _netdev option
    * mount: make -f work even without mtab support (Cristian Ionescu-Idbohrn
<cristian.ionescu-idbohrn at axis.com>)
    * mount: optional support for -vv verbosity
    * mount: plug a hole where FEATURE_MOUNT_HELPERS could allow execution of arbitrary command
    * mount: recognize "dirsync" (closes bug 835)
    * mount: sanitize environment if called by non-root
    * mount: support for mount by label. Closes bug 1143
    * mount: with -vv -f, say what mount() calls we were going to make
    * msh: create testsuite (based on hush one)
    * msh: don't use floating point in "times" builtin
    * msh: fix Ctrl-C handling with line editing
    * msh: fix for bug 846 ("break" didn't work second time)
    * msh: glob0/glob1/glob2/glob3 were just a sorting routine, removed
    * msh: instead of fixing "ls | cd", "cd | ls" etc disallow builtins in pipes. They make no
sense there anyway
    * msh: stop trying to parse variables in "msh SCRIPT VAR=val param". They are passed as
ordinary parameters
    * netstat: print control chars as "^C" etc
    * nmeter: fix bug where %[mf] behaves as %[mt]
    * nohup: compat patch by Christoph Gysin <mailinglist.cache at gmail.com>
    * od: handle /proc files (which have filesize 0) correctly
    * patch: don't trash permissions of patched file
    * ps: add conditional support for -o [e]time
    * ps: fix COMMAND column adjustment; overflow in USER and VSZ columns
    * reset: call "stty sane". Closes bug 1414
    * rmdir: optional long options support for Debian users. By Roberto Gordo Saez <roberto.gordo
AT gmail.com>
    * run-parts: add --reverse
    * script: correctly handle buffered "tail" of output
    * sed: "n" command must reset "we had successful subst" flag. Closes bug 1214
    * sort: -z outputs NUL terminated lines. Closes bug 1591
    * stty: fix mishandling of control keywords (Ralf Friedl <Ralf.Friedl AT online.de>)
    * switch_root: stop at first non-option. Closes bug 1425
    * syslogd: avoid excessive time() system calls
    * syslogd: don't die if remote host's IP cannot be resolved. Retry resolutions every two
minutes instead
    * syslogd: fix shmat error check
    * syslogd: optional support for dropping dups. Closes bug 436
    * syslogd: send "\n"-terminated messages over the network. Fully closes bug 1574
    * syslogd: tighten up hostname handling
    * tail: fix "tail -c 20 /dev/huge_disk" (was taking ages)
    * tar: compat: handle tarballs with only one zero block at the end
    * tar: autodetection of gz/bz2 compressed tarballs. Closes bug 992
    * tar: real support for -p. By Natanael Copa <natanael.copa at gmail.com>
    * tcpudp: narrow down time window where we have no wildcard socket
    * telnetd: use login always, not "sometimes login, sometimes shell"
    * test: fix mishandling of "test ! arg1 op arg2 more args"
    * trylink: instead of build error, disable --gc-sections if GLIBC and STATIC are selected
    * udhcp: make file paths configurable
    * udhcp: optional support for non-standard DHCP ports
    * udhcp: set correct op byte in the packet for DHCPDECLINE
    * udhcpc: filter unwanted packets in kernel (Cristian Ionescu-Idbohrn <cristian.ionescu-idbohrn
AT axis.com>)
    * udhcpc: fix wrong options in decline and release packets (Jonas Danielsson <jonas.danielsson
AT axis.com>)
    * umount: do not complain several times about the same mountpoint
    * umount: do not try to free loop device or erase mtab if remounted ro
    * umount: instead of non-standard -D, use -d with opposite meaning. Closes bug 1604
    * unlzma: shrink by Pascal Bellard <pascal.bellard AT ads-lu.com>
    * unzip: do not try to read entire compressed stream at once (it can be huge)
    * unzip: handle short reads correctly
    * vi: many fixes
    * zcip: don't chdir to root
    * zcip: open ARP socket before openlog (else we can thrash syslog socket)

--
vda


(Log in to post comments)

Copyright © 2008, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds
Powered by Rackspace Managed Hosting.