1.22.0 is released

Denys Vlasenko vda.linux at googlemail.com
Tue Dec 31 23:56:55 UTC 2013

1 January 2014 -- BusyBox 1.22.0 (unstable)

Sizes of busybox-1.21.1 and busybox-1.22.0 (with equivalent config, static uclibc build):

   text    data     bss     dec     hex filename
 891522     497    7584  899603   dba13 busybox-1.21.1
 893754     497    7568  901819   dc2bb busybox-1.22.0

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
      ash: Set SHLVL in ASH_BASH_COMPAT
      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

More information about the busybox mailing list