1.19.0 is released
Denys Vlasenko
vda.linux at googlemail.com
Sat Aug 13 07:45:32 UTC 2011
Rob,
'less: optionally query terminal size via "ESC [ 6 n". Closes 2659'
item is the thing you asked for sometime ago. It is finally done.
=======================================================
13 August 2011 -- BusyBox 1.19.0 (unstable)
Sizes of busybox-1.18.5 and busybox-1.19.0 (with equivalent config, static uclibc build):
text data bss dec hex filename
837577 493 7516 845586 ce712 busybox-1.18.5/busybox
839598 493 7508 847599 ceeef busybox-1.19.0/busybox
Changes since previous release:
Alexander Shishkin:
diff: return 1 when skipping directories with -r, but without -N
Alexey Fomenko:
libbb: remove dead code in getopt32
lineedit: fix rare SEGV
route: add missing fclose's
ifupdown: don't leak malloced variables in the loop; remove double alloc
md5/sha1sum: fix small resource leak
Alexey Soloviev:
date: preserve isdst value if date is in time_t (unix time) format
Bernhard Reutner-Fischer:
mount: for NFS use tcp per default rather than udp
inetd: check if RPC is available
Bogdan Harjoc:
find: implement -ipath
Chris Rees:
build system: do not use GNU-isms in find
FreeBSD compat patches
Dan Fandrich:
simplify Ethernet header includes
use the built-in getline on more systems that don't have it
hush: support set -o xtrace/noexec alternates for set -x/-n
fbsplash: display images even when a second buffer is active
blockdev: add --getsz to replace --getsize
platform.h: support for build under Android
Daniel Fandrich:
replaced __u32 etc with standard uint32_t style types
support configuring Busybox from _defconfig files
add defconfig files for Android, Cygwin and FreeBSD
Davide Cavalca:
hwclock: implement --systz
syslogd: add and use CONFIG_FEATURE_SYSTEMD
Denys Vlasenko:
use net/ethernet.h instead of linux/if_ether.h in more cases. Closes 3619
improve --install operation in chroot jails
incorporate header fixes proposed in bug 3097
remove erroneous dependencies on INSTALLER
remove old "define lchown chown"
replace "depends on PLATFORM_LINUX" with "select PLATFORM_LINUX"
use user's shell instead of hardwired "/bin/sh" (android needs this)
disable automatic selection of FEATURE_SUID
if only one applet is enabled, make "busybox applet [params]" work as expected
scripts/kconfig/mconf.c: stop-gap fix for buffer overflow
libbb/login/su: do not sanitize shell name twice
libbb/progress.c: make sure we never get negative ETA
libbb/progress.c: use unicode support funcs instead of open-coding it
libbb/progress.c: better overflow protection; more precise bar
libbb/progress.c: display >999 hours ETA correctly
libbb/progress.c: fix bugs found in stall detection and unknown size logic
libbb/read_cmdline: prepend {comm} if different from argv0. Closes 3835
libbb: make BB_EXECVP/LP try to exec real binary if there's no /proc/self/exe
libbb: make set_nport accept pointer to sockaddr, not to len_and_sockaddr
libbb: make user/group name cache strings longer (~27 chars)
libbb: optionally support RTMIN[+n] and RTMAX[-n] signal names
libbb: spawn should remove child which failed to exec
libbb: use _unlocked variants of stdio I/O
lineedit: implement optional Ctrl-R history search
lineedit: fixes for CONFIG_UNICODE_USING_LOCALE=y
main: free suid_config list after use
main: make busybox.conf mode handling less obscure
ash: fix ash-signals/signal8 testcase failure
ash: fix execution of shell scripts without shebang
ash: optional support for $TMOUT variable
ash,hush: add ulimit -e -r (RLIMIT_NICE, RLIMIT_RTPRIO)
ash,hush: optional support for $HISTFILESIZE
ash,hush: recheck LANG before every line input
hush: do not print killer signal's name for SIGPIPE
hush: fix "cmd & <newline>" problem
hush: fix FEATURE_CLEAN_UP code (was freeing unallocated memory)
hush: fix a case where return in sourced file has no effect
hush: fix a corner case of empty "do \n done" structure
hush: fix incorrect PS2 display and trap handling while reading command
hush: fix login shell's signal handling; add -l option so that it's easier to test
hush: fix misparsing of "... do eval a= ...". Closes 3721
hush: fix bugs with IFS expansion. Closes 4027
hush: fix source1.tests
hush: fix wrong prompt problem on empty interactive commands
hush: fixes and small shrink for HUSH_JOB!=y
hush: improve prompt in nested {}s
hush: make parse errors in sourced file non-fatal in interactive script
hush: make read builtin interruptible
hush: replace signal handling machinery
hush: use FEATURE_SH_NOFORK to enable NOFORK trick
adduser: better logic for choosing addgroup -g/--gid
adduser: prefer to call addgroup --gid, not non-std addgroup -g
adduser: safe username passing to passwd/addgroup
adduser: use better argv passing to addgroup
basename,dirname,freeramdisk,rx,raidautorun,runsv,chvt: skip "--" argument
blkid: optional support for TYPE="fstype"
busybox.conf: USER.GROUP is _optional_
busybox: fail if --install is not given an absolute path
bzip2: plug memory leak on every processed file
chrt: -m can be used without any arguments. Closes 2989
chrt: correct opt_complementary. Closes 2977
cpio: allow cpio -i to take params - names of files to extract
date,touch: treat 2-digit years better (fit them into +-50 yrs around today)
date: add a comment about _SVID_SOURCE
dc: fix a case where we can run off malloced space
die_if_bad_username: tighten up a bit
echo: do not retry on write errors
echo: fix ENOSPC detection and some iffy code in \NNN handling
echo: fix SEGV when run with no args
fbset: abort on unknown options. Closes 3121
fbset: apply modelines. Closes 3823
fdisk: make FDISK_SUPPORT_LARGE_DISKS redundant when LFS=y
fdisk: reinstate a short sleep between sync() and ioctl(BLKRRPART)
fdisk_osf: simplify ifdef (incidentally, adds support for Microblaze)
find: cater for libc w/o FNM_CASEFOLD
find: fix a bug in !ENABLE_FEATURE_FIND_XDEV config
find: print/print0/prune _can_ be inverted, fix it
find: remove the hack we use to parse options first, replace with simpler code
fix !ENABLE_FEATURE_GETOPT_LONG build. Closes 3775
fix parameter loading problem for 2.4 kernels. Closes 3223
fuser: fix inverted access() check. Closes 3799
gen_build_files.sh: do not use "sed --" for now
getty: add ECHOE explanation
getty: add sleep before initial tcdrain; reduce another sleep from 1 to 0.1s
getty: do clear CLOCAL and CRTSCTS unless told otherwise
getty: do not clear all c_cflag's (we were clearing baud bits!)
getty: document bits we don't set - maybe we should set some of them?
getty: fix -i (was ignored)
getty: flush _only_ input after switching to the next baud rate
getty: simplify macros; improve VSWTC[H] compat
getty: use cfsetspeed to save some bytes
groups: make it NOEXEC
halt/reboot: better message if /sbin/telinit is not found
httpd: send correct mtime for .gz files
hwclock: use locale-specific date output format
id: correct getgroups usage
id: fix inverted if (!ENABLE_DESKTOP)
init: fix a case where execv's 1st arg was wrong
init: simpler handling of leading dash in commands
insmod: check for module read errors
iplink: tweak includes to work on android
iproute: fix handling of "dev IFACE" selector
iproute: fix parsing and matching of "short" IP addrs like 10/8
kill[all[5]],pkill: make signal list show signal numbers, and show RTMIN/MAX
klogd: fix the problem of delayed handling of ^C and SIGTERM
length: disable this applet
less: optionally query terminal size via "ESC [ 6 n". Closes 2659
ls: -g implies -l
ls: add support for -H
ls: fix HAVE_STRVERSCMP check; add check for older uclibc versions
ls: fix bits for -T, -w and --color; make -n imply -l
ls: fix handling of symlinks by option -1
ls: fix one-bit-off which caused -H to behave as -h
ls: for some options, only last takes effect. Closes 2959
ls: make -F not follow symlinks of the command line
ls: make -v and -X actually work as intended
ls: make -x force columnar output
ls: print a space after each column. Closes 2941
ls: reduce memory consumption and speed up (don't do redundant [l]stat)
ls: widen -s (1k blocks) column from 4 to 6
lsmod: fix unsafe usage of strlen()-1
mailutils/*: add verbose option to sendmail; remove -m and -j from makemime
mesg: make group/all writability configurable
mesg: operate on stdin, not on stderr (compat)
mktemp: make it more compatible with GNU coreutils 8.4
modprobe-small: support compressed modules in insmod
modprobe/insmod: fix parameter quoting
modprobe: fix "modprobe -l name-with-dash"
more: exit if write to stdout errors out
more: fix tabs handling
mount: strip multiple trailing slashes, not just one
move nofork_save_area from libbb.h to vfork_daemon_rexec.c
nmeter: deprecate %NNNd specified, use -d MSEC instead
ntpd: decrease ntpd -q "no response" timeout to 10 sec
od: another fix for --strings
od: fix "od --traditional FILE"
od: fix -S NUM to not print chars >0x80
parse_config: make test applet easier to enable; fix its code
ping: fix IPv6 pinging. Closes 3187
ping: set not only IP_TTL, but also IP_MULTICAST_TTL
printenv: fix environ == NULL segfault
procps: remove PSSCAN_STAT define, users were using it incorrectly
ps: implement -o stat
pstree: use stdin for screen size detection
reformime: do not require \r\n
reset: "ESC(K" selects German, why did we use that? Change to "ESC(B" (US)
sed: support \r in s command
start-stop-daemon: fix "-K --test --pidfile PIDFILE" exit code
stty: enable line discipline display and change code if __linix__
stty: make swtch and iutf8 visible/settable
su: document -l in --help text. Closes 2761
tail: optimize "tail -c HUGENUM REGULAR_FILE". Closes 3763
tar: fix a bug where autodetection messes up -z on extract
tar: on extract, everything up to and including last ".." is stripped
tar: skip leading / and handle names like abc/..////def -> def (not ///def)
tar: store negative mtime as 0; pack very large files using base-256 encoding
tar: support "-T -" and "-X -"
telnetd: write utmp record with correct pid
tftp: fix bad interaction between poll() and alarm(). Closes 3061
tftp: fix progress bar for large (>32M) files. Closes 3499
tftpd: add -l "log to syslog" option. Needed for inetd mode
top: better indicator of selected field in mem view
top: display sort indicator in memory display
top: make it possible to feed commands via pipe
top: replace %MEM with %VSZ in header text
traceroute: properly reduce poll timeout
udhcp: fix some default values from "" to NULL
udhcpc: allow -O OPT take numeric params
udhcpc: emit "correct" secs field
udhcpc: fix a problem with binary-encoded options
udhcpd: reply with NAK to clients in INIT-REBOOT state w/o existing lease
udhcpd: smaller code: do not look for REQUESTED_IP twice
uptime: more compatible output
wc: fix swapped -c and -m
wget: check for final write errors for -O FILE too
wget: chunked mode fix. Closes 3229
wget: correctly handle rare case when we get EAGAIN _on first_ read
wget: display 100% at the _end_ of chunked download
wget: fix fname_out usage wrt redirects
wget: make "wget -O FILE URL1 URL2" concatenate output
wget: remove functions which retry on EINTR
wget: support multiple URLs on command line
wget: use FEATURE_COPYBUF_KB-sized buffer. Much faster for local transfers
wget: use closed HTTP/1.1 connection, stop when we dl'ed $content_len bytes
xargs: support --no-run-if-empty (synonym to -r)
Eric Lammerts:
runsvdir: do not miss closely spaced service dir changes
Harald Becker:
showkey: make -a work on any stdin
Ian Wienand:
login: apply PAM environment
ash: clear sa_flags always
tar: ignore file size (assume 0) for hardlinks
James Youngman:
ls: remove redundant constants LIST_FILENAME and LIST_SHORT
Joachim Nilsson:
ping: add -t TTL option
build system: fix "make install" to skip /usr when configured so
Keith Young:
udhcpc: add -B option
Kevin Cernekee:
cttyhack: check sysfs for the name of the active console
cttyhack: fail gracefully if the device node is missing
Lauri Kasanen:
pstree: new applet
df,find_mount_point: optionally don't ignore rootfs
modinfo: show firmware and depends fields
fdisk: backport disk check from util-linux
md5/shaNsum: make -c support a list of files
Macpaul Lin:
scripts: fix fixdep.c to let it work in Cygwin
Maksym Kryzhanovskyy:
iostat: code shrink ~0.5k
fuser: code shrink
iostat: code shrink
Marek BeФka:
setserial: new applet
Nigel Hathaway:
udhcp: add FEATURE_UDHCP_8021Q option
udhcpc: export unrecognized options in "optNN=XXXXXXXXX" form
Nuno Lucas:
fbsplash: add support for 24 and 32 bit color depth
Pascal Bellard:
chsum: fix
conspy: fix lost ESC key
Pere Orga:
whois: new applet
pwdx: new applet
move help text from include/usage.src.h to *.c files
wget: fix SEGV with multiple urls and redirection
kill: fix infinite loop when passed PIDs are not valid numbers
uptime: add config flag to allow displaying the number of users currently logged on
Peter Korsgaard:
getty: wait up to 5 seconds for the output buffer to drain
mount: ignore unknown mount options when remounting NFS mounts
httpd: don't send error messages with gzip encoding
setconsole: open console for writing rather than reading
Phil Sutter:
nameif: fix parsing of /proc/net/dev
nameif: add matching by phy_address=NUM
Ralf Friedl:
df: more compatible -P behavior
Reuben Dowle:
ubimkvol,ubirmvol,ubirsvol,ubiupdatevol: new applets
Rob Landley:
patch: fix "patch at the beginning" testcase failure
Roman Borisov:
mount: fix wrong long option names
mount: properly update /etc/mtab on mount --move
mount: rprivate option fix
mount: add --rbind option support
diff: optimize diffing of files with the same metadata
Ryan Phillips:
login: set PAM RHOST
Sergey Naumov:
syslogd: optional support for /etc/syslog.conf
Serj Kalichev:
modprobe: add support for --show-depends
modprobe: add -D option (synonym of --show-depends)
Steve Iribarne:
pam link error with SHARED_BUSYBOX and LIBBUSYBOX enabled
Timo Teras:
modprobe: use hash table. speeds up significantly if modprobe.dep is large
parse_config: use getline. BIG speedup with glibc (~40%)
platform.c: provide getline implementation
Tito Ragusa:
passwd,chpasswd: reset password in /etc/passwd to "x" if /etc/shadow was updated
groups: new applet
users: new applet
Vitaly Magerya:
wget: --post-data=STR should not encode STR, should send it verbatim
Vladislav Grishenko:
udhcpc: use more correct, and more importantly, more understandable BPF code
udhcpd: optional IP selection based on MAC hash
Wade Berrier:
pkill/pgrep: support extended regular expressions
Walter Harms:
vi: fix regex search, make it selectable in config
More information about the busybox
mailing list