Fix an obscure option parsing bug.
[oweals/busybox.git] / Changelog
index 78255f9732d113369992afffe753f930f0fde804..416483b117b47a4bbdf769429dd8368893ac6f52 100644 (file)
--- a/Changelog
+++ b/Changelog
-0.44
-        * added the -v option (inverted search) to grep,
-            updated docs/busybox.pod accordingly.  -beppu
+0.47pre
+
+       * A bug in syslogd was fixed that allowed it to potentially fork-bomb
+           your system.
+       * chroot can now call the builtin shell - Pavel Roskin <proski@gnu.org>
+       * added 'renice' command, thanks to Dave Cinege <dcinege@psychosis.com>
+       * 'make install' now creates relative symlinks, and added a new
+           'make install-hardlinks' target to (tada) install hardlinks.
+       * syslogd can now log messages to a remote host -- patch thanks
+           to Gyepi Sam <gyepi@praxis-sw.com>
+       * 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>
+       * lsmod now uses the query_module syscall, rather then /proc
+       * Added 'rdate' command from Sterling Huxley <sterling@europa.com>
+       * Added 'wget' command, contributed by Chip Rosenthal <chip@unicom.com>, 
+               <crosenth@covad.com> and Covad Communications
+       * Added 'getopt' from "Alfred M. Szmidt" <ams@trillian.itslinux.org>
+       * Fixed chmod option parsing so things like 'chmod -r /tmp/file'
+           wouldn't work (since it thought -r was an option).  Doh!
+       * Added dos2unix, unix2dos, and unrpm.c thanks to robotti@metconnect.com.
+
+
+
+        -Erik Andersen
+
+
+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
+
+
+0.45
+       * Now compiles vs libc5 (which can save lots of space for 
+           embedded systems).
+       * Added BB_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.
-       * Fix for ping warnings from Sascha Ziemann <szi@aibon.ping.de>
+       * 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
+           BB_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.  In an attempt to accomodate the whiners
-           that wanted "tar cf foo.tar foo" (i.e. no "-" before options)
-           I broke creation of tarballs.  I reverted the change (so tar needs
-           the "-" for all options).
+       * 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 (and ignores) the -f flag, since it always
-               does force anyway
+           * 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 supp. groups yet
-       * logname used getlogin(3) which uses utmp under the hood.  Now it behaves
+           * 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. 
-       * Due to the license change, I can now use minix code.  Minux tr replaces
-           the BSD derived tr, saving 4k and eliminating bsearch(3) from the
-           list of used Libc symbols.
        * 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 BB_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
 
-        -Erik
 
+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
        * 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 <pavel_roskin@geocities.com>:
+       * 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.
            - 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 <pavel_roskin@geocities.com>:
+       * 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>.
        * cp could, when copying symlinks, change permissions of the
            files pointed to by the symlinks.
-       * Several fixes from Pavel Roskin <pavel_roskin@geocities.com>:
+       * 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