X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=Changelog;h=721fc82707a33eaaef427dfa7588c87908969b80;hb=38d6615ed246c6cd888b2c796b3431680950ae29;hp=9ed6d58ce700d9a76b33c8e91a9e9d113e83a7a9;hpb=1c9cebc8df13e6cbdd5af26ebb274eae2970ac63;p=oweals%2Fbusybox.git diff --git a/Changelog b/Changelog index 9ed6d58ce..721fc8270 100644 --- a/Changelog +++ b/Changelog @@ -1,1262 +1,1381 @@ -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 - -- 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 BB_SH define entirely. Now one simply picks the shell - or shells they want as BB_ in Config.h - -- Fixed head to use ferror(3) to check for errors, not errno. - * Shu-Hao Chang - -- Fixed sed handling of multiple -e commands - * Magick - -- Fixed an init bug with AskFirst and /dev/null - * Jaspreet Singh - -- Fixed both a segfault and cosmetic bug in route - * Erik Andersen - -- Made the insmod options BB_FEATURE_NEW_MODULE_INTERFACE and - BB_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 + BB_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 ? - -- 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 -- 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 - -- 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 BB_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 -- 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 - -- 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 -- 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 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 -- Scrubbed gzip.c - * Alan Modra -- fixed an hard to spot - bug breaking gunzip checksum checking. - * Gennady Feldman -- Fixed 'syslog -C' - * Gernot Poerner -- Added mount bind support. - * Adam Heath -- 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 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 -- 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 -- 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 -- 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 -- made - find_pid_by_name() cope with swapped out processes. - * Jari Ruusu -- updates so that setting - D_FILE_OFFSET_BITS=64 now works as expected. - * Anthony Towns -- fixed a bug with - sed address range handling - * Dmitry Zakharov -- 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 - BB_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 -- 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 -- 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 -- Carefully check NFS_MOUNT_VERSION - depending on what kernel is being used. - * Quinn Jensen -- 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 -- 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 BB_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 BB_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 and - Nicolas Ferre -- 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 -- 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 BB_FEATURE_SH_BUILTINS_ALWAYS_WIN - * Gaute B Strokkenes -- 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 -- 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 -- 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 - * 'wget' contributed by Chip Rosenthal , - and Covad Communications - * 'getopt' from "Alfred M. Szmidt" - * dos2unix, unix2dos, reset, and unrpm.c (and lots of help - debugging) thanks to Kent Robotti . - * 'renice' command, thanks to Dave Cinege - * 'xargs' (written by me) - * 'expr' contributed by Edward Betts , 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 - * chroot can now call the builtin shell - Pavel Roskin - * '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 - * Add optional ls file sorting, thanks to a patch from - Sterling Huxley - * 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 - * 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 - * 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 - * Fixed segfault with 'cut -f 1 -d:' and added 'cut -s' suport. - Fix thanks to Arne Bernin - * Several fixes from Marius Groeger - - 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 - * Fix to init.c from Stuart Menefy so that - it always sets the controlling terminal before running any programs - * Several fixes from Matt Kraai - - 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 - * 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 - * 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 . 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 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 for finishing this off! - * Added a mini ar archive utility, especially written for BusyBox by - Glenn McGrath - * Added mktemp, contributed by Daniel Jacobowitz - * Added setkeycodes, for those that have wierd keyboard buttons. - * Added md5sum, uuencode and uudecode -- thanks to Alfred M. Szmidt - 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 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 - * 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 . - * cp/mv now accepts the -f flag - * tail can now accept - 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 - * 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 - * Fixed a warning in utility.c due to char being unsigned on Linux/PPC, - Fix thanks to Pavel Roskin - * Made "killall" complain (not error and exit) about processes that it - cannot find by name -- Pavel Roskin - * 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 -- ". 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 - 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 BB_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 - and then adjusted a bit by me. - * Added tr from John Lombardo - * Added echo and test (from me). - * Added usleep contributed by Nicolas Pitre - * BusyBox's bss size has been majorly reduced (was 384668, is now 28740). - * Several fixes from Pavel Roskin : - - 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 - * 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 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 - - 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 : - - 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 . - * Fixed a bug where "sed 's/foo/bar/g'" (i.e. a script w/o a "-e") - * ps now supports BB_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 for the patch. - * Fix "+" parsing bug in date, from "Merle F. McClelland" . - * 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 BB_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: 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 - * Rewrote and simplified logger. Added the "-t" option, and made it - behave itself a bit better. - * Optional support contributed by Ben Collins - 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 - * Several contributions from Friedrich Vedder - * Added (and documented) "-n" option for head - * Cleanup for a number of usage messages -- also - contributed Friedrich Vedder - * 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 - BB_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 , and mount was fixed by me. - * ls formatting on eight charactor user names fixed by - Randolph Chung . - * cp could, when copying symlinks, change permissions of the - files pointed to by the symlinks. - * Several fixes from Pavel Roskin : - - `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 - * 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 - * 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 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 - - * Several fixes from Marco Pantaleoni compile in - * fullWrite() not only if BB_TAR is defined, but also - if BB_CP or BB_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 - BB_FEATURE_LINUXRC but not BB_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 . New App:: - * loadacm contributed by Peter Novodvorsky - 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" - . - * 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 - * 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 - * : - - 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 - . 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 BB_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 - ) - * 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 - BB_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 - * BB_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 BB_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 BB_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 -- many thanks to Lineo for paying me to work on - busybox. If you have any problems please let me know ASAP at - andersen@lineo.com or 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 ) - * umount -a no longer umounts /proc Added BB_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 BB_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 - . - - - -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. Many thanks to Lineo for - paying me to make these updates. 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 - 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 - 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 and tar -cf 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 - * 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 4347 +Date: 2004/08/16 10:29:28 +Author: andersen +Branch: HEAD +Tag: busybox_1_00_rc3 +Log: +Prepare for release + +Members: + Changelog:1.294->1.295 + docs/busybox_header.pod:1.17->1.18 + docs/busybox.net/news.html:1.21->1.22 + docs/busybox.net/screenshot.html:1.11->1.12 + +--------------------- +PatchSet 4348 +Date: 2004/08/18 17:57:16 +Author: andersen +Branch: HEAD +Tag: (none) +Log: +Fixup 'dc' usage + +Members: + include/usage.h:1.218->1.219 + +--------------------- +PatchSet 4349 +Date: 2004/08/19 18:22:13 +Author: andersen +Branch: HEAD +Tag: (none) +Log: +Patch from Vladimir N. Oleynik: + +On Wed Aug 18, 2004 at 06:52:57PM +0800, Matt Johnston wrote: +> I've come across some strange-seeming behaviour when running programs +> under Busybox (1.0.0-rc3) ash. If the child process sets stdin to be +> non-blocking and then exits, the parent ash will also exit. A quick strace +> shows that a subsequent read() from stdin returns EAGAIN (as would be +> expected): + +Thanks! +Patch attached. + + +--w +vodz + +Members: + shell/ash.c:1.104->1.105 + shell/cmdedit.c:1.92->1.93 + +--------------------- +PatchSet 4350 +Date: 2004/08/19 18:25:02 +Author: andersen +Branch: HEAD +Tag: (none) +Log: +Patch from Tito documenting the '-q' option + +Members: + include/usage.h:1.219->1.220 + +--------------------- +PatchSet 4351 +Date: 2004/08/19 18:26:26 +Author: andersen +Branch: HEAD +Tag: (none) +Log: +Patch from Tito adding support for '-q' + +Members: + procps/kill.c:1.52->1.53 + +--------------------- +PatchSet 4352 +Date: 2004/08/19 18:30:31 +Author: andersen +Branch: HEAD +Tag: (none) +Log: +Patch from Mike Castle to cleanup some modutils issues, in +particular making alias support work better. + +Members: + modutils/modprobe.c:1.39->1.40 + +--------------------- +PatchSet 4353 +Date: 2004/08/19 19:15:06 +Author: andersen +Branch: HEAD +Tag: (none) +Log: +regularly update the status line display + -Erik + +Members: + editors/vi.c:1.37->1.38 + +--------------------- +PatchSet 4354 +Date: 2004/08/19 19:17:30 +Author: andersen +Branch: HEAD +Tag: (none) +Log: +Patch from Rodney Radford adding x86_64 support. + +Members: + modutils/insmod.c:1.122->1.123 + +--------------------- +PatchSet 4355 +Date: 2004/08/25 02:02:19 +Author: bug1 +Branch: HEAD +Tag: (none) +Log: +Patch from Manousaridis Angelos to cleanup stale file descriptors, it was preventing unmounting an initial filesystem. + +Members: + loginutils/getty.c:1.13->1.14 + loginutils/login.c:1.19->1.20 + +--------------------- +PatchSet 4356 +Date: 2004/08/26 21:45:21 +Author: andersen +Branch: HEAD +Tag: (none) +Log: +Felipe Kellermann writes: + +Unfortunatelly I've not followed the last two or three weeks commits (new +semester started and so now I rarely have time to fix my personal bridge) +but tonight I synched my tree and immediately noticed a rather nasty bug! + +[Using libbb/interface.c:1.24] +# grep eth0 /proc/net/dev | xargs +eth0:311708397 237346 1670 0 1789 1670 0 0 22580308 120297 0 0 0 102 0 0 + +# ifconfig eth0 +eth0 Link encap:Ethernet HWaddr 00:20:AF:7C:EA:B7 + inet addr:10.0.0.1 Bcast:10.0.0.127 Mask:255.255.255.128 + UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 + RX packets:0 errors:0 dropped:0 overruns:0 frame:0 + TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 + collisions:0 txqueuelen:1000 + RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) + Interrupt:5 Base address:0x320 + + +All values `ifconfig' is showing are `zeroed' -- I quickly looked at the +last commits I missed and noticed that there were a commit relating to +ifconfig, libbb/interface.c:1.23->1.24 (PatchSet 4338). + +I've reversed the patch and now everything is working again. I compared +the get_name's return values from the 1.23 and 1.24 and quickly noticed +that the new revision is leaving `p' right on the sep while the rev 1.23 +was leaving it right on the starting of the values... + +1-line, 1/3-minute patch attached :-) + +Members: + libbb/interface.c:1.24->1.25 + +--------------------- +PatchSet 4357 +Date: 2004/08/26 22:18:56 +Author: andersen +Branch: HEAD +Tag: (none) +Log: +Tito writes: + +Hi, +I've spent the half night staring at the devilish my_getpwuid and my_getgrgid functions +trying to find out a way to avoid actual and future potential buffer overflow problems +without breaking existing code. +Finally I've found a not intrusive way to do this that surely doesn't break existing code +and fixes a couple of problems too. +The attached patch: +1) changes the behaviour of my_getpwuid and my_getgrgid to avoid potetntial buffer overflows +2) fixes all occurences of this function calls in tar.c , id.c , ls.c, whoami.c, logger.c, libbb.h. +3) The behaviour of tar, ls and logger is unchanged. +4) The behavior of ps with somewhat longer usernames messing up output is fixed. +5) The only bigger change was the increasing of size of the buffers in id.c to avoid + false negatives (unknown user: xxxxxx) with usernames longer than 8 chars. + The value i used ( 32 chars ) was taken from the tar header ( see gname and uname). + Maybe this buffers can be reduced a bit ( to 16 or whatever ), this is up to you. +6) The increase of size of the binary is not so dramatic: + size busybox + text data bss dec hex filename + 239568 2300 36816 278684 4409c busybox + size busybox_fixed + text data bss dec hex filename + 239616 2300 36816 278732 440cc busybox +7) The behaviour of whoami changed: + actually it prints out an username cut down to the size of the buffer. + This could be fixed by increasing the size of the buffer as in id.c or + avoid the use of my_getpwuid and use getpwuid directly instead. + Maybe this colud be also remain unchanged...... + +Please apply if you think it is ok to do so. +The diff applies on today's cvs tarball (2004-08-25). +Thanks in advance, +Ciao, +Tito + +Members: + archival/tar.c:1.194->1.195 + coreutils/id.c:1.24->1.25 + coreutils/ls.c:1.110->1.111 + coreutils/whoami.c:1.21->1.22 + include/libbb.h:1.133->1.134 + libbb/my_getgrgid.c:1.7->1.8 + libbb/my_getpwuid.c:1.7->1.8 + libbb/procps.c:1.13->1.14 + sysklogd/logger.c:1.39->1.40 + +--------------------- +PatchSet 4358 +Date: 2004/08/26 22:22:50 +Author: andersen +Branch: HEAD +Tag: (none) +Log: +Vladimir N. Oleynik writes: + +Ming-Ching, + +>>No. Here there are no mistakes. +>>You using POST metod. +>>For get data you should read from stdin CONTENT_LENGTH bytes. + +>Hower as I posted a little while ago, there is indeed a bug +>in POST method if the CONTENT_LENGTH is bigger +>than sizeof(wbuf[128]). So if your CGI script is expecting to +>read the full CONTENT_LENGTH, it might block forever, +>because it will only transfer sizeof(wbuf) to the CGI. + +Ok, Ok. I should find time to understand with a problem. +Try attached patch. + + +--w +vodz + +Members: + networking/httpd.c:1.26->1.27 + +--------------------- +PatchSet 4359 +Date: 2004/08/26 22:26:26 +Author: andersen +Branch: HEAD +Tag: (none) +Log: +Save a line or two + +Members: + loginutils/getty.c:1.14->1.15 + loginutils/login.c:1.20->1.21 + +--------------------- +PatchSet 4360 +Date: 2004/08/26 22:36:02 +Author: andersen +Branch: HEAD +Tag: (none) +Log: +Tito writes: + +Hi, +I've fixed also the issue of whoami cutting down usernames. +This time I cannot send a diff because i don't know if my previous patches will be applied +or not, so I send in the whole file. +The changes I've made don't affect size but ensure that usernames of whatever lenght +are correctly displayed. +root@localhost:/dev/pts/3:/root/Desktop/busybox/coreutils# size whoami_orig.o + text data bss dec hex filename + 102 0 0 102 66 whoami_orig.o +root@localhost:/dev/pts/3:/root/Desktop/busybox/coreutils# size whoami.o + text data bss dec hex filename + 93 0 0 93 5d whoami.o + +This should be applied even if the other patches aren't as this matches the behaviour of the GNU whoami. + +Thanks in advance, +Ciao, +Tito + +Members: + coreutils/whoami.c:1.22->1.23 + +--------------------- +PatchSet 4361 +Date: 2004/08/26 23:01:34 +Author: andersen +Branch: HEAD +Tag: (none) +Log: +The login applet should always be setuid root + +Members: + include/applets.h:1.114->1.115 + +--------------------- +PatchSet 4362 +Date: 2004/08/26 23:13:00 +Author: andersen +Branch: HEAD +Tag: (none) +Log: +Improve the setuid situation a bit, and make it more apparent +when people really ought to make busybox setuid root. + -Erik + +Members: + Makefile:1.296->1.297 + loginutils/Config.in:1.8->1.9 + miscutils/Config.in:1.18->1.19 + +--------------------- +PatchSet 4363 +Date: 2004/08/26 23:15:29 +Author: andersen +Branch: HEAD +Tag: (none) +Log: +Togg writes: + +Syslogd wont start if remote-logging is enabled and the connection to the +remote-log server is not possible on syslogd startup. + +I found a patch somewhere which works like a charm. It uses sendto() which +seems more reliable for this issue. + +Please see attached patch. Many people will be more happy with this included +I think. + +Regards, +Togg + +Members: + sysklogd/syslogd.c:1.113->1.114 + +--------------------- +PatchSet 4364 +Date: 2004/08/27 19:55:28 +Author: andersen +Branch: HEAD +Tag: (none) +Log: +Quiet a few warnings + +Members: + init/mesg.c:1.2->1.3 + shell/msh.c:1.20->1.21 + +--------------------- +PatchSet 4365 +Date: 2004/08/28 00:43:05 +Author: andersen +Branch: HEAD +Tag: (none) +Log: +Fixup some warnings + +Members: + archival/bunzip2.c:1.19->1.20 + archival/libunarchive/decompress_bunzip2.c:1.13->1.14 + coreutils/uniq.c:1.21->1.22 + modutils/insmod.c:1.123->1.124 + networking/ipcalc.c:1.10->1.11 + util-linux/mkfs_minix.c:1.42->1.43 + +--------------------- +PatchSet 4366 +Date: 2004/09/02 22:21:39 +Author: andersen +Branch: HEAD +Tag: (none) +Log: +Tito writes: + +Hi Erik, +Hi to all, +This is part five of the my_get*id story. +I've tweaked a bit this two functions to make them more flexible, +but this changes will not affect existing code. +Now they work so: +1) my_getpwuid( char *user, uid_t uid, int bufsize) + + if bufsize is > 0 char *user cannot be set to NULL + on success username is written on static allocated buffer + on failure uid as string is written to buffer and NULL is returned + if bufsize is = 0 char *user can be set to NULL + on success username is returned + on failure NULL is returned + if bufsize is < 0 char *user can be set to NULL + on success username is returned + on failure an error message is printed and the program exits + + 2) 1) my_getgrgid( char *group, uid_t uid, int bufsize) + + if bufsize is > 0 char *group cannot be set to NULL + on success groupname is written on static allocated buffer + on failure gid as string is written to buffer and NULL is returned + if bufsize is = 0 char *group can be set to NULL + on success groupname is returned + on failure NULL is returned + if bufsize is < 0 char *group can be set to nULL + on success groupname is returned + on failure an error message is printed and the program exits + +This changes were needed mainly for my new id applet. +It is somewhat bigger then the previous but matches the behaviour of GNU id +and is capable to handle usernames of whatever length. +BTW: at a first look it seems to me that it will integrate well (with just a few changes) +with the pending patch in patches/id_groups_alias.patch. +The increase in size is balanced by the removal of my_getpwnamegid.c +from libbb as this was used only in previous id applet and by size optimizations +made possible in whoami.c and in passwd.c. +I know that we are in feature freeze but I think that i've tested it enough +(at least I hope so.......). + +Members: + coreutils/id.c:1.25->1.26 + coreutils/whoami.c:1.23->1.24 + include/libbb.h:1.134->1.135 + libbb/Makefile.in:1.36->1.37 + libbb/my_getgrgid.c:1.8->1.9 + libbb/my_getpwuid.c:1.8->1.9 + loginutils/passwd.c:1.7->1.8 + +--------------------- +PatchSet 4367 +Date: 2004/09/02 22:22:16 +Author: andersen +Branch: HEAD +Tag: (none) +Log: +Tito writes: + +The second patch contains: +1) a size optimization for adduser.c +2) removes a warning about an unused variable in syslogd.c if CONFIG_FEATURE_REMOTE_LOG is not set +3)cosmetic fixes for addgroup_full_usage and adduser_full_usage + +Ciao, +Tito + +Members: + include/usage.h:1.220->1.221 + loginutils/adduser.c:1.10->1.11 + sysklogd/syslogd.c:1.114->1.115 + +--------------------- +PatchSet 4368 +Date: 2004/09/02 23:03:24 +Author: andersen +Branch: HEAD +Tag: (none) +Log: +Based on patches from Mike Frysinger, add insmod support for +sparc and ia64 (itanium). + +Also, reorganize the insmod architecture support code to be +alphasorted and less messy. + +Update the readme to list current insmod arch support. + +Members: + README:1.35->1.36 + modutils/insmod.c:1.124->1.125 + +--------------------- +PatchSet 4369 +Date: 2004/09/02 23:11:52 +Author: andersen +Branch: HEAD +Tag: (none) +Log: +No longer needed + +Members: + libbb/my_getpwnamegid.c:1.7->1.8(DEAD) + patches/id_groups_alias.patch:1.1->1.2(DEAD) + +--------------------- +PatchSet 4370 +Date: 2004/09/02 23:13:10 +Author: andersen +Branch: HEAD +Tag: (none) +Log: +Jonas Holmberg from axis dot com writes: + +This patch makes msh handle variable expansion within backticks more +correctly. + +Current behaviour (wrong): +-------------------------- + +BusyBox v1.00-rc3 (2004.08.26-11:51+0000) Built-in shell (msh) +Enter 'help' for a list of built-in commands. + +$ A='`echo hello`' +$ echo $A +`echo hello` +$ echo `echo $A` +hello +$ + + +New behaviour (correct): +------------------------ + +BusyBox v1.00-rc3 (2004.08.26-11:51+0000) Built-in shell (msh) +Enter 'help' for a list of built-in commands. + +$ A='`echo hello`' +$ echo $A +`echo hello` +$ echo `echo $A` +`echo hello` +$ + +The current behaviour (wrong according to standards) was actually my +fault. msh handles backticks by executing a subshell (which makes it +work on MMU-less systems). Executing a subshell makes it hard to only +expand variables once in the parent. Therefore I export all variables +that will be expanded within the backticks and let the subshell handle +the expansion instead. + +The bug was found while searching for security leaks in CGI-scripts. +Current behaviour of msh makes it easy to expand backticks by mistake +in $QUERY_STRING. I recommend appling the patch before release of bb +1.00. + +/Jonas + +Members: + shell/msh.c:1.21->1.22 + +--------------------- +PatchSet 4371 +Date: 2004/09/08 10:01:07 +Author: andersen +Branch: HEAD +Tag: (none) +Log: +Patrick Huesmann noticed BusyBox would not link when +CONFIG_FEATURE_COMMAND_EDITING was defined *and* +CONFIG_FEATURE_COMMAND_TAB_COMPLETION was undefined. + +Vladimir N. Oleynik writes: + +Its declare always, also if CONFIG_FEATURE_COMMAND_TAB_COMPLETION +undefined. +Patch to CVS version attached. + +--w +vodz + +Members: + shell/ash.c:1.105->1.106 + +--------------------- +PatchSet 4372 +Date: 2004/09/08 10:56:06 +Author: andersen +Branch: HEAD +Tag: (none) +Log: +Felipe Kellermann writes: + +The Togg's sysklogd patch to use sendto() on remote logging is formatting +strangely (using `<' and '>' surrounding the `msg' string message). This +is OK, but this is not the standard way of formatting this message. + +So this patch does the following: + +o Fix the formatting to the standard way. +o Uses `MAXLINE' when needed; +o Don't loop sending messages without a "sleeping time", + I'm now doing `now = 1', `now <<= 1'; +o Don't die on `init_RemoteLog' when starting up (feature!) + We're now trying to connect every time we have an invalid fd; +o Removes one static uneeded variable. +o Removes two automatic uneeded variables. + +Members: + sysklogd/syslogd.c:1.115->1.116 + +--------------------- +PatchSet 4373 +Date: 2004/09/08 20:13:05 +Author: andersen +Branch: HEAD +Tag: (none) +Log: +Fixup URL + +Members: + docs/busybox.net/cvs_write.html:1.9->1.10 + +--------------------- +PatchSet 4374 +Date: 2004/09/14 13:59:44 +Author: bug1 +Branch: HEAD +Tag: (none) +Log: +I have to assume both Avaks and LSILogic are deliberatly ignoring me. + +Members: + docs/busybox.net/shame.html:1.18->1.19 + +--------------------- +PatchSet 4375 +Date: 2004/09/14 16:08:02 +Author: bug1 +Branch: HEAD +Tag: (none) +Log: +Patch from tito to add argument checking. + +Members: + loginutils/addgroup.c:1.12->1.13 + +--------------------- +PatchSet 4376 +Date: 2004/09/14 16:23:56 +Author: bug1 +Branch: HEAD +Tag: (none) +Log: +Patch from Felipe Kellermann, adds missing applet usage options, removes usage +for options that are currently not implemented and fixes typos. + +Members: + include/usage.h:1.221->1.222 + +--------------------- +PatchSet 4377 +Date: 2004/09/14 17:24:58 +Author: bug1 +Branch: HEAD +Tag: (none) +Log: +Patch from Felipe Kellermann, remove some unnecessary dups, i declared a few extra const's also. + +Members: + networking/ifupdown.c:1.50->1.51 + networking/telnet.c:1.43->1.44 + networking/telnetd.c:1.12->1.13 + networking/tftp.c:1.28->1.29 + util-linux/getopt.c:1.13->1.14 + +--------------------- +PatchSet 4378 +Date: 2004/09/14 18:12:13 +Author: bug1 +Branch: HEAD +Tag: (none) +Log: +Patch by Felipe Kellermann, fix a bug introduced in the last patch by adding a condition around the remote logging, also adds some comments. + +Members: + sysklogd/syslogd.c:1.116->1.117 + +--------------------- +PatchSet 4379 +Date: 2004/09/14 18:56:52 +Author: bug1 +Branch: HEAD +Tag: (none) +Log: +Apply patch from Felipe Kellermann to simlify logic of sort functions. +I reversed the result of the sort functions to make the big numbers go to the top. + +Members: + procps/top.c:1.12->1.13 + +--------------------- +PatchSet 4380 +Date: 2004/09/14 19:14:00 +Author: bug1 +Branch: HEAD +Tag: (none) +Log: +remove a cut/paste mistake, i better get some sleep. + +Members: + procps/top.c:1.13->1.14 + +--------------------- +PatchSet 4381 +Date: 2004/09/15 02:05:23 +Author: bug1 +Branch: HEAD +Tag: (none) +Log: +Patch by Felipe Kellermann, use the common escape handling function and remove some unused code. + +Members: + coreutils/printf.c:1.22->1.23 + +--------------------- +PatchSet 4382 +Date: 2004/09/15 02:39:09 +Author: bug1 +Branch: HEAD +Tag: (none) +Log: +Only write to shadow file is shadow passwords are enabled. Patch by magicfox modified by myself to retain check for shadow file access. + +Members: + loginutils/passwd.c:1.8->1.9 + +--------------------- +PatchSet 4383 +Date: 2004/09/15 03:04:07 +Author: bug1 +Branch: HEAD +Tag: (none) +Log: +Tito writes, +"This patch fixes all the bugs in id previously spotted by vodz and me. +The binary size increased a bit, but now it should work as expected." + +Members: + coreutils/id.c:1.26->1.27 + include/libbb.h:1.135->1.136 + libbb/Makefile.in:1.37->1.38 + libbb/my_getgrgid.c:1.9->1.10 + libbb/my_getpwuid.c:1.9->1.10 + libbb/my_getug.c:INITIAL->1.1 + +--------------------- +PatchSet 4384 +Date: 2004/09/15 03:24:32 +Author: bug1 +Branch: HEAD +Tag: (none) +Log: +Add a missing brace, patch by Hideki IWAMOTO + +Members: + coreutils/stty.c:1.9->1.10 + +--------------------- +PatchSet 4385 +Date: 2004/09/23 20:08:46 +Author: andersen +Branch: HEAD +Tag: (none) +Log: +Add some notes on how to make telnetd actually work + +Members: + networking/Config.in:1.28->1.29 + +--------------------- +PatchSet 4386 +Date: 2004/09/24 01:25:39 +Author: andersen +Branch: HEAD +Tag: (none) +Log: +A bit of extra explanation regarding STANDALONE + +Members: + shell/Config.in:1.16->1.17 + +--------------------- +PatchSet 4387 +Date: 2004/09/24 02:04:13 +Author: bug1 +Branch: HEAD +Tag: (none) +Log: +Patch from David Daney to make the -i option work with -l. + +Members: + coreutils/ls.c:1.111->1.112 + +--------------------- +PatchSet 4388 +Date: 2004/09/24 02:36:44 +Author: bug1 +Branch: HEAD +Tag: (none) +Log: +Remove this error message at Vodz request, it was misleading. + +Members: + libbb/correct_password.c:1.4->1.5 + +--------------------- +PatchSet 4389 +Date: 2004/09/24 09:09:44 +Author: bug1 +Branch: HEAD +Tag: (none) +Log: +Fix a typo + +Members: + shell/Config.in:1.17->1.18 + +--------------------- +PatchSet 4390 +Date: 2004/09/24 09:18:55 +Author: bug1 +Branch: HEAD +Tag: (none) +Log: +Patch from Egor Duda +Attached patch prevents modprobe from trying to call 'insmod (null)' +whenever nonexistent module is either passed to modprobe via command +line or mentioned in modules.dep + +this replaces cryptic error +sh: Syntax error: word unexpected (expecting ")") +with +modprobe: module some-module not found. + +egor. + +Members: + modutils/modprobe.c:1.40->1.41 + +--------------------- +PatchSet 4391 +Date: 2004/09/24 09:24:27 +Author: bug1 +Branch: HEAD +Tag: (none) +Log: +Patch from Dmitry Zakharov to fix a bug triggered by freeswan's scripts. + +Members: + editors/awk.c:1.10->1.11 + +--------------------- +PatchSet 4392 +Date: 2004/09/30 00:24:21 +Author: bug1 +Branch: HEAD +Tag: (none) +Log: +Patch from William Barsse to fix a segfault when multiple files are specified. + +Members: + coreutils/tail.c:1.47->1.48 + +--------------------- +PatchSet 4393 +Date: 2004/10/07 00:35:59 +Author: andersen +Branch: HEAD +Tag: (none) +Log: +Make it more apparent that archive creation is not supported + +Members: + archival/ar.c:1.49->1.50 + +--------------------- +PatchSet 4394 +Date: 2004/10/08 07:21:58 +Author: andersen +Branch: HEAD +Tag: (none) +Log: +Patch from Michael Tokarev: + +Scenario: + + touch x -- creates plain file name `x' + mkdir x -- exits successefully + +libbb/make_directory.c, bb_make_directory(), contains +the following code: + + if (mkdir(path, 0777) < 0) { + /* If we failed for any other reason than the directory + * already exists, output a diagnostic and return -1.*/ + if (errno != EEXIST) { + fail_msg = "create"; + umask(mask); + break; + } + /* Since the directory exists, don't attempt to change + * permissions if it was the full target. Note that + * this is not an error conditon. */ + if (!c) { + umask(mask); + return 0; + } + } + +The assumption that EEXIST error is due to that the *directory* +already exists is wrong: any file type with that name will cause +this error to be returned. Proper way IMHO will be is to stat() +the path and check whenever this is really a directory. Below +(attached) is a patch to fix this issue. + +Members: + libbb/make_directory.c:1.15->1.16 + +--------------------- +PatchSet 4395 +Date: 2004/10/08 07:45:08 +Author: andersen +Branch: HEAD +Tag: (none) +Log: +egor duda writes: + +Hi! + +I've created a patch to busybox' build system to allow building it in +separate tree in a manner similar to kbuild from kernel version 2.6. + +That is, one runs command like +'make O=/build/some/where/for/specific/target/and/options' +and everything is built in this exact directory, provided that it exists. + +I understand that applyingc such invasive changes during 'release +candidates' stage of development is at best unwise. So, i'm currently +asking for comments about this patch, starting from whether such thing +is needed at all to whether it coded properly. + +'make check' should work now, and one make creates Makefile in build +directory, so one can run 'make' in build directory after that. + +One possible caveat is that if we build in some directory other than +source one, the source directory should be 'distclean'ed first. + +egor + +Members: + Makefile:1.297->1.298 + Rules.mak:1.37->1.38 + applets/Makefile:1.5->1.6 + applets/Makefile.in:1.5->1.6 + archival/Makefile:1.7->1.8 + archival/Makefile.in:1.5->1.6 + archival/libunarchive/Makefile:1.5->1.6 + archival/libunarchive/Makefile.in:1.23->1.24 + console-tools/Makefile:1.4->1.5 + console-tools/Makefile.in:1.5->1.6 + coreutils/Makefile:1.3->1.4 + coreutils/Makefile.in:1.9->1.10 + coreutils/libcoreutils/Makefile:1.3->1.4 + coreutils/libcoreutils/Makefile.in:1.3->1.4 + debianutils/Makefile:1.3->1.4 + debianutils/Makefile.in:1.5->1.6 + editors/Makefile:1.4->1.5 + editors/Makefile.in:1.5->1.6 + findutils/Makefile:1.4->1.5 + findutils/Makefile.in:1.4->1.5 + init/Makefile:1.5->1.6 + init/Makefile.in:1.9->1.10 + libbb/Makefile:1.10->1.11 + libbb/Makefile.in:1.38->1.39 + libpwdgrp/Makefile:1.3->1.4 + libpwdgrp/Makefile.in:1.4->1.5 + loginutils/Makefile:1.3->1.4 + loginutils/Makefile.in:1.8->1.9 + miscutils/Makefile:1.7->1.8 + miscutils/Makefile.in:1.12->1.13 + modutils/Makefile:1.4->1.5 + modutils/Makefile.in:1.3->1.4 + networking/Makefile:1.7->1.8 + networking/Makefile.in:1.19->1.20 + networking/libiproute/Makefile:1.3->1.4 + networking/libiproute/Makefile.in:1.6->1.7 + networking/udhcp/Makefile:1.3->1.4 + networking/udhcp/Makefile.in:1.10->1.11 + procps/Makefile:1.4->1.5 + procps/Makefile.in:1.6->1.7 + scripts/config/Makefile:1.4->1.5 + shell/Makefile:1.4->1.5 + shell/Makefile.in:1.3->1.4 + sysklogd/Makefile:1.5->1.6 + sysklogd/Makefile.in:1.3->1.4 + testsuite/runtest:1.8->1.9 + testsuite/du/du-h-works:1.1->1.2 + testsuite/du/du-k-works:1.1->1.2 + testsuite/du/du-l-works:1.1->1.2 + testsuite/du/du-m-works:1.1->1.2 + testsuite/du/du-s-works:1.1->1.2 + testsuite/du/du-works:1.1->1.2 + testsuite/head/head-n-works:1.1->1.2 + testsuite/head/head-works:1.1->1.2 + testsuite/ls/ls-1-works:1.1->1.2 + testsuite/ls/ls-h-works:1.1->1.2 + testsuite/ls/ls-l-works:1.1->1.2 + testsuite/ls/ls-s-works:1.1->1.2 + testsuite/sort/sort-n-works:1.1->1.2 + testsuite/sort/sort-r-works:1.1->1.2 + testsuite/sort/sort-works:1.1->1.2 + testsuite/tail/tail-n-works:1.1->1.2 + testsuite/tail/tail-works:1.1->1.2 + testsuite/xargs/xargs-works:1.1->1.2 + util-linux/Makefile:1.6->1.7 + util-linux/Makefile.in:1.8->1.9 + +--------------------- +PatchSet 4396 +Date: 2004/10/08 07:58:30 +Author: andersen +Branch: HEAD +Tag: (none) +Log: +As noticed by egor duda, current_menu is declared as 'extern struct menu +*current_menu;' in scripts/config/lkc.h line 63, and this conflicts with +static definition in mconf.c. + +Members: + scripts/config/mconf.c:1.5->1.6 + +--------------------- +PatchSet 4397 +Date: 2004/10/08 08:03:29 +Author: andersen +Branch: HEAD +Tag: (none) +Log: +last_patch139.gz from Vladimir N. Oleynik: + +>I also don't mean to disagree about leaving 30x status codes until after +>1.0. In fact, although redirecting http://host/dir to http://host/dir/ +>with a 301 is common practice (e.g. Apache, IIS), AFAIK it isn't +>actually required (or mentioned) by the HTTP specs. + +Ok. +Attached patch have 302 and 408 implemented features. + + +--w +vodz + +Members: + networking/httpd.c:1.27->1.28 + +--------------------- +PatchSet 4398 +Date: 2004/10/08 08:07:40 +Author: andersen +Branch: HEAD +Tag: (none) +Log: +Tito writes: + +Hi to all, +This patch contains just some fixes for some misleading +comments in my_getpwuid.c and my_getug.c. +The code is untouched so this patch will not +cause troubles. + +Please apply. + +Thanks in advance and Ciao, +Tito + +Members: + libbb/my_getpwuid.c:1.10->1.11 + libbb/my_getug.c:1.1->1.2 + +--------------------- +PatchSet 4399 +Date: 2004/10/08 08:10:57 +Author: andersen +Branch: HEAD +Tag: (none) +Log: +Hiroshi Ito writes: + + Hello + + I'm using busy box on mipsel machine. + + "grep -f file" will cause segmentation fault. + +Vladimir N. Oleynik writes: + +Hiroshi, + +Thank for bug report, but your patch is full broken. +Worked patch attached. +(really changes is zero initialize, and indent correcting). + + +--w +vodz + +Members: + findutils/grep.c:1.85->1.86 + +--------------------- +PatchSet 4400 +Date: 2004/10/08 08:14:58 +Author: andersen +Branch: HEAD +Tag: (none) +Log: +Hiroshi Ito writes: + +ash + "unset OLDPWD; cd -" causes segmentation fault. + ( OLDPWD is not set when sh is invoked from getty. ) + +patch against current CVS is attached. + +Members: + shell/ash.c:1.106->1.107 + +--------------------- +PatchSet 4401 +Date: 2004/10/08 08:17:39 +Author: andersen +Branch: HEAD +Tag: (none) +Log: +Hiroshi Ito writes: + +"kill -HUP 1" reloads inittab, and when I append one line to inittab +and send HUP signal two times, It will starts 2 process. + +patch against current CVS is attached. + +Members: + init/init.c:1.204->1.205 + +--------------------- +PatchSet 4402 +Date: 2004/10/08 08:21:54 +Author: andersen +Branch: HEAD +Tag: (none) +Log: +Hiroshi Ito writes: + +Hello, all. + +Busybox init does not handle removed inittab entry correctly. + +# I'm sorry about my poor english, but you can find +# what I would like to say from patch, isn't it? + +even if you apply this path, +when yoy try to change a command line option in inittab, +you have to do following steps. +1. remove old line from initrd +2. send HUP signal to init +3. kill old proces which is invoked from init. +4. append new line to inittab +5. send HUP signal to init, again + +patch is against current CVS + last patch witch I send it last. + +Members: + init/init.c:1.205->1.206 + +--------------------- +PatchSet 4403 +Date: 2004/10/08 08:27:40 +Author: andersen +Branch: HEAD +Tag: (none) +Log: +Patch from Denis Vlasenko to fix a problem where +wget http://1.2.3.4/abc/ loses last '/' + +Members: + networking/wget.c:1.74->1.75 + +--------------------- +PatchSet 4404 +Date: 2004/10/08 08:49:25 +Author: andersen +Branch: HEAD +Tag: (none) +Log: +Wade Berrier writes: + +Hello, + +Here's a patch for a first attempt at static leases for udhcpd. +Included in the tarball are 2 files (static_leases.c, static_leases.h) +and a patch against the latest cvs. + +In the config file you can configure static leases with the following +format: + +static_lease 00:60:08:11:CE:4E 192.168.0.54 +static_lease 00:60:08:11:CE:3E 192.168.0.44 + +Comments/suggestions/improvements are welcome. + + +Wade + +Members: + examples/udhcp/udhcpd.conf:1.3->1.4 + networking/udhcp/Makefile.in:1.11->1.12 + networking/udhcp/dhcpd.c:1.6->1.7 + networking/udhcp/dhcpd.h:1.6->1.7 + networking/udhcp/files.c:1.14->1.15 + networking/udhcp/leases.c:1.6->1.7 + networking/udhcp/serverpacket.c:1.6->1.7 + networking/udhcp/static_leases.c:INITIAL->1.1 + networking/udhcp/static_leases.h:INITIAL->1.1 + +--------------------- +PatchSet 4405 +Date: 2004/10/08 08:57:35 +Author: andersen +Branch: HEAD +Tag: (none) +Log: +Patch from Claus Klein to increase, and make more apparent +the hard coded limit on the number of mounts + +Members: + libbb/mtab.c:1.5->1.6 + +--------------------- +PatchSet 4406 +Date: 2004/10/08 09:43:34 +Author: andersen +Branch: HEAD +Tag: (none) +Log: +Fix CONFIG_ASH_MATH_SUPPORT_64 so it actually works + +Members: + shell/ash.c:1.107->1.108 + +--------------------- +PatchSet 4407 +Date: 2004/10/08 10:50:08 +Author: andersen +Branch: HEAD +Tag: (none) +Log: +Add an initial FAQ + +Members: + docs/busybox.net/FAQ.html:INITIAL->1.1 + docs/busybox.net/header.html:1.8->1.9 + +--------------------- +PatchSet 4408 +Date: 2004/10/08 10:52:08 +Author: andersen +Branch: HEAD +Tag: (none) +Log: +Fix the supported architectures section + +Members: + README:1.36->1.37 + +--------------------- +PatchSet 4409 +Date: 2004/10/08 10:52:33 +Author: andersen +Branch: HEAD +Tag: (none) +Log: +Bump version + +Members: + Rules.mak:1.38->1.39 + +--------------------- +PatchSet 4410 +Date: 2004/10/08 10:54:20 +Author: andersen +Branch: HEAD +Tag: (none) +Log: +unmerged fix + +Members: + docs/busybox.net/news.html:1.22->1.23 + +--------------------- +PatchSet 4411 +Date: 2004/10/08 11:11:02 +Author: andersen +Branch: HEAD +Tag: (none) +Log: +oops + +Members: + docs/busybox.net/FAQ.html:1.1->1.2 + +--------------------- +PatchSet 4412 +Date: 2004/10/11 20:52:16 +Author: andersen +Branch: HEAD +Tag: (none) +Log: +Patch from David Daney: + +It seems that date -s MMDDHHMMYYYY.ss + +will ignore the .ss part. This patch tries to fix the problem. + +David Daney. + +Members: + coreutils/date.c:1.47->1.48 + +--------------------- +PatchSet 4413 +Date: 2004/10/13 06:25:51 +Author: andersen +Branch: HEAD +Tag: (none) +Log: +Make certain clients of bb_make_directory default to honoring +the user's umask + +Members: + archival/libunarchive/data_extract_all.c:1.20->1.21 + libbb/make_directory.c:1.16->1.17 + miscutils/devfsd.c:1.9->1.10 + +--------------------- +PatchSet 4414 +Date: 2004/10/13 07:18:05 +Author: andersen +Branch: HEAD +Tag: (none) +Log: +Simon Poole writes: + +Erik, + +Attached is a patch for the udhcpc sample scripts, to correct the order in +which routers are applied if the DHCP server provides more than one (as per +section 3.5 of RFC2132). + +Apologies for not being on the mailing list and thanks for your continued +efforts. + +Simon. + +Members: + examples/udhcp/sample.bound:1.1->1.2 + examples/udhcp/sample.renew:1.1->1.2 + examples/udhcp/simple.script:1.1->1.2 + +--------------------- +PatchSet 4415 +Date: 2004/10/13 07:25:01 +Author: andersen +Branch: HEAD +Tag: (none) +Log: +return failure when nslookup fails + +Members: + networking/nslookup.c:1.32->1.33 +