-0.61.pre
-
- Development Version
-
-
-
- New Applets:
- * Erik Andersen -- Merged several applets from tinylogin,
- namely adduser, addgroup, deluser, delgroup, getty.
-
-
- Other Changes:
-
- * Vladimir Oleynik, Manuel Novoa III, Aaron Lehmann
- -- a whole bunch of ash size optimizations
- -- Fix for ash leading redirections (i.e. '2>/dev/null ls rubbish')
- * Rodney Brown <RDBrown@mira.net>
- -- Optimized gzip.c, shrinking it be ~1.5k
- * Matt Kraai
- -- Fix sed s/[/]// handling (closes: #1208).
- -- Fix `-/bin/sh' invocation (closes: #1209).
- -- Fix ash exec (noted by Arne Bernin).
- -- Fix tar segfault when include list is empty and exclude list is
- not.
- -- Fix sed s/$/@/ handling (noted by Joshua Hudson).
- * Magick
- -- made init run inittab command's in the order they show up
- in the inittab file (FIFO instead of LIFO).
-
-
- -Erik Andersen, --not yet released--
-
-
-
-0.60.1
-
- Stable Release
-
-
- New Applets & New Features:
- none. :)
-
- Known Problems (to be fixed in 0.60.2)
- * msh can segfault on constructs such as
- for i in `ls *.c` ; do echo $i ; done
- due to a memory allocation problem. This only seems to cause
- problems when the backtick expands to be several k in size.
-
-
- Bugfixes:
- * Matt Kraai
- -- Fixed msh to support underscores in variable names.
- -- Fixed a sed problem with unsatisfied backrefs (the problem was
- noted by Martin Bene).
- -- Removed CONFIG_SH define entirely. Now one simply picks the shell
- or shells they want as CONFIG_<foo> in Config.h
- -- Fixed head to use ferror(3) to check for errors, not errno.
- * Shu-Hao Chang <shuhao_chang@trend.com.tw>
- -- Fixed sed handling of multiple -e commands
- * Magick <magick@linux-fan.com>
- -- Fixed an init bug with AskFirst and /dev/null
- * Jaspreet Singh <jsingh@somanetworks.com>
- -- Fixed both a segfault and cosmetic bug in route
- * Erik Andersen
- -- Made the insmod options CONFIG_FEATURE_NEW_MODULE_INTERFACE and
- CONFIG_FEATURE_OLD_MODULE_INTERFACE mutually exclusive
- -- xgetcwd.c now includes sys/param.h to ensure PATH_MAX is defined
- -- Fixed a potential segfault with lash + CONFIG_FEATURE_CLEAN_UP
- -- Removed uint64_t from dos2unix, avoiding C lib compat. problems.
- * Glenn McGrath
- -- Rewrite of tftp (commands match atftp, accepts -b, can use
- non-standard ports, and is smaller).
- -- Fixed unarchive exclude list handling
- * Manuel Novoa III
- -- rewrite of simplify_path so it behaves itself (fixing some
- problems with mount and other applets).
- -- Fixed ifconfig 'broadcast +' handling and disabled it by default
- * Matthias ? <matthias@corelatus.com>
- -- Fixed syslogd to log all messages from a single connection, not
- just the first.
-
-
- -Erik Andersen, 23 August 2001
-
-
-0.60.0
-
- Note:
-
- For this release I have bumped the version number to 0.60.0. This
- reflects the fact that this release is intended to form a new stable
- BusyBox release series. If you need to rely on a stable version of
- BusyBox, you should plan on using the stable 0.60.x series. If bugs
- show up then I will release 0.60.1, then 0.60.2, etc... This is also
- intended to deal with the fact that the BusyBox build system will be
- getting a major overhaul for the next release and I don't want that to
- break products that people are shipping. To avoid that, the new build
- system will be released as part of a new BusyBox development series
- that will have some not-yet-decided-on odd version number. Once things
- stabablize and the new build system is working for everyone, then I
- will release that as a new stable release series.
-
- Critical Bugfixes:
- * Matt Kraai
- -- Fixed wget output file opening (wget failed in 0.52).
- -- Fixed a memory leak in syslogd (found by Adam Slattery).
- * Vladimir Oleynik, Matt Kraai, Erik Andersen
- -- several nasty bugs in ash and msh. msh could not assign
- any variables and had debug code still enabled. ash
- had several compile errors (depending on selected options)
- and variable assignment problems as well.
-
- New Applets:
- * David McCullough <davidm@lineo.com> -- modprobe
- * Vladimir Oleynik -- traceroute
- * Erik Andersen -- pidof
-
- New Scripts:
- * David Schleef, Erik Andersen, Stuart Hughes -- depmod.pl
- This is a replacement for the depmod program from the modutils
- package, but is fully cross platform and is designed to run on
- your host system (not on the target).
-
- Other Changes:
- * Erik Andersen
- -- fixed busybox.spec so it should now work on redhat systems
- -- fixed dos2unix and unix2dos so they should work once again
- -- Adjustments to make busybox more uClinux friendly. Busybox
- should now work on uClinux systems without needing and source
- code changes (applets that won't work on uClinux systems are
- now automagicaly disabled).
- -- various things (cleanups, libc compatibility work, etc, etc)
- * Jim Gleason <jimg@lineo.com>
- -- Fixed for sed, where it failed to preserve whether or not the
- line was previously altered when running a subst command.
- * Matt Kraai
- -- Made tar read 20 512byte blocks at a time (like GNU tar)
- -- Allow msh.c assignments with the export and readonly commands.
- -- Added CONFIG_FEATURE_DEVFS to enable devfs device names.
- -- Better devfs support
- -- Don't save/restore vi readonly flag if vi is compiled read-only.
- -- Reworked rdate option handling (is now smaller).
- -- Size reduction in ping
- -- Always write dd counts to stderr
- -- Allow multiple shells to be enabled
- * Aaron Lehmann
- -- slimmed down md5sum
- -- contributed a nice new (hand written, not lex/yacc) Posix math
- support for ash, which is once again a full posix shell.
- * Felix von Leitner <leitner@convergence.de> -- patches to make busybox
- work with dietlibc.
- * David McCullough
- -- Adjustments to make busybox more uClinux friendly
- * Glenn McGrath
- -- Fixed gzip so when a filename is '-' it will use stdin/stdout
- -- dpkg rewrite. Should now be compatable with the real dpkg,
- but needs more testing.
- -- Updates to archiving tools (gunzip/gzip/cpio/ar/etc)
- -- Rewrote uuencode, will allow base64 encoding to be used by wget
- * Vladimir Oleynik
- -- Fixed tr to support 'tr a-z A-Z' syntax,
- -- Many ash corrections, optimizations, and cleanups.
- -- optimizations for traceroute, md5sum, chown, ping
- -- cmdedit updates and API change
- -- Namespace cleanup (i.e. adding 'static' private function calls)
- -- added "stopped jobs" warning to ash on exit
- * Adam Slattery
- -- Fixed ping compile problem
- * Robert J. Osborne <rj@resourceinternational.com>
- -- fixed a vi bug with delete and escape sequences on empty files.
-
-
- -Erik Andersen, 31 July 2001
-
-
-
-0.52
-
- Critical Bugfixes:
- * Glenn McGrath -- Fixed gunzip, zcat when reading from stdin
- * Marc Karasek and Kanoj (kernel serial.c maintainer) -- fixed init
- problem on serial consoles with 2.4.3+ kernels.
-
- New Applets:
- * Laurence Anderson -- rpm2cpio applet, this obsoletes rpmunpack
- which has now been removed from BusyBox
- * Laurence Anderson and Glenn McGrath -- cpio applet, currently
- only supports unpacking the ascii cpio format.
- * Vladimir Oleynik and Erik Andersen -- added ash, the most correct
- busybox shell.
- * Larry Doolittle -- hush, small shell designed specifically
- for busybox. Quite usable but still a work in progress.
- * Erik Andersen -- msh, minix shell. A very small but capable shell
- that only uses vfork, so it can be used on uClinux systems.
-
- Other Changes:
- * Sterling Huxley -- Several bugfixes for the vi applet.
- * Glenn McGrath -- Restructure unarchiving code to make more code
- common to the ar, cpio, dpkg, dpkg-deb applets.
- tar applet has not yet been assimilated...
- * Matt Kraai -- Rewrote cp, dirname, mkdir, mv, and rm.
- * Paul J.Y. Lahaie <pjlahaie@linuxcare.com> -- Fixed an endian-ness
- bug in md5sum (in 0.51, md5sum on big endian machines was broken)
- * Mark Whitley -- rewrote cut, major updates to grep and sed.
- * Erik Andersen -- bunches of insmod fixes. It should now always
- work (no more segfault or missing symbols problems).
- * Bernhard Kuhn <kuhn@lpr.e-technik.tu-muenchen.de> and Jinux Kim
- added uClinux/m68k insmod support.
- * Manuel Novoa III -- rewrote make_human_readable so ls, du, and df
- should work as expected. Eliminated use of floats.
- * Aaron Lehmann <aaronl@vitelus.com> -- Scrubbed gzip.c
- * Alan Modra <amodra@bigpond.net.au> -- fixed an hard to spot
- bug breaking gunzip checksum checking.
- * Gennady Feldman -- Fixed 'syslog -C'
- * Gernot Poerner <gp@it-netservice.de> -- Added mount bind support.
- * Adam Heath <doogie@debian.org> -- wget arbitrary header support
- * John Beppu -- updated the automagical doc generator
- * Zillions of other bugfixes, optimizations, and cleanups.
-
-
-
- -Erik Andersen, 7 July 2001
-
-
-0.51
- Critical Bugfixes:
- * Erik Andersen -- Fixed a bug that could crash the shell in 0.50
- when pressing <Enter> on an empty line.
- * Gennady Feldman -- Fixed a bug that could crash the shell in 0.50
- when performing an 'export' in the shell.
- * Gennady Feldman -- fixed a syslogd bug where syslogd could cause
- the init process to block (which can break systems badly).
-
- New Applets:
- * Sterling Huxley -- contributed a new vi applet! This is a very
- functional vi implementation in Only 22k.
- * Erik Andersen -- added env applet
-
- Other changes:
- * Erik Andersen -- Split utility.c into libbb, which provides a
- much cleaner was for us to include shared functionality.
- * Erik Andersen -- Reorganized how and when busybox includes
- syscalls, aiding portability and (in this case) making the
- busybox work on ia64 systems.
- * Erik Andersen -- dpkg.c cleanup to use the updated gunzip interface.
- * Erik Andersen -- Cleanups for libc5, glibc, and uClibc.
- * Erik Andersen and Matt Kraai -- Cleanups for the human-readable
- output from ls, du, and df.
- * Laurence Anderson <laurence@zxmail.com> -- Fixed wget HTTP 1.1
- support and added chunked encoding so it is now RFC compliant.
- * John Beppu -- The busybox.pod documentation is now automagically
- generated from the source code. This makes it _much_ simpler.
- Now to update the docs, just update the usage message...
- * Dirk Behme <dirk.behme@de.bosch.com> -- Adjusted MIPS insmod
- support a bit for Mips RS3.
- * Christophe Boyanique -- egrep invoked the "init" applet in 0.50!
- * Larry Doolittle -- Added -Wshadow and fixed a number of shadowed
- variables
- * David Douthitt -- fixed 'find -print'
- * Gennady Feldman -- fixes for the syslogd circular buffer code
- * Jeff Garzik -- a number of structural cleanups, fixes for -Wshadow
- bugs, and similar problems.
- * Matt Kraai -- Added a new 'shutdown' action to busybox init. Now
- you can specify arbitrary behavior for 'ctrlaltdel' so now
- pressing CTL-ALT-DEL can do something else (or nothing).
- * Andreas Neuhaus <andy@fasta.fh-dortmund.de> -- fix for merging
- kernel command line environment variables into child environment
- for init.c
- * Glenn McGrath -- Fixed problems with dpkg and dpkg-deb applets
- * Glenn McGrath -- Don't try to automount devfs
- * Vladimir Oleynik -- optimizations for more.c
- * Vladimir Oleynik -- Added locale support to the shell, and fixed
- locale support in several other places
- * Vladimir Oleynik -- moved struct applet from busybox.c to applets.c
- * Vladimir Oleynik -- A size optimization for rdate
- * Vladimir Oleynik -- Fixed printf applets's locale handling
- * Vladimir Oleynik -- More cmdedit updates
- * Vladimir Oleynik -- Fixed `du' applet so it continues running
- after permission errors.
- * Vladimir Oleynik -- Reduced stack usage in recursive_action()
- * Pierre Peiffer <pierre.peiffer@sxb.bsf.alcatel.fr> -- made
- find_pid_by_name() cope with swapped out processes.
- * Jari Ruusu <jari.ruusu@pp.inet.fi> -- updates so that setting
- D_FILE_OFFSET_BITS=64 now works as expected.
- * Anthony Towns <aj@azure.humbug.org.au> -- fixed a bug with
- sed address range handling
- * Dmitry Zakharov <dmit@crp.bank.gov.ua> -- a number of updates
- to wget: support for ftp downloads, basic HTTP basic auth, handling
- of http redirects, when attempting to continue an aborted download
- but server doesn't support restarts then reopen output file in
- write mode, bugfix: when content-length not given, wget didn't
- download anything, if -c is not specified, it no longer default to
- restarting an aborted download.
-
-
- -Erik Andersen, 10 April 2001
-
-
-0.50
- * Erik Andersen -- added ifconfig interface status reporting
- * Erik Andersen -- Debian packaging updates
- * Erik Andersen -- lash environment variable expansion rewritten,
- with lots of help/fixes/testing from Larry Doolittle.
- * Erik Andersen -- Fix use of busybox with dmalloc debugging lib
- * Erik Andersen -- fixed ls behavior for broken or very narrow terminals
- * Erik Andersen -- stub umount2 and pivot_root if they are not available
- * Erik Andersen -- libc5 fixes
- * Erik Andersen -- make init work with devfsd
- * Erik Andersen -- fixed df for nfs and dos where blksize = 512
- * Erik Andersen -- Make sure libpwd.a is linked _last_ so it
- overrides the system pwd/grp
- * Christophe Boyanique -- added an optional egrep alias for grep.
- * Christophe Boyanique -- added optional 'rm -i' support.
- * Kenneth Chalmers and Erik Andersen -- fixed ln so it
- behaves when given no arguments (prints usage) and when
- given just one arg (tries to make a link in the cwd).
- * Magnus Damm -- added a tftp applet
- * Magnus Damm -- powerpc support for busybox insmod.
- * David Douthitt -- fixed a build error in df.c when
- CONFIG_FEATURE_HUMAN_READABLE was disabled
- * John Beppu -- wrote autodocifier.pl, which will be used to auto-
- generate the documentation from the source code, making life
- much simpler for all.
- * Magnus Damm <damm@opensource.se> -- Fixed an 'inner scope var
- masking outer scope var with same name' bug that prevented
- the loopback device from being unmounted if mount() failed.
- * Larry Doolittle -- rewrote ifconfig to make it smaller
- * Larry Doolittle and Erik Andersen -- cleanups to pristine source
- * Larry Doolittle -- many bugfixes resulting from regression testing
- * Gennady Feldman -- split syslogd.c into syslogd and klogd
- * Gennady Feldman -- make syslogd single threaded -- no more forking
- * Jeff Garzik -- getopt-ified rmmod.
- * Jeff Garzik -- glibc 2.2 warning cleanups
- * Jeff Garzik -- namespace pollution cleanup (staticified variables).
- * Erik Gustavsson <cyrano@algonet.se> -- allow env variables set on the
- kernel command line to be inherited into init and its children.
- * Erik Habbinga -- fixed an uninitialized substitution delimiter in sed.
- * Chris Jaeger -- Makefile cleanup to make option setting less error-prone
- * Chris Jaeger <cjaeger@ensim.com> -- Carefully check NFS_MOUNT_VERSION
- depending on what kernel is being used.
- * Quinn Jensen <jensenq@lineo.com> -- MIPS support for busybox insmod.
- * Evin Robertson -- new pivot_root applet
- * Kent Robotti -- usage message cleanups
- * Kent Robotti -- reworked dos2unix/unix2dos
- * Evin Robertson and Manuel Novoa III -- reworked how usage messages
- are stored to save several k of space.
- * Matt Kraai -- Keep trying if an NFS mount fails
- * Matt Kraai -- fixed insmod so it won't try to insmod directories.
- * Matt Kraai -- added nc listening support
- * Matt Kraai and David Douthitt -- reworked fine to support -type,
- -perm, -mtime, and other improvements.
- * Matt Kraai -- added find_applet_by_name and saved some memory thereby
- * Matt Kraai -- added chomp to reduce redundant code elsewhere
- * Matt Kraai -- Removed trailing \n chars from error_msg{,_and_die} messages.
- * John Lombardo -- fixed OOM in insmod.
- * Glenn McGrath -- bypass /proc in mount, now uses sysfs.
- * Glenn McGrath -- several updates to dpkg and dpkg-deb.
- * Manuel Novoa III -- several size optimizations: parse_mode,
- process_escape_sequence, format, and get_kernel_revision.
- * Manuel Novoa III -- rewrote ifconfig again to make it smaller still
- * Manuel Novoa III -- added ifconfig -a, updated interface reporting
- * Vladimir N. Oleynik -- Fixed a bug where init set PATH incorrectly
- * Vladimir N. Oleynik -- cleanups to route, cmdedit, mkdir,
- mkfs_minix, mkswap, chmod_chown_chgrp and utility.c
- * Vladimir N. Oleynik -- many fixes to cmdedit. so tab completion
- is now working and general editing is much improved, and to
- improve complex prompt handling.
- * Vladimir N. Oleynik -- added route status reporting.
- * Vladimir N. Oleynik -- fixed wget to use xfopen
- * Vladimir N. Oleynik -- new stty applet
- * Vladimir N. Oleynik -- fixed find, it used to stop on perm errors.
- * Vladimir N. Oleynik -- locale forced to posix for scripts
- * Vladimir N. Oleynik -- saved 128 bytes by moving error checking
- for several my_* functions into utility.c
- * Bjorn Wesen -- new ifconfig and route applet (taken from
- work done by Axis Communications).
- * Mark Whitley -- Added a 'How to contribute to Busybox' doc
- and updated the style guide.
- * Mark Whitley -- implemented grep -A, -B, and -C
- * Mark Whitley -- overhauled the test suite.
-
-
- -Erik Andersen, 15 March 2001
-
-0.49
-
- * Matt Kraai -- new sort.c
- * Matt Kraai -- new tail.c
- * Glenn McGrath -- new 'dpkg-deb' applet
- * Glenn McGrath -- new ar code
- * spoon -- new watchdog applet
- * Vladimir N. Oleynik <dzo@simtreas.ru> -- fixed cmdedit.c so now
- scrolling and tab completion in lash work properly. Also several
- byte saving optimizations.
- * Erik Andersen -- disabled many less commonly used applets by default
- * Mark Whitley -- more thrashing about to get clean perror_msg usage
- * Matt Kraai -- new command line munging
- * Larry Doolittle -- keep some locales from messing up busybox.sh
- * Matt Kraai -- cleaned up dd and tail with new parse_number routine
- * Mark Whitley -- remove debugging messages from deallocvt
- * Matt Kraai and Mark Whitley -- new document "How to Add a New Applet
- to BusyBox"
- * David Douthitt -- fixed "grep -qv" bug
- * Larry Doolittle -- fixed insmod bug with old kernels
- * Matt Kraai -- logger remixed to use getopt, selection of stdin made
- util-linux compatible
- * Erik Andersen -- many more internal symbols classified static to
- avoid namespace pollution
- * Matt Kraai -- nc listening support
- * Erik Andersen -- made sed understand arbitrary regexp delimiters
- * Matt Kraai et al. -- more tar improvements and bug fixes, now
- handles regexp file exclusion
- * Larry Doolittle -- new script (multibuild.pl) to automate build rule
- checking
- * Matt Kraai -- update/cleanup of the docs on how to use init
- * Erik Andersen -- renamed all sh.c symbols per the style guide,
- better if-then-else-fi handling
- * Erik Andersen -- cleaner division of labor between cmdedit.c and sh.c
- * Larry Doolittle -- shell data structure cleanup, fixed buglets
- in read, exec, and piped builtins
- * Erik Andersen -- md5sum was broken in 0.48. Now fixed (and doesn't
- use getline, shrinking static compiles (since nothing else used it).
- * ?? -- squashed memory leak in shell prompt handling
- * Mark Whitley -- Updates to style guide
- * Mark Whitley -- Big cleanup in utility.c: style guide compliance,
- de-macro-ifying some variables and functions
- * Erik Andersen -- ls now honors CONFIG_FEATURE_AUTOWIDTH so it can find
- the width and height of the console.
- * Erik Andersen -- insmod now ignores -L and accepts the -o option.
- * Erik Andersen -- updates so you can now select from the Makefile
- whether or not to use the system's passwd and group functions.
- Since most systems use GNU libc, this can save you from having to
- install the /etc/nsswitch.conf configuration file and the required
- libnss_* libraries. Adds 1.5k. You can now, also, disable this,
- causing busybox to use the system's pwd.h and grp.h functions.
-
-
- -Erik Andersen, 27 January 2001
-
-0.48
-
- * Glenn McGrath -- tar now supports uncompressing tar files,
- define CONFIG_FEATURE_TAR_GZIP to use the -z option.
- * Matt Kraai -- fix all usage of TRUE and FALSE so all apps now
- return EXIT_SUCCESS or EXIT_FAILURE to the system.
- Now TRUE and FALSE are set to the C standard where TRUE=1.
- * me -- Fixed uname problem causing the kernel version to be
- mis-detected (causing problems with poweroff, init,
- and other things).
- * Alcove, Julien Gaulmin <julien.gaulmin@alcove.fr> and
- Nicolas Ferre <nicolas.ferre@alcove.fr> -- insmod support on ARM
- and StrongArm, and suport for lsmod on older 2.0.x kernels.
- * Kent Robotti -- Renamed unrpm to original rpmunpack, so you can use
- an included shell script called unrpm as a front end to it. There's
- also a shell script called undeb included for debian packages.
- * Matt Kraai -- fix an infinite loop with ls -aR
- * Larry Doolittle -- Shaved off about 100 bytes and 200 bytes heap
- from date.c. Also document the "-d" option in the usage message.
- * Gennady Feldman -- fixed dd to use blocksize when reading/writing,
- (it was reading the whole thing and then writing it out). Also
- updated usage information (was missing conv=notrunc) and added
- conv=sync feature.
- * Larry Doolittle (in collaboration with Matt Kraai) -- allow for a
- pristine source directory -- where all the .o files and such are
- not placed into the source tree. Thanks Larry!
- * Larry Doolittle -- use the applet definitions in applets.h
- to autogenerate the applet function and usage prototypes.
- * Sebastien Huet, Arne Bernin, and Kent Robotti -- Add in tar -X and
- fixed a bug breaking tar --exclude.
- * Jonas Holmberg -- echo option handling made GNU-echo compatible
- * Aleksey Demidov <asd@ixcelerator.com> -- date option handling made
- GNU-date compatible
- * me -- Progress meter (optional) in wget
- * Doolittle/me -- programs invoked by full path name take
- precedence over applets unless CONFIG_FEATURE_SH_BUILTINS_ALWAYS_WIN
- * Gaute B Strokkenes <gs234@cam.ac.uk> -- applets found using a
- binary search instead of linear search. Much faster!
- * new applets: cmp readlink
- * Mark Whitley -- Removed advertising clause of Berkeley license
- according to decision by the Regents of the University of
- California; included reference
- * tail's confusing special treatment of single digit options removed;
- people should use -n instead
- * Larry Doolittle -- \r handled now in echo and tr
- * Matt Kraai -- rewrite of uniq
- * Mark Whitley -- remix of xargs
- * Jim Gleason <jimg@lineo.com> -- fixed tar so it no longer breaks
- hard links.
- * Matt Kraai -- logger now logs all arguments, not just the first
- * Gennady Feldman -- syslogd no longer logs to localhost if compiled
- for remote logging...
- * Richard June <rjune@ims1.imagestream-is.com> -- support for 'gzip -d'
- * various artists -- Other good stuff that I forgot to document.
-
-
- -Erik Andersen, 13 December 2000
-
-0.47
-
- * A bug in syslogd was fixed that allowed it to potentially fork-bomb
- your system. Anyone using 0.46 syslogd should upgrade.
- * Renamed busybox.defs.h to the more sensible "Config.h"
- * Improved portability between different libcs.
- * Many apps ported to use getopt()
- * Common handling of '--help'
- * All usage messages centralized.
- * Added a bunch of new commands:
- * 'rdate' contributed by Sterling Huxley <sterling@europa.com>
- * 'wget' contributed by Chip Rosenthal <chip@unicom.com>,
- <crosenth@covad.com> and Covad Communications
- * 'getopt' from "Alfred M. Szmidt" <ams@trillian.itslinux.org>
- * dos2unix, unix2dos, reset, and unrpm.c (and lots of help
- debugging) thanks to Kent Robotti <robotti@metconnect.com>.
- * 'renice' command, thanks to Dave Cinege <dcinege@psychosis.com>
- * 'xargs' (written by me)
- * 'expr' contributed by Edward Betts <edward@debian.org>, based
- on GNY expr
- * lsmod now uses the query_module syscall, rather then /proc (me)
- * syslogd can now log messages to remote hosts -- patch thanks
- to Gyepi Sam <gyepi@praxis-sw.com>
- * chroot can now call the builtin shell - Pavel Roskin <proski@gnu.org>
- * 'make install' now creates relative symlinks, and added a new
- 'make install-hardlinks' target to (tada) install hardlinks.
- * Rewrite of 'tail' to make it simpler, smaller, and more robust.
- It now weighs only 2.25k (3k when full featured). The code is
- cleaner too, thanks to Allen Soard <esp-software@mail.hypermart.net>
- * Add optional ls file sorting, thanks to a patch from
- Sterling Huxley <sterling@europa.com>
- * Fixed chmod option parsing so things like 'chmod -r /tmp/file'
- now work (previously it thought -r was an option). Doh!
- * Fixed tar handling of stdin and stdout
- * Renamed "internal.h" to the more sensible "busybox.h"
- * Preliminary support for GNU HURD.
- * Updated my devps and devmtab kernel patches for the latest 2.2.x
- kernel, for those wanting to go proc-less.
- * Tons of other bugfixes.
-
-
- -Erik Andersen, 25 September 2000
-
-
-0.46
-
- * Better portability. Now should compile cleanly with libc5,
- GNU libc 2.0 and 2.1, and various Linux kernels including
- 2.0.x, 2.2.x, and to 2.4.0-test*. (patch for 2.4.x kernels
- to make /proc/mounts behave included in the kernel-patches dir).
- * Fixed a _horrible_ bug where 'tar -tvf' could unlink
- local files that matched tarball contents!!! Fix thanks
- to Marius Groeger <mgroeger@sysgo.de>
- * Fixed a nasty bug in tar when could mess up saved symlinks.
- * Fixed tar creation support when reading from stdin ('tar -cf - . ')
- thanks to Daniel Quinlan <quinlan@transmeta.com>
- * Updates to handle Linux 2.4.0 kernels (kludged around the
- "none" entries in /proc/mounts, added a hack to make sysinfo
- work with both old and new kernels).
- * Fixed insmod module option parsing for options lacking an '='.
- Fix thanks to Marc Nijdam <marc_nijdam@hp.com>
- * Fixed segfault with 'cut -f 1 -d:' and added 'cut -s' suport.
- Fix thanks to Arne Bernin <arne@matrix.loopback.org>
- * Several fixes from Marius Groeger <mag@sysgo.de>
- - Added support for "sh -c command args..."
- - Fixed globbing, i.e. 'echo * *' and 'echo "******"' now work.
- - Added shell environment variable substitution
- - Added the "read" shell builtin.
- * Fixed cursor editing in cmdedit.c. The following keyboard sequence
- used to create an infinite loop: ls, cursor up, left, down.
- * Added support for being a login shell, so things like
- '-su' or '-sh' (stuff where argv[0][0]=='-') will now always
- invoke the shell. Now you can use BusyBox as a login shell.
- * ls.c now ignores '-g', since some ftp clients like that sort
- of thing. Patch thanks to David Vrabel <dvrabel@arcom.co.uk>
- * Fix to init.c from Stuart Menefy <Stuart.Menefy@st.com> so that
- it always sets the controlling terminal before running any programs
- * Several fixes from Matt Kraai <kraai@alumni.carnegiemellon.edu>
- - Fixed tr so it recognizes standard escape sequences.
- Merged common escape seq. code from tr and echo into utility.c.
- - Major work in updating/cleaning up the docs, and getting the
- new SGML based docs into shape.
- - cleanup of ar.c
- - BusyBox should now poweroff when asked to do so.
- - Fixed 'ln -n' and 'ln -s' so they both work properly.
- * Reorganized signal names in kill.c for better architecture support
- -- patch thanks to simon wood <simon@mungewell.uklinux.net>
- * In 0.43, backspace and delete worked properly, but with 0.45,
- it just echoed a ^? for backspace, and ^H for control-h. This
- was due to a broken macro in init.c, that is now fixed.
- * Removed sfdisk from BusyBox. It was buggy, fat, and we really
- couldn't maintain it very well, so including it was not really
- very appropriate. Those wanting an fdisk are invited to
- grab a copy from util-linux.
- * Added 'dumpkmap' to allow people to dump a binary keymap, which can
- then be loaded in by 'loadkmap' -- submitted by
- Arne Bernin <arne@matrix.loopback.org>
- * Fixed NFS so it supports 2.4.x kernels and NFSv3.
- * Brand, new versions of grep and sed which use libc regex routines,
- thanks to Mark Whitley <markw@lineo.com>. The hand-tooled
- "regexp.[ch]" files have been removed. Much help on these from
- Matt Kraai as well.
-
-
- -Erik Andersen, 11 July 2000
-
-
-0.45
- * Now compiles vs libc5 (which can save lots of space for
- embedded systems).
- * Added CONFIG_FEATURE_TRIVIAL_HELP which compiles out most all of the
- help messages (i.e --help). Saves 17k over a full compile.
- * Added cut and tr from minix, since due to the license change,
- we can now use minix code. Minix tr saves 4k.
- * insmod now works. It costs 29k, but imagine an initrd with a
- staticly linked busybox containing only insmod and sh, a few /dev
- entries, and a kernel module or two... It doesn't get smaller
- then this folks (I pity the fool that writes insmod in asm ;-).
- Many kudos go to Ron Alder <alder@lineo.com> for finishing this off!
- * Added a mini ar archive utility, especially written for BusyBox by
- Glenn McGrath <bug1@netconnect.com.au>
- * Added mktemp, contributed by Daniel Jacobowitz <dan@debian.org>
- * Added setkeycodes, for those that have wierd keyboard buttons.
- * Added md5sum, uuencode and uudecode -- thanks to Alfred M. Szmidt
- <ams@trillian.itslinux.org> for contributing these.
- * Added 'grep -v' option (inverted search) and updated
- docs accordingly. -beppu
- * Wrote which
- * Replaced the telnet implementation with one written by
- Tomi Ollila <too@iki.fi> It works great and costs 3k.
- * BusyBox sh (lash) now supports being used as a standalone shell. When
- CONFIG_FEATURE_SH_STANDALONE_SHELL is defined, all the busybox commands may
- be invoked as shell internals. Best used when compiling staticly
- (i.e. DOSTATIC=true)
- * BusyBox sh (lash) internals now behave as expected wrt pipes
- and redirects.
- * Fixed ping warnings -- fix from Sascha Ziemann <szi@aibon.ping.de>
- * Fixed update segfault
- * Fixed mknod -- minor number was always 0
- * Fixed tar option parsing, so both "tar xvf foo.tar" and
- "tar -xvf foo.tar" now work (i.e. no "-" before options)
- (this was very broken in 0.43).
- * Several contributions from Randolph Chung <tausq@debian.org>.
- * cp/mv now accepts the -f flag
- * tail can now accept -<num> commands (e.g. -10) for better
- compatibility with the standard tail command
- * added a simple id implementation; doesn't support sup. groups yet
- * logname used getlogin(3) which uses utmp. Now it doesn't.
- * whoami used getpwuid(3) which uses libc NSS. Now it behaves.
- * Add support for "noatime" and "nodiratime" mount flags to mount.
- * Changed 'umount -f' to mean force, and actually use umount2.
- * Changed 'umount -l' to mean "Do not free loop device".
- * Fixed basename to support stripping of suffixes. Patch thanks
- to xiong jianxin <jxiong@uiuc.edu>
- * cp -fa now works as expected for symlinks (it didn't before)
- * zcat now works (wasn't working since option parsing was broken)
- * Renamed "mnc" to the more correct "nc" (for netcat).
- * Makefile intelligence updates
- * Changed the way init parses /etc/inittab entries to avoid problems
- with commands that contain colons in them. Fix thanks to
- Pavel Roskin <proski@gnu.org>
- * Fixed a warning in utility.c due to char being unsigned on Linux/PPC,
- Fix thanks to Pavel Roskin <proski@gnu.org>
- * Made "killall" complain (not error and exit) about processes that it
- cannot find by name -- Pavel Roskin <proski@gnu.org>
- * Fixed more and ps to have sensible terminal width defaults, thanks
- to Pavel Roskin.
- * Fixed all fatalError() calls lacking a "\n", thanks to Pavel Roskin.
- * Fixed a segfault in yes when no args were given -- Pavel Roskin.
- * Simplified freeramdisk and added argument checking -- Pavel Roskin.
- * Fixed segfault caused by "touch -c"
- * Fixed segfault caused by "rm -f"
- * Fixed segfault caused by "ln -s -s" and similar abuses. Further fixes
- and "--" support from Pavel Roskin.
- * Fixed segfault caused by "cp -a -a" and similar abuses.
- * Implemented "rm -- <foo>". Implementation fixed by Pavel Roskin.
- * "which" rewritten to use stat(). Fixes to improve its compatability
- with traditional implementations -- Pavel Roskin.
- * "mount" now reports errors from nfsmount() and assumes NFS mount
- if ':' is present in the device name - Pavel Roskin
- * Fixed exit status for killall - Pavel Roskin
- * Fixed 'swapon -a' and 'swapoff -a', which were broken.
- * Fixed 'mount -a' so it works as expected.
- * Implemented 'ls -R' (enabled by enabling CONFIG_FEATURE_LS_RECURSIVE)
- * Implemented "ping -s", fixed error messages and argument parsing -
- Pavel Roskin
- * Syslogd will not go to background if "-n" is given. Better help
- and argument checking -- Pavel Roskin
- * Fixed a small bug that could cause tar to emit warning messages
- and not extract the first file in a directory in some cases
- of nested directories. Thanks to Kevin Traas <kevin@netmaster.com>
- for helping track this one down.
- * More doc updates
- * Fixed grep "Line too long" problem -- John Beppu
- * Fixed 'grep -q -i B some_file' so it works
- * math takes input from stdin if no args are given. -- John Beppu
- * math was renamed to dc. Although it deviates from dc's behaviour,
- this will probably be remedied in the future. -- John Beppu
-
-
- -Erik Andersen, June 21, 2000
-
-
-0.44
- Previously, an erronous announcement of BusyBox 0.44 was made, so to
- avoid possible confusion, we are skipping straight to 0.45, and calling
- it good.
-
- -Erik Andersen
-
-
-0.43
- * Major update to the provided documentation.
- * Busybox now includes a shell! It currently costs 7.5 k (plus an
- additional 2.5 k if you compile in command line editing). Handles
- job control, has the usual set of builtins, and does everything
- except for handling programming statements (if, while, etc...)
- * Busybox can now work perfectly when /proc is disabled, thereby
- saving a bunch of memory (kernel /proc support is not thin). This
- is done by making use of some nice kernel patches I wrote up to
- support the features that busybox requires and that /proc usually
- provides. To enable this, turn on CONFIG_FEATURE_USE_DEVPS_PATCH and
- patch your kernel with the devps patch in the kernel-patches/
- directory.
- * Wrote basename, dirname, killall, and uptime.
- * tar has been completely rewritten by me. Both tar creation and
- extraction are now well behaved. Costs 7.6k with all optional
- tar features enabled, and 5k for just tar extraction support.
- * Added freeramdisk, which will free up all memory associated
- with a ram disk. Contributed by Emanuele Caratti <wiz@iol.it>
- and then adjusted a bit by me.
- * Added tr from John Lombardo <john@deltanet.com>
- * Added echo and test (from me).
- * Added usleep contributed by Nicolas Pitre <nico@cam.org>
- * BusyBox's bss size has been majorly reduced (was 384668, is now 28740).
- * Several fixes from Pavel Roskin <proski@gnu.org>:
- - When `tail' fails to open a file it now exits.
- - When `syslogd' is given the `-n' option it should still use
- fork() for running klogd.
- * nslookup types are now changed to u_int32_t (instead of uint32_t)
- changed per a patch from Pascal Bellard <pascal.bellard@ascend.com>
- * Fixed "du" so it gives the same answers as GNU "du" (busybox du used
- to count hard-linked files more then once). Many thanks to
- Friedrich Vedder <fwv@myrtle.lahn.de> for the fix.
- * Removed /proc dependancies for init and free (while maintaining
- exactly the same functionality). /proc takes up 90k of kernel
- space, so it is nice to avoid using it at all costs.
- * init no longer tries to mount /proc (unless there is less the 1 meg
- free). Use of /proc (or not) is policy that should be set up in
- /etc/fstab (or in hardcoded scripts), not in init.
- * Fixed rebooting when init runs as an initrd.
- * Fixes and updates from Karl M. Hegbloom <karlheg@debian.org>
- - update.c rewritten to look more like update-2.11
- - moveed the inode hash out of du.c and into utility.c to make
- it a common resource that can be used by other apps.
- - cp_mv.c now checks inodes to see if a source and dest are
- the same, and prints an error (instead of endlessly looping).
- - mv now attempts to do a rename, and will fall back to doing
- a copy only if the rename fails.
- - Syslogd now supports multiple concurrent connections
- * Several fixes from Pavel Roskin <proski@gnu.org>:
- - Fixes to sort. Removed "-g", fixed and added "-r"
- - Fixes to the makefile for handling "strip"
- * An initial telnet implementation was added by
- Randolph Chung <tausq@debian.org>.
- * Fixed a bug where "sed 's/foo/bar/g'" (i.e. a script w/o a "-e")
- * ps now supports CONFIG_FEATURE_AUTOWIDTH, and can adjust its width
- to match the terminal (defaults to width=79 when this is off).
- * ps now accepts (and ignores) all options except for "--help" (which
- as would be expected displays help).
- * Fixed mount'ing loop devices when the filesystem type was not
- specified. It used to revert to non-loop after the first try.
- * all mallocs now use xmalloc (and so are OOM error safe), and
- the common error handling saves a few bytes. Thanks to
- Bob Tinsley <bob@earthrise.demon.co.uk> for the patch.
- * Fix "+" parsing bug in date, from "Merle F. McClelland" <mfm@cts.com>.
- * Fix symlink following bug in chmod -R and friends.
- * Now allows SYSV style 'chown foo:bar' in addition to 'chown foo.bar'
- * Fixed a bug in the busybox globbing routine such that 'find /dir -name [i]'
- no longer segfaults.
-
-
- -Erik Andersen
-
-
-0.42
-
- * Fairly massive restructuring of umount.c to deal with remounting
- busy devices read-only. Adds a -r option to control that; it is
- optionally compiled in with CONFIG_FEATURE_REMOUNT
- * Added a bunch of functions to mtab.c to interact with the
- {get,set,end}mntent interface; as it turns out, those functions do
- not appear to be re-entrant, and that causes a lot of problems with
- the way umount was originally written.
- * Makes init send TERM and KILL (instead of HUP and KILL) on reboot
- to be more consistent with sysvinit
- * Changes to init.c to use the new -r option to umount. Also increased
- the sleep time between the time the TERM and KILL signals are sent
-
- - Randolph Chung
-
-
- * cp.c, mv.c: removed, replaced by cp_mv.c which has been
- extensively rewritten from the original cp.c.
- * Fixed cp and mv so if the source and destination are a the
- same directory it will print an error and continue.
- * Also added a warning message to the `mv' usage string saying that
- this is not GNU mv, and it will break hard links. cp also breaks
- hard links.
- * ln.c: implemented `-n' switch, no-deref symlinks.
- * include<sys/param.h>: and use PATH_MAX everywhere. busybox: File
- * name buffer overrun guards to prevent future crashes.
- - Always check exit status.
- - Purge all use of `creat()', replace with `open()'.
- * utility.c
- - recursiveAction was overriding the value of followLinks thus
- ignoring it.
- - isDirectory now takes a followLinks boolean, updated all callers
- - copyFile had the followLinks logic reversed.
- * messages.c: New file. Put common error message strings all in
- one place in an attempt to shrink the binary a little.
-
- -Karl M. Hegbloom
-
-
- * changed fsck_minix.c to reduce its .bss size significantly
- -beppu -piptigger
- * Made tar creation support in busybox tar optional. You no longer
- * _have_ to put a "-" in front of tar options. Tar could inadvertently
- * change permissions and ownership on
- certain directories pointed to by symlinks.
- * Made grep and grep -h do the right thing wrt printing
- the file name (it failed to print files names in many cases).
- * Fix a namespace aliasing problem wereby if du was built in, the
- symlink for both du and dutmp would be installed, or then rm was
- built in, the symlinks for both rm and rmmod would be installed.
- * Added a closelog() to init.c after loging -- fix thanks to
- Taketoshi Sano <kgh12351@nifty.ne.jp>
- * Rewrote and simplified logger. Added the "-t" option, and made it
- behave itself a bit better.
- * Optional support contributed by Ben Collins <bcollins@debian.org>
- for the kernel init chroot patch by Werner Almesberger, which
- allows init to chroot to a new device, and umount the old one.
- * Fixed bug that wouldn't let one chown a symlink -- it would
- always dereference before. -beppu
- * Fixed a bug where init could have reference already freed memory.
- Found and fixed by Taketoshi Sano <kgh12351@nifty.ne.jp>
- * Several contributions from Friedrich Vedder <fwv@myrtle.lahn.de>
- * Added (and documented) "-n" option for head
- * Cleanup for a number of usage messages -- also
- contributed Friedrich Vedder <fwv@myrtle.lahn.de>
- * Cosmetic fix to busybox.c (Don't print a comma at the
- end of line if there are no more application names).
- * Fixed a stupid bug in "head" option handling ("head -n"
- would segfault).
- * Moved commonly used functions "xmalloc()" and "exit()"
- to utility.c (with proper #ifdef's).
- * Created a tiny tail implementation, removing -c, -q, -v, and making
- tail -f work only with a single file. This reduced tail from 6k to
- 2.4k. The bigger/more featured tail can still be had by disabling
- CONFIG_FEATURE_SIMPLE_TAIL in busybox.defs.h
- * Ping now falls back to doing the right thing if /etc/protocols
- turns up missing.
- * Fixed mount and umount. Previously they could leak loop device
- allocations, causing the system to quickly run out. Fix for umount
- by Ben Collins <bcollins@debian.org>, and mount was fixed by me.
- * ls formatting on eight charactor user names fixed by
- Randolph Chung <tausq@debian.org>.
- * cp could, when copying symlinks, change permissions of the
- files pointed to by the symlinks.
- * Several fixes from Pavel Roskin <proski@gnu.org>:
- - `chown' with 1 argument displayed the error incorrectly
- - `fdflush', `length' and `printf' crashed if run without arguments
- - `fdflush' tried to flush itself using *argv
- - added "skip" and "seek" to dd.
- - ls no longer messus up output when combining files and
- directories on the command line
- * swapoff -a was not working. Now it is.
- * init did not cleanly unmount filesystems on reboot. Now it does.
- * "sed -ne s/foo/bar/" worked but "sed -n -e s/foo/bar/" didn't.
- Now both work.
- * Some architectures (PowerPc) assume chars are unsigned, so they could
- not distinguish between EOF and '\0xFF' in sed. Sed now uses ints.
- * Began converting error handling to use some common routines
- in utility.c
- * syslogd now has better message handling and ignores SIGHUP.
- * install.sh had a bug preventing installation to the specified
- target directory. Fix from Gilbert Coville <gilbert@mvista.com>
- * You can now spefify alternative strip commands -- change
- also from Gilbert Coville.
-
-
- -Erik Andersen
-
-0.41
- * New Apps: wc, hostid, logname, tty, whoami, yes -- all contributed
- by Edward Betts <edward@debian.org>
- * Fixed a bug in both cp and mv preventing 'cp foo/README bar'
- type commands (file in a directory to another directory) from
- working.
- * Fixed a logger bug that caused garbage to be written to the syslog
- (unless you used busybox syslog, which hid the bug). Thanks to
- Alex Holden <alex@linuxhacker.org> for the fix.
- * /bin/true and /bin/false were echoing a blank line when run.
- Now fixed.
- * mkdir -p would print an error when asked to mkdir an existing dir
- with no interveining subdirectories.
- * Fixed "syslogd -O" so that it works. Added -o loop option for mount,
- * and support in umount for loop
- devices. Support is toggled by MOUNT_LOOP feature -- Ben Collins
- <bcollins@debian.org>
- * Several fixes from Marco Pantaleoni <panta@prosa.it> compile in
- * fullWrite() not only if CONFIG_TAR is defined, but also
- if CONFIG_CP or CONFIG_MV are (fullWrite() is referenced by copyFile())
- * add some compiler optimizations to further reduce executable size
- (as a side note, on my machines the largest code is generated
- by gcc 2.95.2 with -Os ! The smallest by plain gcc 2.7.2.3 with
- -O2 -m386 ...)
- * Compile now won't fail if busybox.def.h defines
- CONFIG_FEATURE_INITRD but not CONFIG_INIT. (init_main used to be
- referenced, but not compiled)
- * Fixed a bug in setting TERM for serial console support. TERM now
- defaults to "ansi" for serial consoles.
- * Fixed a bug in handling the CONSOLE env. variable for serial
- * consoles.
-
- -Erik Andersen, Jan 15, 2000
-
-0.40
- * New Apps: sort, uniq. -beppu New Apps: lsmod, rmmod -erik New Apps:
- * fbset contributed by Randolph Chung <tausq@debian.org>. New App::
- * loadacm contributed by Peter Novodvorsky <petya@logic.ru>
- for loading application character maps for Unicode fonts.
- * Major init re-work. init now supports inittab (slightly different
- but similar to sysvinit), allowing me to get all the policy out of
- init and into the conf file. It works just fine without inittab
- being present, but if you dont like the default behavior you can
- now do something about it. Init is much cleaner as a result.
- * Fixed an bug in syslogd causing it to stop after 20 minutes. -erik
- * Fixed an embarrasing segfault in head -beppu Fixed the embarrasing
- * failure of 'logger -p'. -erik Added the -s option to du -beppu
- * Re-worked the source tree a bit so it will compile under glibc 2.0.7
- with the 2.0.x Linux kernel.
- * Added 'grep -q' thanks to a patch from "Konstantin Boldyshev"
- <konst@voshod.com>.
- * Grep -i previously failed on UPPER CASE patterns due to a silly
- regexp implementation bug that is now fixed.
- * Fixed a bug where tar would set, and then clear SGID and SUID bits.
- * Fixed a bug where tar would not set the user and group on device
- special files.
- * Fixed a bug where tar would not restore the time to files. Fixed a
- * major security problem with tar -- it changed ownership
- of any file pointed to by a symlink to 777 (like say libc....)
- Ouch!!!
- * cp and mv were very broken when moving directories. I have rewritten
- them so they should now work as expected.
- * sed now supports addresses (numeric or regexp, with negation) and
- has an append command, thanks to Marco Pantaleoni <panta@prosa.it>
- * Fixed dmesg. It wasn't parsing its options (-n or -s) properly.
- * Some cosmetic fixes to ls output formatting to make it behave more
- like GNU ls.
- * Fixed a stupid segfault in kill. Several fixes from Friedrich Vedder
- * <fwv@myrtle.lahn.de>:
- - Added gunzip -t, removed gunzip.c dead code,
- - fixed several typos
- - Glibc 2.0.7 and libc5 compile fixes
- * Fixed a bug where 'mknod --help' would segfault.
-
-
- -Erik Andersen, Jan 07, 2000
-
-0.39
- * New Apps: ping, hostname, and mkfifo contributed by Randolph Chung
- <tausq@debian.org>. 3 items off the TODO list!
- * I wrote free (just calls "cat /proc/meminfo"). Added tail, based on
- * tail from GNU textutils-1.19, but adjusted
- to suit my evil purposes. Costs 6k. I'll make it smaller
- sometime.
- * on reboot, init called 'umount -a -n', which caused errors
- when CONFIG_MTAB was not enabled. Changed to 'umount -a', which does
- the right thing.
- * init will now try to run /sbin/getty if it is present (for easy
- integration with the about-to-be-released tinylogin.)
- * kill now behaves itself properly, added 'kill -l' to list signals 'ls
- * -l' was failing on long directories, since my_getid was leaking
- one file descriptor per file. Oops.
- * Fixed rebooting from init. I'd accidently left some debugging code
- * in
- which blocked reboots.
- * Fixed reboot, halt (and added poweroff) such that they handle it when
- init is not at PID 1 (like when running in an initrd).
- * Added a prelinary du implementation. Some parameter parsing
- stuff still needs to be added. -beppu (John Beppu
- <beppu@lineo.com>)
- * Implemented tee. -beppu Implemented head. -beppu
-
- -Erik Andersen, Dec 10, 1999
-
-0.38
- * Fixed a segfault in 'umount -a' when a badly formed /etc/fstab
- file existed.
- * df will not exit on error, but will stat all mounted filesystems.
- * Fixed tar so uid/gid/permissions on extracted tarballs will be
- correct.
- * Fixed find -name so it properly uses shell wildcard patterns
- (i.e. `*', `?', and `[]') instead of regular expressions, which
- was causing some confusing and unexpected behavior.
- * Added klogd to syslogd, so now the log will contain both system and
- kernel messages.
- * syslogd now creates the /dev/log socket to make sure it is there, and
- is actually a socket with the right permissions.
- * I've taken a first step to making busybox not need the /proc
- filesystem. Most apps don't need it. Those that _require_ it,
- will complain if you enable them when you disable
- CONFIG_FEATURE_USE_PROCFS.
-
- -Erik Andersen, Dec 5, 1999
-
-0.37
- * Wrote a micro syslogd, and a logger util (to log things to the syslog
- from the command line or scripts) With both compiled in, costs 4k.
- * Fixed 'make install' so symlinks are installed in their proper
- * locations. Changed the build system slightly so that features can
- * now be enabled
- or disabled from the busybox.defs.h header file, without trying to
- compile in a source file named after that featue (unless that file
- exists).
- * Several options are now moved into busybox.defs.h Now 'rm -R' and 'rm
- * -r' both work. dd now properly handles input beyond 1 block from
- * stdin. Fixed a bug where tar unpacked everything a directories.
- * Moved some code
- from createPath into mkdir where it belonged, thereby making tar
- work properly.
- * Fixed an off-by-one bug in cat. Given a list of file it wouldn't cat
- * out the
- last file in the list.
- * Fixed 'ls -ln' so numeric group/uid are presented properly, and fixed
- * 'ls -l'
- so when uid/gid is not in /etc/{passwd,group} the numeric group/uid
- are presented properly.
- * Also added a TODO.
-
-
- -Erik Andersen, Nov 25, 1999
-
-0.36
- * fixed dd so it properly defaults to stdin and stdout when no
- if= and of= are set (fix thanks to Eric Delaunay).
- * Don't try to close the file descriptor of a pipein tar. (fix also
- * from
- Eric Delaunay).
- * Made createPath be quiet (again thanks to Eric Delaunay). If
- * CONFIG_CONSOLE_CMD_IF_RC_SCRIPT_EXITS is defined, then whatever
- command you define it as will be run if the init script exits.
- * Updated install.sh to make it more robust (thanks to Adam Di Carlo)
- * NFS support added to mount by Eric Delaunay. It costs 10k when
- * compiled
- in, but that is still a big win for those that use NFS.
- * Made 'rm -f' be silent for non-existant files (thanks to Eric
- * Delaunay). changed zcat.c to gunzip.c. It now obeys the principle
- * of least surprise
- and acts as god intended gunzip and zcat to act. They answer
- --help and obey the '-c' flag.
- * Fixed a bug in mv which caused it to not move files when the
- * destination
- was a directory.
- * Fixed a decimal-instead-of-octal bug causing mkdir to make
- * directories
- with very wrong permissions.
- * chmod would overwrite file permissions instead of modifying them.
- Now it properly modifies permissions.
- * Init now sends warnings destined for the console to /dev/console to
- * ensure
- they show up on whatever the active console it. Otherwise
- important messages (for example that the system is rebooting) were
- not seen when switched to a different VT.
-
- -Erik Andersen, Nov 17, 1999
-
-0.35
- * gzip now obeys the principle of least surprise and acts like god
- * intended
- (i.e. it accepts a file name, answers --help, and obeys the '-c'
- flag and only then outputs to stdout).
- * Fixed more.c to compile autowidth on sparc and set initial winsize
- to 0,0 in case the TIOCGWINSZ ioctl fails. Fix thanks to Eric
- Delaunay.
- * Fixed tar so it now works as expected (it had TRUE/FALSE backwards)
- * tar now accepts --help chmod, chown, and chgrp usage now works
- * General usage (i.e. --help) cleanups for most apps umount now parses
- * options correctly tar can now unpack tarballs containing device
- * special files,
- sockets, and fifos (though it can't pack them up) thanks to Matt
- Porter. Creating archives containing these is still left to the
- interested student.
- * fixed up the license in more.c to properly point to Bruce Perens.
-
- -Erik Andersen, Nov 11, 1999
-
-0.34
- * ls -l now displays link names outside the current directory,
- Patch thanks to Eric Delaunay
- * init now properly handles sparc serial consoles and does a
- better job of finding the real console device rather than using
- /dev/console which doesn't support job control. Patch also thanks
- to Eric Delaunay.
- * more started to read from stdin after the last file was finished, and
- options were not parsed correctly (fix thanks to Eric Delaunay).
- * more will now use the terminal size if CONFIG_FEATURE_AUTOWIDTH is on.
- * rm wouldn't remove a symlink unless the symlink was valid. This was
- a side effect of the busybox 0.32 recursiveAction() fix. Things
- should now work correctly.
- * grep wouldn't grep stdin. Now it does. sed wouldn't sed stdin. Now
- * it does. sed was appending a \n to the end of lines with
- * replacements.
- Now it doesn't do that.
- * ls -l now bypasses libc6 nss when displaying user/group names.
- Now uses my_getpwuid and my_getgrgid.
-
- -Erik Andersen, Nov 8, 1999
-
-0.33
- * Fixed a bug where init could hang instead of rebooting.
- * Removed some debugging noise from init.c
- * Fixed ln so it works now (it was very broken).
- * Fixed df so it won't segfault when there is no /etc/fstab,
- * If CONFIG_MTAB is not defined, df and mount will whine if /etc/fstab
- is not installed (since they cannot fixup "/dev/root" to
- state the real root device name)
- * merged some redundant code from mtab.c/df.c into utility.c
-
- -Erik Andersen, Nov 5, 1999
-
-0.32
- * More changes -- If you have any problems please let me know ASAP at
- andersee@debian.org
- * usage() now prints the BusyBox version. This will help folks
- realize that they are not in Kansas anymore.
- * Fixed mkdir -m option so that it works. kill segfaulted w/o any
- * arguments. Now it doesn't do that. kill wasn't properly accepting
- * signal names. It does now. Added new apps chvt and deallocvt (I
- * should probably add open) Major rewrite of init.c. Code is now
- * readable by mere mortals IMHO. Wrote sed -- weighs only 1.8k (5.8k
- * with full regular expressions!). Fixed a stupid seg-fault in sync
- * Fixed mount -- mount -a failed to parse and apply mount options Fixed
- * umount -n (patch thanks to Matthew Grant <grantma@anathoth.gen.nz>)
- * umount -a no longer umounts /proc Added CONFIG_MTAB, allowing (at the
- * cost of ~1.5k and the need for a rw /etc)
- folks to use a real /etc/mtab file instead of a symlink to
- /proc/mounts. mount, and umount will add/remove entries and df
- will now use /etc/mtab if CONFIG_MTAB is defined.
- * Fixed a nice bug in recursiveAction() which caused it to infinitely
- hunt through /proc/../fd/* creating new file descriptors if it
- followed the /dev/fd link over to /proc. recursiveAction() now
- lstat's the file when followLinks==FALSE so it won't follow links
- as the name suggests. Fix thanks to Matt Porter
- <porter@debian.org>.
-
-
- -Erik Andersen, Nov 4, 1999
-
-0.31
- * I added a changelog for version 0.30. adjusted find internals to
- * make it smaller, and removed
- some redundancy.
- * Fixed a segfault in ps when /etc/passwd or /etc/group
- are absent. Now will warn you and carry on.
- * Added in optional _real_ regular expression support (to be
- the basis for a future sed utility). When compiled in it adds
- 3.9k, but makes grep much more capable.
- * Checked out using nftw(3) for recursive stuff, but unfortunatly
- it wasn't supported before GNU libc 2.1, and some folks use glibc
- 2.0.7 since it is much smaller than that latest and greatest.
-
- -Erik Andersen, Oct 21, 1999
-
-0.30
- Major changes -- lots of stuff rewritten. If you have any problems
- with busybox, or notice any bugs -- please let me know so I can fix
- it. These changes include:
-
- Core Changes:
- * busybox can now invoke apps in two ways: via symlinks to the
- busybox binary, and as 'busybox [function] [arguments]...'
- * When invoked as busybox, the list of currently compiled in
- functions is printed out (no this is not bloat -- the list has
- to be there anyway to map invocation name to function).
- * busybox no longer parses command lines for apps or displays their
- usage info. Each app gets to handle (or not handle) this for
- itself.
- * Eliminated monadic, dyadic, descend, block_device, and
- postprocess. It was cumbersome to have so many programs
- cobbled together in this way. Without them, the app is much
- more granular.
- * All shared code now lives in utility.c, and is properly
- ifdef'ed to be only included for those apps requiring it.
- * Eliminated struct FileInfo (the basis of monadic, dyadic, etc)
- so now each app has the function prototype of (da-dum): extern
- int foo_main(int argc, char** argv); which speeds integration
- of new apps.
- * Adjusted the Makefile to make it easier to
- {en|dis}able debugging.
- * Changed default compiler optimization to -Os
- (optimize for smaller binaries).
-
- App Changes:
- * To cope with the new app function prototype and the removal of
- monadic, dyadic, etc, the following apps were re-written:
- * cat - Works same as always. chgrp, chmod, chown -
- * rewrite. Combined into a single
- source file. Absorbed patches from Enrique Zanardi
- <ezanard@debian.org> that removes the dependency on
- libc6 libnss* libraries.
- * cp - Can now do 'cp -a' can can copy devices,
- pipes, symlinks, as well as recursive or non-recursive
- dir copies.
- * fdflush - adjusted to remove dependancy on struct
- * FileInfo. find - Now includes some basic regexp matching
- which will be the basic of a future mini-sed.
- * ln - Same functionality. mkdir - Added -p flag to
- * feature set. mv - rewrite. rm - Added -f flag to
- * feature set. rmdir - Same functionality. swapon,
- * swapoff - Combined into a single binary. No longer
- uses /etc/swaps. swap{on|off} -a uses /etc/fstab
- instead.
- * touch - Same functionality. date - adjusted with a patch
- * from Matthew Grant <grantma@anathoth.gen.nz>
- to accomodate glibc timezone support. I then ripped out GNU
- getopt.
- * mkswap -- new version merged from util-linux. Can now make
- >128Meg swaps.
- * Replaced the old and star, unstar, and tarcat with the tar
- implementation from sash. Now tar behaves as god intended it
- to (i.e. tar -xvf <file> and tar -cf <file> <dir> work).
- * dd -- rewritten. Can with with files, stdin, stdout. Added the
- * following new apps: loadfont -- added from debian boot floppies
- * chroot -- added based on a patch from Paolo Molaro
- * <lupus@lettere.unipd.it> grep -- I just wrote it. Only matches
- * simple strings ps -- I just wrote it. Has _no_ options at all,
- * but works. fsck_minix, mkfs_minix -- added from util-linux, but
- * I ripped out
- internationalization and such to make them smaller.
- * sfdisk -- Added from util-linux (minus
- * internationalization and such). Probably some other
- * changes that I forgot to document...
-
- -Erik Andersen, Oct 20, 1999
-
-0.29
- This version was a messy pre-alpha. stay away or it will bite you.
- -Erik Andersen, Sep 24, 1999
-
-0.28
- mini-netcat (mnc) rewritten.
-
-0.27
- Mount now supports -a, and -t auto.
- Mount now updates mtab correctly for 'ro'.
- More checks screen rows size, outputs bytes percentage.
- Printf added as module.
-0.26
- Touch now creates files. -c option for no create.
-
+---------------------
+PatchSet 3976
+Date: 2004/03/09 21:27:32
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+David Anders (prpplague) submitted this patch to allow login to work
+when the device nodes are symlinks on a read only file system.
+
+Members:
+ loginutils/login.c:1.13->1.14
+
+---------------------
+PatchSet 3977
+Date: 2004/03/09 21:32:57
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+Note that /proc must be mounted for filesystem type autodetection
+to work. Without /proc mounted, one must explicitly specify the
+type of every filesystem being mounted.
+
+Members:
+ include/usage.h:1.192->1.193
+
+---------------------
+PatchSet 3978
+Date: 2004/03/10 07:42:37
+Author: mjn3
+Branch: HEAD
+Tag: (none)
+Log:
+In spite of the feature freeze, check in a complete rework of route which
+fixes some bugs, adds some error checking, and removes _lots_ of bloat.
+Text size on i386...
+ old new
+ ipv6 5425 3523
+ no ipv6 3143 2193
+
+Members:
+ include/inet_common.h:1.3->1.4
+ include/usage.h:1.193->1.194
+ libbb/inet_common.c:1.7->1.8
+ networking/route.c:1.23->1.24
+
+---------------------
+PatchSet 3979
+Date: 2004/03/10 09:10:53
+Author: bug1
+Branch: HEAD
+Tag: (none)
+Log:
+Patch by Seth W. Klein, the -l switch was reversed
+
+Members:
+ coreutils/du.c:1.58->1.59
+
+---------------------
+PatchSet 3980
+Date: 2004/03/10 09:58:51
+Author: bug1
+Branch: HEAD
+Tag: (none)
+Log:
+When displaying the size in 1kB blocks round up if an odd number of
+blocks
+
+Members:
+ coreutils/du.c:1.59->1.60
+
+---------------------
+PatchSet 3981
+Date: 2004/03/10 10:47:37
+Author: bug1
+Branch: HEAD
+Tag: (none)
+Log:
+Patch from Thomas Frohlich to fix an option ordering bug of mine.
+
+Members:
+ util-linux/hwclock.c:1.8->1.9
+
+---------------------
+PatchSet 3982
+Date: 2004/03/11 13:34:24
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+Paul Mundt, lethal at linux-sh dot org writes:
+
+Here's a follow-up replacement to the patch I sent earlier, this adjusts some
+of the semantics of the dynamic variable setting. Namely, dynamic vars can hook
+a set handler (which RANDOM uses to adjust the seed). They'll only lose their
+dynamic status if they're unset.
+
+I've used the same approach that bash does to come up with the random number,
+mostly just for consistency.
+
+For example:
+
+$ echo $RANDOM
+13759
+$ echo $RANDOM
+20057
+$ echo $RANDOM
+1502
+$ export RANDOM=42
+$ echo $RANDOM
+24179
+$ echo $RANDOM
+2046
+$ unset RANDOM
+$ echo $RANDOM
+
+$ export RANDOM=42
+$ echo $RANDOM
+42
+$
+
+Members:
+ shell/ash.c:1.90->1.91
+
+---------------------
+PatchSet 3983
+Date: 2004/03/12 22:07:10
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+Fix awk entry, which was not showing up in BusyBox.txt for some reason
+
+Members:
+ include/usage.h:1.194->1.195
+
+---------------------
+PatchSet 3984
+Date: 2004/03/12 22:08:13
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+Add prototypes for safe_strtol and friends
+
+Members:
+ include/libbb.h:1.127->1.128
+
+---------------------
+PatchSet 3985
+Date: 2004/03/12 22:08:42
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+Fix some goofy formatting
+
+Members:
+ shell/lash.c:1.155->1.156
+
+---------------------
+PatchSet 3986
+Date: 2004/03/12 22:10:40
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+Hideki IWAMOTO writes:
+
+Current `tr' implementation has a problem, if `plain char' is signed.
+
+[current cvs version]
+
+>echo a | _install/usr/bin/tr '\0' '\377'
+Segmentation fault (core dumped)
+
+[patched version]
+
+>echo a | _install/usr/bin/tr '\0' '\377'
+a
+
+Members:
+ coreutils/tr.c:1.36->1.37
+
+---------------------
+PatchSet 3987
+Date: 2004/03/13 08:32:14
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+Fix some doc generation problems
+
+Members:
+ docs/autodocifier.pl:1.24->1.25
+ docs/busybox_footer.pod:1.12->1.13
+
+---------------------
+PatchSet 3988
+Date: 2004/03/13 08:33:10
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+Update docs for start_stop_daemon to match reality. Update
+the reality a bit to better match debian behavior.
+
+Members:
+ debianutils/start_stop_daemon.c:1.12->1.13
+ include/applets.h:1.111->1.112
+ include/usage.h:1.195->1.196
+
+---------------------
+PatchSet 3989
+Date: 2004/03/13 18:17:37
+Author: mjn3
+Branch: HEAD
+Tag: (none)
+Log:
+I redid route.
+
+Members:
+ AUTHORS:1.40->1.41
+
+---------------------
+PatchSet 3990
+Date: 2004/03/15 08:28:13
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+Remove trailing whitespace. Update copyright to include 2004.
+
+Members:
+ AUTHORS:1.41->1.42
+ Changelog:1.289->1.290
+ INSTALL:1.3->1.4
+ Makefile:1.289->1.290
+ README:1.30->1.31
+ Rules.mak:1.28->1.29
+ TODO:1.86->1.87
+ applets/Makefile:1.4->1.5
+ applets/Makefile.in:1.3->1.4
+ applets/applets.c:1.23->1.24
+ applets/busybox.c:1.144->1.145
+ archival/Config.in:1.14->1.15
+ archival/Makefile:1.6->1.7
+ archival/Makefile.in:1.4->1.5
+ archival/ar.c:1.47->1.48
+ archival/cpio.c:1.14->1.15
+ archival/dpkg.c:1.75->1.76
+ archival/dpkg_deb.c:1.31->1.32
+ archival/gunzip.c:1.78->1.79
+ archival/gzip.c:1.61->1.62
+ archival/rpm.c:1.5->1.6
+ archival/rpm2cpio.c:1.11->1.12
+ archival/tar.c:1.187->1.188
+ archival/libunarchive/Makefile:1.4->1.5
+ archival/libunarchive/Makefile.in:1.21->1.22
+ archival/libunarchive/data_extract_all.c:1.18->1.19
+ archival/libunarchive/decompress_bunzip2.c:1.11->1.12
+ archival/libunarchive/decompress_uncompress.c:1.9->1.10
+ archival/libunarchive/decompress_unzip.c:1.32->1.33
+ archival/libunarchive/filter_accept_list_reassign.c:1.4->1.5
+ archival/libunarchive/get_header_ar.c:1.8->1.9
+ archival/libunarchive/get_header_cpio.c:1.8->1.9
+ archival/libunarchive/get_header_tar.c:1.35->1.36
+ archival/libunarchive/uncompress.c:1.9->1.10
+ archival/libunarchive/unzip.c:1.32->1.33
+ console-tools/Makefile:1.3->1.4
+ console-tools/Makefile.in:1.4->1.5
+ console-tools/chvt.c:1.21->1.22
+ console-tools/clear.c:1.17->1.18
+ console-tools/deallocvt.c:1.28->1.29
+ console-tools/dumpkmap.c:1.17->1.18
+ console-tools/loadkmap.c:1.27->1.28
+ console-tools/openvt.c:1.7->1.8
+ console-tools/reset.c:1.12->1.13
+ console-tools/setkeycodes.c:1.14->1.15
+ coreutils/Config.in:1.23->1.24
+ coreutils/Makefile:1.2->1.3
+ coreutils/Makefile.in:1.8->1.9
+ coreutils/basename.c:1.22->1.23
+ coreutils/cal.c:1.8->1.9
+ coreutils/chgrp.c:1.17->1.18
+ coreutils/chmod.c:1.16->1.17
+ coreutils/chown.c:1.25->1.26
+ coreutils/chroot.c:1.30->1.31
+ coreutils/cut.c:1.27->1.28
+ coreutils/date.c:1.44->1.45
+ coreutils/df.c:1.55->1.56
+ coreutils/dirname.c:1.19->1.20
+ coreutils/dos2unix.c:1.17->1.18
+ coreutils/du.c:1.60->1.61
+ coreutils/echo.c:1.17->1.18
+ coreutils/expr.c:1.16->1.17
+ coreutils/false.c:1.3->1.4
+ coreutils/id.c:1.23->1.24
+ coreutils/install.c:1.8->1.9
+ coreutils/ln.c:1.44->1.45
+ coreutils/ls.c:1.106->1.107
+ coreutils/md5_sha1_sum.c:1.5->1.6
+ coreutils/mknod.c:1.25->1.26
+ coreutils/mv.c:1.20->1.21
+ coreutils/printf.c:1.21->1.22
+ coreutils/rmdir.c:1.23->1.24
+ coreutils/tail.c:1.46->1.47
+ coreutils/tee.c:1.23->1.24
+ coreutils/test.c:1.24->1.25
+ coreutils/touch.c:1.27->1.28
+ coreutils/tr.c:1.37->1.38
+ coreutils/true.c:1.3->1.4
+ coreutils/uudecode.c:1.21->1.22
+ coreutils/wc.c:1.27->1.28
+ coreutils/who.c:1.2->1.3
+ coreutils/libcoreutils/Makefile:1.2->1.3
+ coreutils/libcoreutils/Makefile.in:1.2->1.3
+ debian/changelog:1.39->1.40
+ debian/control:1.19->1.20
+ debianutils/Config.in:1.6->1.7
+ debianutils/Makefile:1.2->1.3
+ debianutils/Makefile.in:1.4->1.5
+ debianutils/mktemp.c:1.3->1.4
+ debianutils/run_parts.c:1.6->1.7
+ debianutils/which.c:1.8->1.9
+ docs/busybox.sgml:1.53->1.54
+ docs/busybox_header.pod:1.12->1.13
+ docs/contributing.txt:1.9->1.10
+ docs/new-applet-HOWTO.txt:1.8->1.9
+ docs/style-guide.txt:1.16->1.17
+ docs/busybox.net/about.html:1.1->1.2
+ docs/busybox.net/busybox-growth.ps:1.1->1.2
+ docs/busybox.net/copyright.txt:1.1->1.2
+ docs/busybox.net/cvs_anon.html:1.10->1.11
+ docs/busybox.net/cvs_howto.html:1.1->1.2
+ docs/busybox.net/cvs_write.html:1.8->1.9
+ docs/busybox.net/docs.html:1.1->1.2
+ docs/busybox.net/download.html:1.1->1.2
+ docs/busybox.net/footer.html:1.2->1.3
+ docs/busybox.net/header.html:1.7->1.8
+ docs/busybox.net/license.html:1.2->1.3
+ docs/busybox.net/lists.html:1.2->1.3
+ docs/busybox.net/news.html:1.11->1.12
+ docs/busybox.net/oldnews.html:1.20->1.21
+ docs/busybox.net/screenshot.html:1.9->1.10
+ docs/busybox.net/images/busybox.png:1.1->1.2
+ docs/busybox.net/images/ltbutton2.png:1.1->1.2
+ editors/Config.in:1.9->1.10
+ editors/Makefile:1.3->1.4
+ editors/Makefile.in:1.4->1.5
+ editors/awk.c:1.6->1.7
+ editors/patch.c:1.1->1.2
+ editors/sed.c:1.160->1.161
+ editors/vi.c:1.33->1.34
+ examples/busybox.spec:1.40->1.41
+ examples/depmod.pl:1.3->1.4
+ examples/inittab:1.8->1.9
+ examples/undeb:1.2->1.3
+ examples/unrpm:1.3->1.4
+ examples/bootfloppy/bootfloppy.txt:1.3->1.4
+ examples/bootfloppy/mkrootfs.sh:1.3->1.4
+ examples/bootfloppy/syslinux.cfg:1.1->1.2
+ examples/bootfloppy/etc/profile:1.1->1.2
+ examples/udhcp/udhcpd.conf:1.2->1.3
+ findutils/Config.in:1.9->1.10
+ findutils/Makefile:1.3->1.4
+ findutils/Makefile.in:1.3->1.4
+ findutils/find.c:1.39->1.40
+ findutils/grep.c:1.80->1.81
+ findutils/xargs.c:1.33->1.34
+ include/busybox.h:1.55->1.56
+ include/libbb.h:1.128->1.129
+ include/unarchive.h:1.22->1.23
+ init/Makefile:1.4->1.5
+ init/Makefile.in:1.7->1.8
+ init/halt.c:1.23->1.24
+ init/init.c:1.198->1.199
+ init/init_shared.c:1.4->1.5
+ init/poweroff.c:1.20->1.21
+ init/reboot.c:1.31->1.32
+ libbb/Makefile:1.9->1.10
+ libbb/README:1.3->1.4
+ libbb/bb_asprintf.c:1.3->1.4
+ libbb/chomp.c:1.8->1.9
+ libbb/concat_path_file.c:1.11->1.12
+ libbb/copyfd.c:1.11->1.12
+ libbb/correct_password.c:1.2->1.3
+ libbb/device_open.c:1.4->1.5
+ libbb/dump.c:1.8->1.9
+ libbb/error_msg.c:1.5->1.6
+ libbb/error_msg_and_die.c:1.4->1.5
+ libbb/fgets_str.c:1.6->1.7
+ libbb/find_mount_point.c:1.4->1.5
+ libbb/find_pid_by_name.c:1.13->1.14
+ libbb/find_root_device.c:1.11->1.12
+ libbb/full_read.c:1.5->1.6
+ libbb/full_write.c:1.5->1.6
+ libbb/get_console.c:1.8->1.9
+ libbb/get_line_from_file.c:1.6->1.7
+ libbb/get_terminal_width_height.c:1.1->1.2
+ libbb/hash_fd.c:1.5->1.6
+ libbb/herror_msg.c:1.4->1.5
+ libbb/herror_msg_and_die.c:1.5->1.6
+ libbb/human_readable.c:1.8->1.9
+ libbb/inode_hash.c:1.6->1.7
+ libbb/interface.c:1.20->1.21
+ libbb/isdirectory.c:1.4->1.5
+ libbb/kernel_version.c:1.4->1.5
+ libbb/loop.c:1.7->1.8
+ libbb/messages.c:1.11->1.12
+ libbb/module_syscalls.c:1.15->1.16
+ libbb/mtab.c:1.4->1.5
+ libbb/mtab_file.c:1.8->1.9
+ libbb/my_getgrgid.c:1.6->1.7
+ libbb/my_getgrnam.c:1.6->1.7
+ libbb/my_getpwnam.c:1.6->1.7
+ libbb/my_getpwnamegid.c:1.6->1.7
+ libbb/my_getpwuid.c:1.6->1.7
+ libbb/parse_mode.c:1.6->1.7
+ libbb/parse_number.c:1.3->1.4
+ libbb/perror_msg.c:1.4->1.5
+ libbb/perror_msg_and_die.c:1.4->1.5
+ libbb/print_file.c:1.8->1.9
+ libbb/printf.c:1.3->1.4
+ libbb/process_escape_sequence.c:1.4->1.5
+ libbb/pw_encrypt.c:1.3->1.4
+ libbb/read_package_field.c:1.8->1.9
+ libbb/recursive_action.c:1.10->1.11
+ libbb/run_parts.c:1.10->1.11
+ libbb/run_shell.c:1.5->1.6
+ libbb/safe_read.c:1.3->1.4
+ libbb/safe_strncpy.c:1.3->1.4
+ libbb/safe_write.c:1.2->1.3
+ libbb/setup_environment.c:1.3->1.4
+ libbb/syscalls.c:1.12->1.13
+ libbb/syslog_msg_with_name.c:1.5->1.6
+ libbb/trim.c:1.7->1.8
+ libbb/u_signal_names.c:1.3->1.4
+ libbb/vdprintf.c:1.4->1.5
+ libbb/verror_msg.c:1.5->1.6
+ libbb/vfork_daemon_rexec.c:1.2->1.3
+ libbb/vherror_msg.c:1.6->1.7
+ libbb/vperror_msg.c:1.4->1.5
+ libbb/wfopen.c:1.4->1.5
+ libbb/xconnect.c:1.12->1.13
+ libbb/xfuncs.c:1.13->1.14
+ libbb/xgetlarg.c:1.4->1.5
+ libbb/xgetularg.c:1.1->1.2
+ libbb/xreadlink.c:1.4->1.5
+ libbb/xregcomp.c:1.4->1.5
+ libpwdgrp/Makefile:1.2->1.3
+ libpwdgrp/Makefile.in:1.2->1.3
+ libpwdgrp/__getgrent.c:1.5->1.6
+ libpwdgrp/__getpwent.c:1.3->1.4
+ libpwdgrp/fgetgrent.c:1.3->1.4
+ libpwdgrp/fgetpwent.c:1.2->1.3
+ libpwdgrp/getgrgid.c:1.4->1.5
+ libpwdgrp/getgrnam.c:1.4->1.5
+ libpwdgrp/getpw.c:1.2->1.3
+ libpwdgrp/getpwnam.c:1.3->1.4
+ libpwdgrp/getpwuid.c:1.5->1.6
+ libpwdgrp/grent.c:1.4->1.5
+ libpwdgrp/initgroups.c:1.6->1.7
+ libpwdgrp/putpwent.c:1.3->1.4
+ libpwdgrp/pwent.c:1.5->1.6
+ libpwdgrp/setgroups.c:1.4->1.5
+ libpwdgrp/shadow.c:1.7->1.8
+ loginutils/Makefile:1.2->1.3
+ loginutils/Makefile.in:1.6->1.7
+ loginutils/addgroup.c:1.11->1.12
+ loginutils/adduser.c:1.8->1.9
+ loginutils/getty.c:1.9->1.10
+ loginutils/login.c:1.14->1.15
+ loginutils/su.c:1.6->1.7
+ miscutils/Config.in:1.13->1.14
+ miscutils/Makefile:1.6->1.7
+ miscutils/Makefile.in:1.11->1.12
+ miscutils/adjtimex.c:1.5->1.6
+ miscutils/dc.c:1.17->1.18
+ miscutils/hdparm.c:1.10->1.11
+ miscutils/last.c:1.1->1.2
+ miscutils/makedevs.c:1.15->1.16
+ miscutils/mt.c:1.24->1.25
+ miscutils/rx.c:1.1->1.2
+ miscutils/strings.c:1.12->1.13
+ miscutils/time.c:1.5->1.6
+ miscutils/watchdog.c:1.7->1.8
+ modutils/Config.in:1.10->1.11
+ modutils/Makefile:1.3->1.4
+ modutils/Makefile.in:1.2->1.3
+ modutils/insmod.c:1.112->1.113
+ modutils/lsmod.c:1.40->1.41
+ modutils/rmmod.c:1.26->1.27
+ networking/Config.in:1.27->1.28
+ networking/Makefile:1.6->1.7
+ networking/Makefile.in:1.17->1.18
+ networking/ftpgetput.c:1.15->1.16
+ networking/httpd.c:1.24->1.25
+ networking/ifconfig.c:1.28->1.29
+ networking/ifupdown.c:1.35->1.36
+ networking/nc.c:1.22->1.23
+ networking/netstat.c:1.10->1.11
+ networking/nslookup.c:1.31->1.32
+ networking/ping.c:1.55->1.56
+ networking/ping6.c:1.5->1.6
+ networking/route.c:1.24->1.25
+ networking/telnet.c:1.42->1.43
+ networking/telnetd.c:1.10->1.11
+ networking/tftp.c:1.25->1.26
+ networking/traceroute.c:1.12->1.13
+ networking/vconfig.c:1.4->1.5
+ networking/wget.c:1.70->1.71
+ networking/libiproute/Makefile:1.2->1.3
+ networking/libiproute/Makefile.in:1.4->1.5
+ networking/libiproute/ip_parse_common_args.c:1.5->1.6
+ networking/libiproute/ipaddress.c:1.10->1.11
+ networking/libiproute/iplink.c:1.8->1.9
+ networking/libiproute/iproute.c:1.12->1.13
+ networking/libiproute/iptunnel.c:1.6->1.7
+ networking/libiproute/libnetlink.c:1.5->1.6
+ networking/libiproute/ll_proto.c:1.5->1.6
+ networking/libiproute/utils.h:1.2->1.3
+ networking/libiproute/linux/pkt_sched.h:1.1->1.2
+ networking/udhcp/AUTHORS:1.3->1.4
+ networking/udhcp/ChangeLog:1.7->1.8
+ networking/udhcp/Makefile:1.2->1.3
+ networking/udhcp/Makefile.in:1.9->1.10
+ networking/udhcp/README:1.3->1.4
+ networking/udhcp/README.udhcpc:1.3->1.4
+ networking/udhcp/README.udhcpd:1.1->1.2
+ networking/udhcp/arpping.c:1.6->1.7
+ networking/udhcp/arpping.h:1.3->1.4
+ networking/udhcp/clientpacket.c:1.6->1.7
+ networking/udhcp/common.c:1.5->1.6
+ networking/udhcp/common.h:1.2->1.3
+ networking/udhcp/dhcpc.c:1.16->1.17
+ networking/udhcp/dhcpd.c:1.5->1.6
+ networking/udhcp/dhcpd.h:1.5->1.6
+ networking/udhcp/dumpleases.c:1.8->1.9
+ networking/udhcp/files.c:1.13->1.14
+ networking/udhcp/frontend.c:1.1->1.2
+ networking/udhcp/leases.c:1.5->1.6
+ networking/udhcp/options.c:1.7->1.8
+ networking/udhcp/packet.c:1.4->1.5
+ networking/udhcp/packet.h:1.2->1.3
+ networking/udhcp/script.c:1.12->1.13
+ networking/udhcp/serverpacket.c:1.4->1.5
+ networking/udhcp/socket.c:1.7->1.8
+ patches/eject.diff:1.1->1.2
+ patches/tftp_timeout_multicast.diff:1.1->1.2
+ patches/udhcp_additional_items.diff:1.1->1.2
+ patches/udhcp_config_paths.diff:1.1->1.2
+ patches/udhcpd_foreground.diff:1.1->1.2
+ procps/Makefile:1.3->1.4
+ procps/Makefile.in:1.5->1.6
+ procps/free.c:1.21->1.22
+ procps/kill.c:1.51->1.52
+ procps/pidof.c:1.9->1.10
+ procps/ps.c:1.51->1.52
+ procps/renice.c:1.8->1.9
+ procps/sysctl.c:1.2->1.3
+ procps/top.c:1.10->1.11
+ procps/uptime.c:1.17->1.18
+ scripts/mkdep.c:1.2->1.3
+ scripts/split-include.c:1.1->1.2
+ scripts/config/Kconfig-language.txt:1.1->1.2
+ scripts/config/Makefile:1.3->1.4
+ scripts/config/checklist.c:1.1->1.2
+ scripts/config/dialog.h:1.1->1.2
+ scripts/config/lex.zconf.c_shipped:1.2->1.3
+ scripts/config/mconf.c:1.3->1.4
+ scripts/config/menu.c:1.2->1.3
+ scripts/config/menubox.c:1.3->1.4
+ scripts/config/util.c:1.1->1.2
+ scripts/config/zconf.tab.c_shipped:1.3->1.4
+ shell/Config.in:1.12->1.13
+ shell/Makefile:1.3->1.4
+ shell/Makefile.in:1.2->1.3
+ shell/ash.c:1.91->1.92
+ shell/hush.c:1.63->1.64
+ shell/lash.c:1.156->1.157
+ shell/msh.c:1.15->1.16
+ sysdeps/linux/Config.in:1.13->1.14
+ sysklogd/Config.in:1.6->1.7
+ sysklogd/Makefile:1.4->1.5
+ sysklogd/Makefile.in:1.2->1.3
+ sysklogd/klogd.c:1.19->1.20
+ sysklogd/logger.c:1.38->1.39
+ sysklogd/logread.c:1.14->1.15
+ sysklogd/syslogd.c:1.107->1.108
+ util-linux/Config.in:1.10->1.11
+ util-linux/Makefile:1.5->1.6
+ util-linux/Makefile.in:1.5->1.6
+ util-linux/dmesg.c:1.31->1.32
+ util-linux/fbset.c:1.33->1.34
+ util-linux/fdisk.c:1.17->1.18
+ util-linux/freeramdisk.c:1.24->1.25
+ util-linux/fsck_minix.c:1.38->1.39
+ util-linux/hwclock.c:1.9->1.10
+ util-linux/mkfs_minix.c:1.40->1.41
+ util-linux/more.c:1.59->1.60
+ util-linux/mount.c:1.115->1.116
+ util-linux/nfsmount.c:1.26->1.27
+ util-linux/pivot_root.c:1.7->1.8
+ util-linux/swaponoff.c:1.35->1.36
+ util-linux/umount.c:1.63->1.64
+
+---------------------
+PatchSet 3991
+Date: 2004/03/15 08:46:37
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+Oops. Using the wrong variable was a rather stupid
+thing for me to do.
+
+Members:
+ networking/ftpgetput.c:1.16->1.17
+
+---------------------
+PatchSet 3992
+Date: 2004/03/16 05:14:10
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+Patch from vodz to fix the dynamic vars patch, which I should not
+have checked in. Vladimir writes:
+
+Your patch have many problem.
+1. You always added + time(). This cannot reset RANDOM=value for debuging
+with
+replay sequential.
+2. Hmm. I examine bash 2.04 source. This pseudorandom generator use low bits
+of
+counter value. You use high bits. This make bad pseudorandom values after
+have
+0-value. For example, if + time() do remove, your generator always return 0
+after
+first generate 0.
+3. Memory leak per call. Use ash-unlike unecessary bb_strdup function.
+4. Unsupport show last $RANDOM value for "set" and "export" command.
+5. Bloat code. Busybox-unlike patch - added unstandart feature as default
+hardcode.
+
+Last patch attached.
+
+Erik, why you apply Paul patch with have 5-th point problem? :(
+
+Last patch have ash change xwrite() to fresh libbb/bb_full_write interfase
+(haved loop after EINTR).
+
+
+--w
+vodz
+
+Members:
+ shell/Config.in:1.13->1.14
+ shell/ash.c:1.92->1.93
+
+---------------------
+PatchSet 3993
+Date: 2004/03/19 10:53:52
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+Fix broken arg parsing (was not passing pointer to items so p, argc, and argv
+were only modified locally). Fix error reporting to properly describe why
+ioctls fail.
+
+Members:
+ miscutils/hdparm.c:1.11->1.12
+
+---------------------
+PatchSet 3994
+Date: 2004/03/19 12:16:18
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+Only use R_68K_GOTOFF if it is defined
+
+Members:
+ modutils/insmod.c:1.113->1.114
+
+---------------------
+PatchSet 3995
+Date: 2004/03/19 12:17:04
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+Add missing ELFCLASSM for m68k
+
+Members:
+ modutils/insmod.c:1.114->1.115
+
+---------------------
+PatchSet 3996
+Date: 2004/03/19 21:00:03
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+As noted in a patch from Kendrick Hamilton, rmmod was only
+half way converted, and still used the old delete_module(),
+call rather than a syscall, in one spot.
+
+Members:
+ modutils/rmmod.c:1.27->1.28
+
+---------------------
+PatchSet 3997
+Date: 2004/03/19 23:27:08
+Author: mjn3
+Branch: HEAD
+Tag: (none)
+Log:
+Oops.. got a bit to aggressive with size optimization and global replace. :-(
+
+Members:
+ networking/route.c:1.25->1.26
+
+---------------------
+PatchSet 3998
+Date: 2004/03/20 00:56:46
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+Tito noticed a printf that should have been a bb_error_msg.
+
+Members:
+ miscutils/hdparm.c:1.12->1.13
+
+---------------------
+PatchSet 3999
+Date: 2004/03/21 18:01:46
+Author: sandman
+Branch: HEAD
+Tag: (none)
+Log:
+The utc variable was not modified according to the -u/-l command line
+parameters.
+
+Members:
+ util-linux/hwclock.c:1.10->1.11
+
+---------------------
+PatchSet 4000
+Date: 2004/03/22 21:27:39
+Author: sandman
+Branch: HEAD
+Tag: (none)
+Log:
+Some corrections from vodz:
+- Make -u/-l mutually exclusive
+- Minor size reduction
+
+Members:
+ util-linux/hwclock.c:1.11->1.12
+
+---------------------
+PatchSet 4001
+Date: 2004/03/23 23:15:36
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+Brian Pomerantz writes:
+
+I've noticed a bug in the "autowidth" feature more, and is probably in
+others. The call to the function get_terminal_width_height() passes
+in a file descriptor but that file descriptor is never used, instead
+the ioctl() is called with 0. In more_main() the call to
+get_terminal_width_height() passes 0 as the file descriptor instead of
+fileno(cin). This isn't a problem when you more a file (e.g. "more
+/etc/passwd") but when you pipe a file to it (e.g. "cat /etc/passwd |
+more") the size of the terminal cannot be determined because file
+descriptor 0 is not a terminal. The fix is simple, I've attached a
+patch for more.c and get_terminal_width_height.c.
+
+
+BAPper
+
+Members:
+ coreutils/ls.c:1.107->1.108
+ libbb/get_terminal_width_height.c:1.2->1.3
+ util-linux/more.c:1.60->1.61
+
+---------------------
+PatchSet 4002
+Date: 2004/03/27 09:40:15
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+Update docs
+
+Members:
+ README:1.31->1.32
+ TODO:1.87->1.88(DEAD)
+ docs/busybox_footer.pod:1.13->1.14
+ docs/busybox_header.pod:1.13->1.14
+
+---------------------
+PatchSet 4003
+Date: 2004/03/27 09:49:57
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+Vladimir N. Oleynik (vodz) writes:
+
+Ok. Last patch reduce 73 bytes for compensate (and over) your changes ;-)
+
+Comments:
+Added cin_fileno variable, auto setted to 0 from BSS and have "eq" stdin
+descriptor if isatty(stout)==0, removed global variable FILE* cin.
+Removed default setting to terminal_width/terminal_height, this used
+only from main() and setted after call get_terminal_width_height()
+always correct.
+Variable please_display_more_prompt changed to bits logic, have size
+reducing.
+--w
+vodz
+
+Members:
+ util-linux/more.c:1.61->1.62
+
+---------------------
+PatchSet 4004
+Date: 2004/03/27 10:02:41
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+s/fileno\(stdin\)/STDIN_FILENO/g
+s/fileno\(stdout\)/STDOUT_FILENO/g
+
+Members:
+ archival/bunzip2.c:1.17->1.18
+ archival/cpio.c:1.15->1.16
+ archival/gunzip.c:1.79->1.80
+ archival/rpm2cpio.c:1.12->1.13
+ archival/tar.c:1.188->1.189
+ archival/uncompress.c:1.3->1.4
+ archival/unzip.c:1.6->1.7
+ archival/libunarchive/data_extract_to_stdout.c:1.4->1.5
+ coreutils/ls.c:1.108->1.109
+ coreutils/md5_sha1_sum.c:1.6->1.7
+ libbb/dump.c:1.9->1.10
+ libbb/print_file.c:1.9->1.10
+ networking/ftpgetput.c:1.17->1.18
+ networking/nc.c:1.23->1.24
+ networking/tftp.c:1.26->1.27
+ networking/wget.c:1.71->1.72
+ patches/tftp_timeout_multicast.diff:1.2->1.3
+ shell/cmdedit.c:1.89->1.90
+ shell/hush.c:1.64->1.65
+ shell/lash.c:1.157->1.158
+ util-linux/more.c:1.62->1.63
+
+---------------------
+PatchSet 4005
+Date: 2004/03/27 10:08:53
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+passwd and sulogin also need libcrypt, via libbb/pw_encrypt()
+
+Members:
+ loginutils/Makefile.in:1.7->1.8
+
+---------------------
+PatchSet 4006
+Date: 2004/03/27 11:26:32
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+Add missing include files
+
+Members:
+ archival/libunarchive/data_extract_to_stdout.c:1.5->1.6
+ libbb/dump.c:1.10->1.11
+ libbb/print_file.c:1.10->1.11
+
+---------------------
+PatchSet 4007
+Date: 2004/03/27 11:35:46
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+Yet more doc cleanups
+
+Members:
+ docs/busybox_header.pod:1.14->1.15
+ include/usage.h:1.196->1.197
+
+---------------------
+PatchSet 4008
+Date: 2004/03/29 08:20:08
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+As noted by Martin Schwenke, the example for find was wrong
+
+Members:
+ include/usage.h:1.197->1.198
+
+---------------------
+PatchSet 4009
+Date: 2004/03/30 09:08:58
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+The fdisk llseek junk was redundant, since both uClibc and glibc
+automatically promote lseek and friends to their 64 bit counterparts
+when CONFIG_LFS is enabled, since it enables __USE_FILE_OFFSET64
+
+Members:
+ util-linux/Config.in:1.11->1.12
+ util-linux/fdisk.c:1.18->1.19
+
+---------------------
+PatchSet 4010
+Date: 2004/03/30 09:13:05
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+Go ahead and kill off the FDISK_SUPPORT_LARGE_DISKS option,
+as it is redundant....
+
+Members:
+ util-linux/Config.in:1.12->1.13
+
+---------------------
+PatchSet 4011
+Date: 2004/03/30 09:21:54
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+As waldi noticed, checks for the size of an off_t and casting
+etc was also redundant and possibly buggy...
+
+Members:
+ util-linux/fdisk.c:1.19->1.20
+
+---------------------
+PatchSet 4012
+Date: 2004/03/30 09:33:18
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+Sigh. what a mess.
+
+Members:
+ util-linux/fdisk.c:1.20->1.21
+
+---------------------
+PatchSet 4013
+Date: 2004/03/31 11:12:51
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+Patch from Thomas Winkler -- vi -R did not work
+
+Members:
+ editors/vi.c:1.34->1.35
+
+---------------------
+PatchSet 4014
+Date: 2004/03/31 11:21:24
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+Patch from Thomas Winkler showing the the system time for each process
+when running 'top'
+
+Members:
+ patches/top_system_cpu.diff:INITIAL->1.1
+
+---------------------
+PatchSet 4015
+Date: 2004/03/31 11:30:08
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+Patch from Thomas Winkler:
+
+ifconfig did not look up hostnames, so
+ ifconfig lo localhost
+would not work, you have to do
+ ifconfig lo 127.0.0.1
+
+Members:
+ networking/ifconfig.c:1.29->1.30
+
+---------------------
+PatchSet 4016
+Date: 2004/03/31 11:42:40
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+Junio Hamano, junio at twinsun dot com writes:
+
+The sed command in busybox 1.0.0-pre8 loses leading whitespace
+in 'a' command ('i' and 'c' commands are also affected). A
+patch to fix this is attached at the end of this message.
+
+The following is a transcript that reproduces the problem. The
+first run uses busybox 1.0.0-pre3 as "/bin/sed" command, which
+gets the expected result. Later in the test, /bin/sed symlink
+is changed to point at busybox 1.0.0-pre8 and the test script is
+run again, which shows the failure.
+
+=== reproduction recipe ===
+* Part 1. Use busybox 1.0.0-pre3 as sed; this works.
+
+root# cd /tmp
+root# cat 1.sh
+#!/bin/sh
+
+cd /tmp
+rm -f ipsec.conf ipsec.conf+
+cat >ipsec.conf <<\EOF
+version 2.0
+
+config setup
+ klipsdebug=none
+ plutodebug=none
+ plutostderrlog=/dev/null
+
+conn %default
+ keyingtries=1
+ ...
+EOF
+sed -e '/^config setup/a\
+ nat_traversal=yes' ipsec.conf >ipsec.conf+
+mv -f ipsec.conf+ ipsec.conf
+root# sh -x 1.sh
++ cd /tmp
++ rm -f ipsec.conf ipsec.conf+
++ cat
++ sed -e /^config setup/a\
+ nat_traversal=yes ipsec.conf
++ mv -f ipsec.conf+ ipsec.conf
+root# cat ipsec.conf
+version 2.0
+
+config setup
+ nat_traversal=yes
+ klipsdebug=none
+ plutodebug=none
+ plutostderrlog=/dev/null
+
+conn %default
+ keyingtries=1
+ ...
+root# sed --version
+sed: invalid option -- -
+BusyBox v1.00-pre3 (2004.02.26-18:47+0000) multi-call binary
+
+Usage: sed [-nef] pattern [files...]
+
+* Part 2. Continuing from the above, use busybox 1.0.0-pre8
+ as sed; this fails.
+
+root# ln -s busybox-pre8 /bin/sed-8
+root# mv /bin/sed-8 /bin/sed
+root# sed --version
+This is not GNU sed version 4.0
+root# sed --
+BusyBox v1.00-pre8 (2004.03.30-02:44+0000) multi-call binary
+
+Usage: sed [-nef] pattern [files...]
+root# sh -x 1.sh
++ cd /tmp
++ rm -f ipsec.conf ipsec.conf+
++ cat
++ sed -e /^config setup/a\
+ nat_traversal=yes ipsec.conf
++ mv -f ipsec.conf+ ipsec.conf
+root# cat ipsec.conf
+version 2.0
+
+config setup
+nat_traversal=yes
+ klipsdebug=none
+ plutodebug=none
+ plutostderrlog=/dev/null
+
+conn %default
+ keyingtries=1
+ ...
+root#
+=== reproduction recipe ends here ===
+
+This problem was introduced in 1.0.0-pre4. The problem is that
+the command argument parsing code strips leading whitespaces too
+aggressively. When running the above example, the piece of code
+in question gets "\n\tnat_traversal=yes" as its argument in
+cmdstr variable (shown part in the following patch). What it
+needs to do at this point is to strip the first newline and
+nothing else, but it instead strips all the leading whitespaces
+at the beginning of the string, thus losing the tab character.
+The following patch fixes this.
+
+Members:
+ editors/sed.c:1.161->1.162
+
+---------------------
+PatchSet 4017
+Date: 2004/03/31 11:53:37
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+Patch from Hideki IWAMOTO adding support for 'cmp -n'
+
+Members:
+ patches/cmp_n.diff:INITIAL->1.1
+
+---------------------
+PatchSet 4018
+Date: 2004/04/01 09:23:30
+Author: landley
+Branch: HEAD
+Tag: (none)
+Log:
+The last patch broke:
+sed -i "/^boo/a fred" ipsec.conf
+
+Which works in gnu sed. (And is _supposed_ to strip all the whitespace before
+"fred".)
+
+It also broke:
+sed -i -e "/^boo/a \\" -e " fred" ipsec.conf
+
+I.E. there can legally be spaces between the a and the backslash at the end of
+the line.
+
+And strangely enough, gnu sed accepts the following syntax as well:
+sed -i "/^boo/a \\ fred" ipsec.conf
+
+Which is a way of having the significant whitespace at the start of the line,
+all on one line. (But notice that the whitespace BEFORE the slash is still
+stripped, as is the slash itself. And notice that the naieve placement of
+"\n" there doesn't work, it puts an n at the start of the appended line. The
+double slashing is for shell escapes because you could escape the quote, you
+see. It's turned into a single backslash. But \n there is _not_ turned into
+a newline by the shell. So there.)
+
+This makes all three syntaxes work in my tests. I should probably start
+writing better documentation at some point. I posted my current sedtests.py
+file to the list, which needs a lot more tests added as well...
+
+Members:
+ editors/sed.c:1.162->1.163
+
+---------------------
+PatchSet 4019
+Date: 2004/04/03 12:36:03
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+Everything should be made as simple as possible. But no simpler.
+
+Members:
+ util-linux/fdformat.c:1.3->1.4
+
+---------------------
+PatchSet 4020
+Date: 2004/04/05 14:03:34
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+rename uncompress.c to decompress_uncompress.c
+rename unzip.c to decompress_unzip.c
+
+Members:
+ archival/libunarchive/Makefile.in:1.22->1.23
+ archival/libunarchive/uncompress.c:1.10->1.11(DEAD)
+ archival/libunarchive/unzip.c:1.33->1.34(DEAD)
+
+---------------------
+PatchSet 4021
+Date: 2004/04/05 14:08:08
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+Tito, farmatito at tiscali dot it writes:
+
+Hi to all,
+I discovered a little bug in hdparm.c
+(really two little bugs...I've made...sigh! Mea culpa).
+Some vars were modified only locally and this could lead to wrong
+results to be displayed with the -I switch and maybe with others.
+Attached is a patch that fix it ( +88b).
+
+Also attached is second patch that reduces the size a little bit:
+ text data bss dec hex filename
+ 27984 624 900 29508 7344 hdparm.o (without bug-fix)
+ 28072 624 900 29596 739c hdparm.o (with bug-fix)
+ 28141 624 900 29665 73e1 hdparm.o (original)
+but maybe this one can wait as we are in a feature freeze.
+
+Ciao,
+Tito
+
+Members:
+ miscutils/hdparm.c:1.13->1.14
+
+---------------------
+PatchSet 4022
+Date: 2004/04/05 14:24:07
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+Per suggestion by Pawel Sakowski, fix the dash_arith() prototype
+to return a long. We were needlessly truncating to an int.
+
+Members:
+ shell/ash.c:1.93->1.94
+
+---------------------
+PatchSet 4023
+Date: 2004/04/05 15:30:15
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+Patch adding support for ibs= and obs= to dd
+
+Members:
+ patches/dd_ibs_and_obs.diff:INITIAL->1.1
+
+---------------------
+PatchSet 4024
+Date: 2004/04/05 19:46:24
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+Some test additions
+
+Members:
+ testsuite/cp/cp-a-files-to-dir:INITIAL->1.1
+ testsuite/cp/cp-a-preserves-links:INITIAL->1.1
+ testsuite/cp/cp-d-files-to-dir:INITIAL->1.1
+ testsuite/cp/cp-files-to-dir:INITIAL->1.1
+ testsuite/cp/cp-preserves-links:1.1->1.2
+
+---------------------
+PatchSet 4025
+Date: 2004/04/06 01:41:39
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+Fix the test suite script so it actually works and actually flags
+all errors as such. Make verbose mode exit on FAIL and provide a
+printout of the failed test run.
+
+Members:
+ testsuite/runtest:1.6->1.7
+
+---------------------
+PatchSet 4026
+Date: 2004/04/06 10:38:18
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+Fix non standard 'date -R' formatting
+
+Members:
+ coreutils/date.c:1.45->1.46
+
+---------------------
+PatchSet 4027
+Date: 2004/04/06 12:09:47
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+Kill off the old 'tests' stuff. Write a ton of new tests for the
+'testsuite' dir. Fix a bunch of broken tests. Fix the testsuite
+'runtest' script so it actually reports all failures and provides
+meaningful feedback.
+ -Erik
+
+Members:
+ testsuite/runtest:1.7->1.8
+ testsuite/basename/basename-works:INITIAL->1.1
+ testsuite/cmp/cmp-detects-difference:1.2->1.3
+ testsuite/cp/cp-a-files-to-dir:1.1->1.2
+ testsuite/cp/cp-a-preserves-links:1.1->1.2
+ testsuite/cp/cp-d-files-to-dir:1.1->1.2
+ testsuite/cp/cp-does-not-copy-unreadable-file:1.1->1.2
+ testsuite/cp/cp-preserves-links:1.2->1.3
+ testsuite/date/date-R-works:INITIAL->1.1
+ testsuite/date/date-format-works:INITIAL->1.1
+ testsuite/date/date-u-works:INITIAL->1.1
+ testsuite/date/date-works:INITIAL->1.1
+ testsuite/dirname/dirname-works:INITIAL->1.1
+ testsuite/du/du-h-works:INITIAL->1.1
+ testsuite/du/du-k-works:INITIAL->1.1
+ testsuite/du/du-l-works:INITIAL->1.1
+ testsuite/du/du-m-works:INITIAL->1.1
+ testsuite/du/du-s-works:INITIAL->1.1
+ testsuite/du/du-works:INITIAL->1.1
+ testsuite/echo/echo-prints-argument:1.1->1.2
+ testsuite/expr/expr-works:INITIAL->1.1
+ testsuite/grep/grep-matches-NUL:1.2->1.3
+ testsuite/head/head-n-works:INITIAL->1.1
+ testsuite/head/head-works:INITIAL->1.1
+ testsuite/hostid/hostid-works:INITIAL->1.1
+ testsuite/hostname/hostname-d-works:INITIAL->1.1
+ testsuite/hostname/hostname-i-works:INITIAL->1.1
+ testsuite/hostname/hostname-s-works:INITIAL->1.1
+ testsuite/hostname/hostname-works:INITIAL->1.1
+ testsuite/id/id-g-works:INITIAL->1.1
+ testsuite/id/id-u-works:INITIAL->1.1
+ testsuite/id/id-un-works:INITIAL->1.1
+ testsuite/id/id-ur-works:INITIAL->1.1
+ testsuite/ln/ln-creates-hard-links:INITIAL->1.1
+ testsuite/ln/ln-creates-soft-links:INITIAL->1.1
+ testsuite/ln/ln-force-creates-hard-links:INITIAL->1.1
+ testsuite/ln/ln-force-creates-soft-links:INITIAL->1.1
+ testsuite/ln/ln-preserves-hard-links:INITIAL->1.1
+ testsuite/ln/ln-preserves-soft-links:INITIAL->1.1
+ testsuite/ls/ls-1-works:INITIAL->1.1
+ testsuite/ls/ls-h-works:INITIAL->1.1
+ testsuite/ls/ls-l-works:INITIAL->1.1
+ testsuite/ls/ls-s-works:INITIAL->1.1
+ testsuite/mv/mv-files-to-dir:INITIAL->1.1
+ testsuite/mv/mv-follows-links:INITIAL->1.1
+ testsuite/mv/mv-moves-empty-file:INITIAL->1.1
+ testsuite/mv/mv-moves-hardlinks:INITIAL->1.1
+ testsuite/mv/mv-moves-large-file:INITIAL->1.1
+ testsuite/mv/mv-moves-small-file:INITIAL->1.1
+ testsuite/mv/mv-moves-symlinks:INITIAL->1.1
+ testsuite/mv/mv-moves-unreadable-files:INITIAL->1.1
+ testsuite/mv/mv-preserves-hard-links:INITIAL->1.1
+ testsuite/mv/mv-preserves-links:INITIAL->1.1
+ testsuite/mv/mv-refuses-mv-dir-to-subdir:INITIAL->1.1
+ testsuite/mv/mv-removes-source-file:INITIAL->1.1
+ testsuite/pwd/pwd-prints-working-directory:1.1->1.2
+ testsuite/sed/sed-append-next-line:1.2->1.3
+ testsuite/sort/sort-n-works:INITIAL->1.1
+ testsuite/sort/sort-r-works:INITIAL->1.1
+ testsuite/sort/sort-works:INITIAL->1.1
+ testsuite/strings/strings-works-like-GNU:1.1->1.2
+ testsuite/tail/tail-n-works:INITIAL->1.1
+ testsuite/tail/tail-works:INITIAL->1.1
+ testsuite/tar/tar-extracts-multiple-files:1.1->1.2
+ testsuite/tr/tr-d-works:INITIAL->1.1
+ testsuite/tr/tr-non-gnu:INITIAL->1.1
+ testsuite/tr/tr-works:INITIAL->1.1
+ testsuite/uptime/uptime-works:INITIAL->1.1
+ testsuite/uuencode/uuencode-sets-standard-input-mode-correctly:1.1->1.2
+ testsuite/which/which-uses-default-path:1.2->1.3
+ testsuite/xargs/xargs-works:INITIAL->1.1
+
+---------------------
+PatchSet 4028
+Date: 2004/04/06 12:10:50
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+Simplify, make formatting better match the procps version
+
+Members:
+ procps/uptime.c:1.18->1.19
+
+---------------------
+PatchSet 4029
+Date: 2004/04/06 12:34:02
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+Minor tar test update
+
+Members:
+ testsuite/tar/tar-extracts-multiple-files:1.2->1.3
+
+---------------------
+PatchSet 4030
+Date: 2004/04/06 12:46:56
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+Make 'allyesconfig' be a bit less stupid
+
+Members:
+ Makefile:1.290->1.291
+
+---------------------
+PatchSet 4031
+Date: 2004/04/06 12:51:45
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+Yet more 'make allyesconfig' adjustments
+
+Members:
+ Makefile:1.291->1.292
+
+---------------------
+PatchSet 4032
+Date: 2004/04/06 12:56:25
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+Christian Grigis, christian.grigis at smartdata dot ch writes:
+
+Hello everyone,
+
+Busybox's insmod fails to locate a module when that module is the only one
+existing in the /lib/modules directory (with a unique name).
+
+Example:
+
+# find /lib/modules/ -type f
+/lib/modules/kernel/drivers/char/bios.o
+# insmod bios
+insmod: bios.o: no module by that name found
+# touch /lib/modules/dummy
+# find /lib/modules/ -type f
+/lib/modules/kernel/drivers/char/bios.o
+/lib/modules/dummy
+# insmod bios
+Using /lib/modules/kernel/drivers/char/bios.o
+
+As long as there is another file in the /lib/modules directory, insmod
+finds it OK.
+
+I tracked the problem down to 'check_module_name_match()' in insmod.c:
+
+It returns TRUE when a match is found, and FALSE otherwise. In the case
+where there is only one module in the /lib/modules directory (or more that
+one module, but all with the same name), 'recursive_action()' will return
+TRUE and we end up on line 4196 in 'insmod.c' which returns an error.
+[The reason it works with more than one module with different
+names is that in this case there will always be one not matching,
+'recursive_action()' will return FALSE and we end up in line 4189.]
+
+Now, from the implementation of 'recursive_action()' and from other
+usages of it (tar.c, etc.), it seems to me that FALSE should be returned
+to indicate that we want to stop the recursion, so TRUE and FALSE should
+be inverted in 'check_module_name_match()'.
+
+At the same time, 'recursive_action()' continues to recurse even after
+the recursive call has returned FALSE; again in my understanding and
+other usages of it, we can safely stop recursing at this point.
+
+
+Here is my patch against 1.00-pre8:
+
+Members:
+ libbb/recursive_action.c:1.11->1.12
+ modutils/insmod.c:1.115->1.116
+
+---------------------
+PatchSet 4033
+Date: 2004/04/06 13:04:14
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+Michael Tokarev, mjt at tls dot msk dot ru writes:
+
+Initialize all fields of struct dep_t.
+Without that, e.g. `busybox modprobe -v char-major-10-144' *sometimes*
+fails this way (strace):
+
+ write(1, "insmod nvram `\213\f\10\n", 21) = 21
+
+Note the garbage after module name which is taken from the m_options field,
+which is not initialized in the alias reading/parsing part.
+(Shell properly complains to this command, telling it can't find the
+closing backtick)
+
+Members:
+ modutils/modprobe.c:1.28->1.29
+
+---------------------
+PatchSet 4034
+Date: 2004/04/06 13:05:04
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+Michael Tokarev, mjt at tls dot msk dot ru writes:
+
+alias 'off' parsing fix.
+It is not
+ alias off module
+it is
+ alias module off
+
+Members:
+ modutils/modprobe.c:1.29->1.30
+
+---------------------
+PatchSet 4035
+Date: 2004/04/06 13:06:03
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+Michael Tokarev, mjt at tls dot msk dot ru writes:
+
+Fix parsing of all tag-value pairs (in modules.conf in particular).
+Without this fix, code chokes badly on lines where either value or
+both tag+value are missing, like bare
+ alias
+line, or alias w/o the value like
+ alias some-module
+(syntactically incorrect, but no need for coredumps either).
+
+Members:
+ modutils/modprobe.c:1.30->1.31
+
+---------------------
+PatchSet 4036
+Date: 2004/04/06 15:28:34
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+Fix it so usage is _always_ in sync with applets.c. Previously,
+broken depends allowed these to get out of sync.
+
+Members:
+ Makefile:1.292->1.293
+ Rules.mak:1.29->1.30
+ applets/Makefile.in:1.4->1.5
+ applets/applets.c:1.24->1.25
+ applets/usage.c:1.59->1.60(DEAD)
+
+---------------------
+PatchSet 4037
+Date: 2004/04/06 16:19:52
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+Fix it so build dependancies actually work and do something useful
+
+Members:
+ Makefile:1.293->1.294
+
+---------------------
+PatchSet 4038
+Date: 2004/04/06 16:26:25
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+Eliminate all trace of the sgml based docs. It was a noble effort,
+but it just never worked out...
+
+Members:
+ Makefile:1.294->1.295
+ docs/autodocifier.pl:1.25->1.26
+ docs/busybox.sgml:1.54->1.55(DEAD)
+
+---------------------
+PatchSet 4039
+Date: 2004/04/06 16:39:19
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+Yet more doc updates
+
+Members:
+ README:1.32->1.33
+ docs/busybox_header.pod:1.15->1.16
+ docs/busybox.net/screenshot.html:1.10->1.11
+
+---------------------
+PatchSet 4040
+Date: 2004/04/06 17:36:20
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+yet-more doc updates and cleanups
+
+Members:
+ include/usage.h:1.198->1.199
+
+---------------------
+PatchSet 4041
+Date: 2004/04/06 17:56:00
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+Fix indenting
+
+Members:
+ networking/Makefile.in:1.18->1.19
+
+---------------------
+PatchSet 4042
+Date: 2004/04/06 17:59:43
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+Seem not many people are using 'ipaddr' since it has
+never worked.... Most people use 'ip addr foo' I suppose.
+
+Members:
+ include/applets.h:1.112->1.113
+
+---------------------
+PatchSet 4043
+Date: 2004/04/06 18:16:36
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+Yet more doc cleanups. Many thanks to Robert P. J. Day for
+kindly reviewing the existing docs and providing helpful feedback.
+
+Members:
+ include/usage.h:1.199->1.200
+
+---------------------
+PatchSet 4044
+Date: 2004/04/06 18:52:02
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+Yet more doc updates
+
+Members:
+ AUTHORS:1.42->1.43
+ docs/busybox_footer.pod:1.14->1.15
+ include/usage.h:1.200->1.201
+
+---------------------
+PatchSet 4045
+Date: 2004/04/06 18:53:09
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+Fix buffalo url
+
+Members:
+ docs/busybox.net/products.html:1.7->1.8
+
+---------------------
+PatchSet 4046
+Date: 2004/04/06 18:58:37
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+Bump version to -pre9
+
+Members:
+ Rules.mak:1.30->1.31
+
+---------------------
+PatchSet 4047
+Date: 2004/04/07 10:17:14
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+Update the default config
+
+Members:
+ sysdeps/linux/defconfig:1.6->1.7
+
+---------------------
+PatchSet 4048
+Date: 2004/04/07 10:34:27
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+Remove the CONFIG_FEATURE_SH_APPLETS_ALWAYS_WIN option. It was sortof
+stupid and didn't work properly anyways.
+
+Members:
+ debian/config-static:1.14->1.15
+ debian/config-udeb:1.18->1.19
+ debian/config-udeb-linux:1.1->1.2
+ shell/Config.in:1.14->1.15
+ shell/ash.c:1.94->1.95
+ shell/hush.c:1.65->1.66
+ shell/lash.c:1.158->1.159
+ shell/msh.c:1.16->1.17
+
+---------------------
+PatchSet 4049
+Date: 2004/04/07 11:34:16
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+Add an example inetd.conf file
+
+Members:
+ examples/inetd.conf:INITIAL->1.1
+
+---------------------
+PatchSet 4050
+Date: 2004/04/07 13:26:57
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+More doc updates
+
+Members:
+ docs/busybox.net/license.html:1.3->1.4
+ docs/busybox.net/products.html:1.8->1.9
+ docs/busybox.net/shame.html:1.9->1.10
+
+---------------------
+PatchSet 4051
+Date: 2004/04/07 13:57:15
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+Mention Acronis PartitionExpert
+
+Members:
+ docs/busybox.net/shame.html:1.10->1.11
+
+---------------------
+PatchSet 4052
+Date: 2004/04/07 15:02:40
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+Minor update
+
+Members:
+ docs/busybox.net/shame.html:1.11->1.12
+
+---------------------
+PatchSet 4053
+Date: 2004/04/07 15:07:27
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+Fix url
+
+Members:
+ docs/busybox.net/shame.html:1.12->1.13
+