diff options
authorDenys Vlasenko <>2013-12-31 23:48:35 (GMT)
committerDenys Vlasenko <>2013-12-31 23:48:35 (GMT)
commitc7436d0fe969a15e3cbf861c0e3122002ecd7d6e (patch)
parent9b4a3b3227639a5f700337d792ed70b1e0cb86bd (diff)
Announce 1.22.0
Signed-off-by: Denys Vlasenko <>
1 files changed, 355 insertions, 0 deletions
diff --git a/news.html b/news.html
index 3f4bd42..3694444 100644
--- a/news.html
+++ b/news.html
@@ -31,6 +31,361 @@
+ <li><b>1 January 2014 -- BusyBox 1.22.0 (unstable)</b>
+ <p><a href="">BusyBox 1.22.0</a>.
+ (<a href="">git</a>,
+ <a href="">patches</a>,
+ <a href="">how to add a patch</a>)</p>
+ <p>Sizes of busybox-1.21.1 and busybox-1.22.0 (with equivalent config, static uclibc build):<pre>
+ text data bss dec hex filename
+ 891522 497 7584 899603 dba13 busybox-1.21.1
+ 893754 497 7568 901819 dc2bb busybox-1.22.0</pre>
+ </p>
+ <p>Changes since previous release:
+Aaro Koskinen (9):
+ fdisk_sun: fix corrupted partition data with blank disk
+ fdisk_sun: fix partition alignment
+ sendmail: avoid sending mail to wrong addresses
+ sendmail: don't mangle e-mail headers
+ sendmail: support addresses inside angle brackets
+ sendmail: support address lists
+ sendmail: support long header fields for recipients
+ sendmail: don't add To: header if it already exists
+ sendmail: don't add multiple To: headers
+Alexander Shiyan (2):
+ nanddump: fix build if nandwrite isn't enabled
+ flash_eraseall: implement -N
+Bartosz Golaszewski (6):
+ grep: don't bail out on first mismatch if '-w' option is set
+ networking: code shrink
+ date: accept 'yyyy-mm-dd HH' and 'yyyy-mm-dd' date formats
+ Refactor catv. Move visible() from stty to libbb.
+ tail compat: fix header printing for tail -f
+ bloat-o-meter: add usage info
+Bernhard Reutner-Fischer (11):
+ awk: Fix handling of functions with empty body
+ setserial: Fix typo: s/baund_rate/baud_rate/g
+ chrt: remove warning for _POSIX_PRIORITY_SCHEDULING
+ buildsys: Add helper to list suid applets
+ awk: Fix handling of functions with empty body
+ swaponoff: shrink
+ ash: Use setvar2 some more
+ fstrim: -17b
+ fstrim: Indicate failure on error
+ fstrim: Needs to fire at the mp, not bd
+Bernhard Walle:
+ pgrep: fix -x option
+Bogdan Purcareata:
+ init: halt on SIGPWR too
+Cristian Ionescu-Idbohrn:
+ foo*sum: Correct syntax error
+Cédric Cabessa:
+ syslogd: use _PATH_LOG when available
+Daniel Borca (4):
+ platform: strchrnul is missing if __APPLE__
+ dpkg-deb: cosmetic correction to usage text
+ ping: try SOCK_DGRAM if no root privileges
+ build system: fix make gconfig
+David A. Wheeler (2):
+ sed: accept -E as a synonym for -r
+ sed: accept s///i as a synonym for s///I ("ignore case")
+Denys Vlasenko:
+ Call setlocale("") , not "C", if we want to set the default one
+ Commonalize typical [b,]k,m suffix struct
+ Make smart_ulltoa return pointer to end (allows for code shink in callers)
+ Makefile.custom: make "make release" delete .gitignore files too
+ Move create_icmp[6]_socket to its only user, and simplify it
+ Use unsigned printf/scanf conversion where more appropriate
+ adduser: check whether run with no USERNAME. Closes 6728
+ ash: add comment about failures in source builtin. No code changes.
+ awk: fix a bug in argc counting in recent change
+ awk: fix length(array)
+ awk: use "long long" as integer type, not "int"
+ bootchartd: warn if .config looks wrong
+ build system: use od -b instead of od -t x1
+ bunzip2: fix off-by-one check
+ chpst: fix a bug where -U USER was using wrong USER (one from -u USER)
+ cryptpw: do not segfault on EOF. Closes 6350
+ dd: do not reuse local variables for unrelated values.
+ dd: fail if swab is attempted on odd-sized block
+ dd: fix example in a comment. No code changes.
+ dd: support conv=swab
+ decompress_unlzma: 10% speedup in "small" code
+ decompress_unlzma: make "fast" version a bit smaller
+ decompress_unlzma: move function, no code changes
+ devfsd: remove static variable
+ ether-wake: shorten help text, reduce packet buffer size
+ find: support -HLP
+ find: get rid of nested function (it's a gcc-ism)
+ fix assorted unused code and wrong format specs found by cppcheck (bug 6716)
+ fix build error with musl libc due to if_slip.h
+ fix error message on failure to open /dev/null; fix zcat's help text
+ flashcp: pad output to BUFSIZE. Hopefully closes 5882
+ foo*sum: report I/O errors, don't merely exit with 1.
+ head,tail: use common suffix struct. simplify help text.
+ head: support -n -NUM and -c -NUM
+ hexdump: don't unconditionally limit the usable address range
+ hexdump: need to use xstrtoull for off_t
+ hostid: do not output sign-extended host id. Closes 6056
+ httpd: don't allow tabs and multiple spaces in request string
+ httpd: make sure pfd[TO_CGI].revents is cleared before poll()
+ httpd: treat errors from stdin correctly.
+ hush: fix build failure if FEATURE_EDITING=y && !HUSH_INTERACTIVE
+ hush: fix for "while false && true; do echo BUG; break; done". closes 6170
+ hush: source builtin should override $N only if it has args
+ hush: typo fixes in comments
+ ifplugd: make -k send SIGINT, not SIGQUIT
+ ifupdown: support "source" stanza in /etc/network/interfaces
+ init: don't use fixed size buffer for command
+ init: remove special-case code for machines with less tham 1 MB of RAM.
+ iplink: comment out include <net/if_packet.h>
+ iplink: fix build error (IFLA_VLAN_PROTOCOL defined before include)
+ less: support "less 1<>TTY"
+ libbb: introduce and use strftime_[YYYYMMDD]HHMMSS()
+ lineedit: \W on "/bin" should show "bin", not "/bin"
+ lineedit: add handling of \H in prompt
+ lineedit: fix multi-line PS1 handling: calculate PS1 length from last \n
+ lineedit: implement \T \t \A \@ prompts escapes, fix \W escape, drop \!
+ lineedit: improve Unicode handling (still buggy though)
+ lineedit: use unicode_strwidth instead of unicode_strlen
+ loadkmap: explain what happens with K_ALLOCATED key value
+ logread: don't call shmdt() before exit, kernel does it for us.
+ logread: flush output. closes 6710
+ logread: intercept all fatal signals, not just SIGINT
+ losetup: assorted fixes. Closes 6314
+ lzop: fiq -q and OPTION_DECOMPRESS mismatch
+ make --help return exitcode 0. Closes 5612
+ man: install to /usr/bin, not /sbin
+ md5/sha512: a better fix for strict aliasing warnings
+ mdev: add environment variable match
+ mdev: call index_in_strings on $ACTION only after we checked it for NULL
+ mdev: chdir back to /dev after trying to read firmware
+ mdev: extend debug logging output
+ mdev: improve $SEQ handling; improve debug logging
+ mkfs_minix: use get_volume_size_in_bytes instead of local version
+ nc: don't redirect stderr to network in -e PROG mode
+ nc: exit when both stdin and network are closed.
+ nc: fix build failure ("subscripted value is neither array nor pointer")
+ nc: remove some dead code
+ nc: remove unnecessary "errno = 0"
+ nc: use symbolic SHUT_WR instead of literal 1
+ nc_bloaty: support -ll and -lk. Closes 2245
+ nslookup: set default DNS server again. Hopefully helps with 675
+ ntpd: do not invalidate datapoints after step
+ ntpd: drop delay outliers; run "unsync" handler if no replies for some time
+ ntpd: let user know if spike was detected
+ ntpd: make "unsync" code actually work.
+ ntpd: promote log level 3 to production
+ ntpd: set G.last_script_run even if script isn't configured
+ ntpd: set offset to 0.0 in "usync" event
+ ntpd: speed up resyncing if our clock is seriously off
+ ping[6]: accept and ignore -n. Code shrink
+ ps: fix sscanf format specifier (%l); make uptime unsigned
+ ps: seconds_since_boot: uint64_t -> ulong
+ pstree: fix theoretically unsafe code
+ rfkill: use new-style config/kbuild/applet
+ rpm: make -ql display more compatible; improve help text
+ rpm: stop using statics; move main() to the end of the source file
+ rpm: unmap rpm file before working with next one
+ rpm: use "create+rename" method of replacing existing files
+ run-parts: stop providing incompatible short options
+ sed: document where we are more liberal then GNU
+ sed: fix "sed clusternewline" testcase
+ sed: fix matching of newlines by $
+ sed: fix memory leak in 'r FILE' command
+ sed: open input files sequentially to avoid EMFILE
+ sed: remove now-redundant backslash-newline handling
+ stty: disable CIBAUD leak check - it is not necessary on Linux
+ sulogin: use common password-checking routine
+ tail: track file size only in -f mode
+ tar: add a testcase for previous commit
+ tar: fix exitcode check for MMU-spawned unpacking helpers
+ tar: prevent empty file to be treated as valid tarball
+ testsuite: fix false positives for du
+ touch: add conditional support for -h
+ ubi_tools: add forgotten argv++
+ ubi_tools: enhance -s option to allow size multiplier to match mtd-utils
+ ubi_tools: extend supported volume size to 64 bits; shrink code
+ udhcpc6: fix port numbers used if !FEATURE_UDHCP_PORT
+ udhcpc: allow zero server-id. Closes 6614.
+ udhcpc: fix a problem with binary-encoded options #2
+ udhcpd: add -I LOCAL_ADDR option
+ unicode: check $LC_ALL to detect Unicode mode, not only $LANG
+ unicode: check $LC_CTYPE too to detect Unicode mode
+ unpackers: by users' request, print compression percentage if -v and DESKTOP
+ unzip: increase PEEK_FROM_END from 16k to 64k
+ unzip: survive lack of CDF on non-streaming zip files
+ vasprintf: do not use xmalloc, it will deadlock on OOM
+ vasprintf: return -1 on strdup failure
+ vi: make regexp search case-insensitive if ":set ignorecase" is active
+ volume_id_internal.h: drop unoptimized byteswap routines
+ wall: access FILE under real user's credentials
+ wget: do not abort if "_" is encountered in a HTTP header
+ zcat: fix "zcat FILE" trying to do detection twice
+ zcat: if seamless uncompressors are defined, autodetect file's format
+Flemming Madsen:
+ ash,hush: history builtin
+Guilherme Maciel Ferreira (2):
+ traceroute: free some memory allocated by xzalloc()
+ wget: if FEATURE_CLEAN_UP, free(ptr_to_globals)
+James Hogan:
+ grep: fix grep -x to not set REG_NOSUB
+Jeremy Kerr:
+ udhcp: add PXELINUX config file option (code 209) definition
+Jody Bruchon:
+ fdisk: fix GPT size math errors
+Johannes Stezenbach:
+ udhcpc: make DHCP packets to have at least 300 DHCP bytes
+John Spencer:
+ man: find posix man pages
+Jonathan Liu:
+ sulogin: allow system maintenance login if root password is empty
+Kang Kai:
+ testsuite/du/du-k-works: fix false positive
+Kuleshov Aleksey:
+ arp: fix -H/-t handling.
+Lasse Collin (11):
+ xz: omit explicit \0 from HEADER_MAGIC
+ xz: update README
+ xz: avoid "NOTE:" in xz.h
+ xz: add a comment about using uint32_t as vli_type
+ xz: make bcj_x86_test_msbyte() an inline function
+ xz: remove an empty line from xz_dec_lzma2.c
+ xz: add C++ support to xz.h
+ xz: fix decoding of LZMA2 streams having no uncompressed data.
+ xz: fix incorrect XZ_BUF_ERROR
+ xz: mention xzminidec.c in README
+ xz: support concatenated .xz streams
+Lauri Kasanen (2):
+ wget: add support for connect timeout
+ wget: user-friendly fallback to http
+Leonid Lisovskiy:
+ xz: fix put_unaligned_{l,b}e32
+Malek Degachi:
+ fstrim: New applet
+Mandeep Singh Baines:
+ losetup: fix util-linux compatibility
+Michael Tokarev (4):
+ fix bashisms in testsuite/
+ expand: use printable_string instead of hard-coding implementation
+ do not fail build if MAXSYMLINKS isn't defined
+ hostname: do not use gethostbyname() for "hostname -s"
+Mike Frysinger (12):
+ udhcpc: support resolv.conf symlinks
+ udhcpc: tweak math shell style with the metric var
+ bbunzip: ignore the -q flag with the decompressors
+ bbunzip: fix order of flags vs bit defines
+ archival: note implicit dependencies between lzop & bbunzip
+ udhcpc: use readlink rather than realpath
+ platform: use KERNEL_VERSION to simplify uClibc version checking
+ readlink: uClibc supports automatic allocation too now
+ readlink: note that our -f is really -e
+ pstree: stop truncating thread names
+ md5/sha512: fix strict aliasing warnings
+ trylink: only prefix libs with -l
+Nicolas Dichtel:
+ networking: fix potential overflow in ife_print6()
+Nikolaus Voss:
+ mdev: use $DEVNAME in uevent sysfs file for device node name
+Oliver Metz:
+ volume_id: fix ntfs attribute search
+Patrick McHardy:
+ ip link: add VLAN support
+Paul B. Henson (2):
+ ubimkvol: add -m option to create volume of maximum size
+ ubi_tools: fix typo in strcpy
+Paulius Zaleckas:
+ init: don't srop unterminated processes' entries during inittab reload
+Peter Korsgaard (3):
+ run-parts: add --exit-on-error | -e support
+ run-parts: fix unicode creep in --help
+ ar: read_num(): fix reading fields using the entire width
+Rich Felker:
+ *: change execl sentinels from NULL to (char*)0
+Ron Yorston:
+ vi: fix adjustment of buffer on partial file read
+Ryan Mallon (2):
+ libbb: Add xsetegid(), xseteuid(), xopen_as_uid_gid() functions
+ wall,crontab: use xopen_as_uid_gid()
+SASAKI Suguru:
+ tar: fix tar -T to add entries in the exact order as the input list
+Shawn J. Goff:
+ lineedit: initialize delptr
+Stefan Hellermann (2):
+ ash: move code to allow setting $HOME in /etc/profile
+ ash: read $HOME/.profile instead of $(pwd)/.profile
+Sven-Göran Bergh (5):
+ volume_id: Adopt to new kbuild style.
+ volume_id: Adopt to new config style.
+ volume_id: nilfs config description.
+ volume_id: add f2fs detection
+ awk: optionally support -e AWK_PROG
+Thomas De Schampheleire (2):
+ nameif: fix use-after-free in ENABLE_FEATURE_CLEAN_UP code
+ lsof: correct check for symbolic link
+Thomas Petazzoni:
+ libbb: use <poll.h> instead of <sys/poll.h>
+Tito Ragusa (2):
+ ifplugd: use a larger netlink buffer
+ swapon: support "pri=NNN" in fstab
+Uros Vampl:
+ killall5: return 2 if no processes got killed
+Yuan-Hsiang Lee:
+ init: fix illegal memory access when max message length is reached
+ </p>
+ </li>
<li><b>29 June 2013 -- BusyBox 1.21.1 (stable)</b>
<p><a href="">BusyBox 1.21.1</a>.
(<a href="">git</a>,