---------------------
PatchSet 3463 
Date: 2003/07/30 09:55:59
Author: andersen
Branch: HEAD
Tag: (none) 
Log:
Lars Ekman writes:

When using "losetup" the device is always setup as Read-Only.

(I have only tested with the -o flag, but looking at the code the
 problem seems general)

The problem is the "opt" variable in "losetup.c" that is reused in
the "set_loop()" call. Clear it before the call and everything is OK;

  opt = 0;         /* <-------- added line */
  if (delete)
    return del_loop (argv[optind]) ? EXIT_SUCCESS : EXIT_FAILURE;
  else
    return set_loop (argv[optind], argv[optind + 1], offset, &opt)
      ? EXIT_FAILURE : EXIT_SUCCESS;
}

Best Regards,
Lars Ekman

Members: 
	util-linux/losetup.c:1.2->1.3 

---------------------
PatchSet 3464 
Date: 2003/07/30 10:33:52
Author: andersen
Branch: HEAD
Tag: busybox_1_00_pre2 
Log:
Update webpage and changelog for release

Members: 
	Changelog:1.281->1.282 
	docs/busybox.net/index.html:1.124->1.125 
	docs/busybox.net/oldnews.html:1.14->1.15 

---------------------
PatchSet 3465 
Date: 2003/07/30 18:17:33
Author: andersen
Branch: HEAD
Tag: (none) 
Log:
Remove LRP (now defunct) and replace it with leaf.

Members: 
	docs/busybox.net/index.html:1.125->1.126 

---------------------
PatchSet 3466 
Date: 2003/07/31 02:53:50
Author: bug1
Branch: HEAD
Tag: (none) 
Log:
Fix bug when handling debian packages.
If we read the contents of compressed files within the ar archive,
e.g. control.tar.gz, then file position gets all out of whack, so
it has to be reset before reading thenext header.

Members: 
	archival/libunarchive/get_header_ar.c:1.6->1.7 

---------------------
PatchSet 3467 
Date: 2003/07/31 18:50:17
Author: andersen
Branch: HEAD
Tag: (none) 
Log:
Minor cleanup

Members: 
	docs/busybox.net/index.html:1.126->1.127 

---------------------
PatchSet 3468 
Date: 2003/08/01 23:27:57
Author: andersen
Branch: HEAD
Tag: (none) 
Log:
Remove code that too agressively disabled inlines

Members: 
	include/libbb.h:1.107->1.108 

---------------------
PatchSet 3469 
Date: 2003/08/02 01:04:18
Author: mjn3
Branch: HEAD
Tag: (none) 
Log:
Save 0.5K.

Members: 
	libbb/interface.c:1.18->1.19 

---------------------
PatchSet 3470 
Date: 2003/08/02 01:19:29
Author: mjn3
Branch: HEAD
Tag: (none) 
Log:
Might as well get my name in AUTHORS before 1.0...

Members: 
	AUTHORS:1.37->1.38 

---------------------
PatchSet 3471 
Date: 2003/08/05 03:18:24
Author: andersen
Branch: HEAD
Tag: (none) 
Log:
Merge/rework config system per the latest from linux-2.6.0-test2.
Fix the config bugs revealed by the updated config system.
 -Erik

Members: 
	scripts/config/conf.c:1.1->1.2 
	scripts/config/confdata.c:1.2->1.3 
	scripts/config/expr.c:1.1->1.2 
	scripts/config/expr.h:1.1->1.2 
	scripts/config/lex.zconf.c_shipped:1.1->1.2 
	scripts/config/lkc.h:1.1->1.2 
	scripts/config/lkc_proto.h:1.2->1.3 
	scripts/config/mconf.c:1.2->1.3 
	scripts/config/menu.c:1.1->1.2 
	scripts/config/symbol.c:1.1->1.2 
	scripts/config/zconf.l:1.1->1.2 
	scripts/config/zconf.tab.c_shipped:1.1->1.2 
	scripts/config/zconf.y:1.1->1.2 
	shell/Config.in:1.7->1.8 
	sysdeps/linux/Config.in:1.10->1.11 

---------------------
PatchSet 3472 
Date: 2003/08/05 06:59:47
Author: andersen
Branch: HEAD
Tag: (none) 
Log:
Seems I missed a spot

Members: 
	scripts/config/zconf.tab.c_shipped:1.2->1.3 
	scripts/config/zconf.y:1.2->1.3 

---------------------
PatchSet 3473 
Date: 2003/08/06 08:34:19
Author: andersen
Branch: HEAD
Tag: (none) 
Log:
extern inline is a bad bad thing.  kill it (so mkfs_minix.c will
actually compile)

Members: 
	util-linux/mkfs_minix.c:1.38->1.39 

---------------------
PatchSet 3474 
Date: 2003/08/06 08:43:58
Author: andersen
Branch: HEAD
Tag: (none) 
Log:
Fixup segfault on 'kill -q'

Members: 
	procps/kill.c:1.50->1.51 

---------------------
PatchSet 3475 
Date: 2003/08/06 09:21:52
Author: andersen
Branch: HEAD
Tag: (none) 
Log:
Joe.C writes:

    I've reported this bug in April and it still
    exists in 1.00-pre2. So I made patches for
    both 0.60.x and 1.00-pre2.  The patch is very
    simple, just use strncmp instead of strcmp.
    Please apply if it is OK.

   Here's the procedure to test this problem:
   Create a executable with very long name, say
   'test_1234567890123456' and execute it. Try
   using 'killall' or 'pidof' to find/kill this
   program.  Without this patch, you can't find
   the program.

Members: 
	libbb/find_pid_by_name.c:1.12->1.13 

---------------------
PatchSet 3476 
Date: 2003/08/06 09:33:08
Author: andersen
Branch: HEAD
Tag: (none) 
Log:
Patch from vodz to cleanup libbb/obscure.c:password_check()
to not copy too much data.

Members: 
	libbb/obscure.c:1.4->1.5 

---------------------
PatchSet 3477 
Date: 2003/08/06 09:47:59
Author: andersen
Branch: HEAD
Tag: (none) 
Log:
Sync hdparm -t and -T options with hdparm-5.3, which seems
to produce sensible results,

Members: 
	miscutils/hdparm.c:1.1->1.2 

---------------------
PatchSet 3478 
Date: 2003/08/06 09:53:13
Author: andersen
Branch: HEAD
Tag: (none) 
Log:
Steven Scholz writes:

    the output of lsmod (busybox-1.00-pre2) contains IMHO one "\n" too
    much when using CONFIG_FEATURE_CHECK_TAINTED_MODULE:

    ~ # lsmod
    Module                  Size  Used by    Tainted: P

    ds                      8364   1
    m8xx_pcmcia             5388   1
    pcmcia_core            40736   0 [ds m8xx_pcmcia]

and this patch from Steven fixes the problem

Members: 
	modutils/lsmod.c:1.39->1.40 

---------------------
PatchSet 3479 
Date: 2003/08/06 09:57:35
Author: andersen
Branch: HEAD
Tag: (none) 
Log:
Patch from Steven Scholz:

should we rename the define into CONFIG_FEATURE_HDPARM_HDIO_DMA and
use it for "set" and "get" ???

Since although CONFIG_FEATURE_HDPARM_HDIO_GET_DMA is _not_ set I still
can use "hdparm -d 1 /dev/hda" to switch the DMA on.
Is this desireable or meant to be like that?

So how about the applied patch?

Members: 
	include/usage.h:1.162->1.163 
	miscutils/Config.in:1.6->1.7 
	miscutils/hdparm.c:1.2->1.3 

---------------------
PatchSet 3480 
Date: 2003/08/06 10:07:36
Author: andersen
Branch: HEAD
Tag: (none) 
Log:
Patch from vodz:

I wrote:
>>I think, fdisk have special ext2lseek special for:
>>disk can have size > 4Gb, but all any partitions have < 4Gb and lseek64
>>not require.
>>May be best create new configure option for set DOLFS for fdisk applet
>>if global DOLFS unset?
>


Erik Andersen wrote:
>Agreed.  Using an extra configure option when ! DOLFS
>would be a good idea.


Ok. Patch attached.

Members: 
	util-linux/Config.in:1.8->1.9 
	util-linux/fdisk.c:1.8->1.9 

---------------------
PatchSet 3481 
Date: 2003/08/06 10:23:44
Author: andersen
Branch: HEAD
Tag: (none) 
Log:
Eric Spakman writes:

The attached patch adds "mtu" and "hwaddress" to the inet6 method and
"mtu", "hwaddr" and "pointopoint" to the inet4 method (just like in
the ifupdown part).
Note: "hwaddress" can't be used with the busybox ip applet (this
function isn't implemented in bb ip yet), but it can be of use with
an external "full blown" ip package.

The patch also removes "label" from the loopback configuration,
labels (subinterfaces) aren't used with loopback interfaces.

It further solves a problem in the bootp method, "ifconfig down
%interface%" should be "ifconfig %interface% down" and it's now also
possible to use ip with bootp.

The patch is fully tested with both busybox ip and "stand-alone" ip
and I didn't saw any problems.

Members: 
	networking/ifupdown.c:1.29->1.30 

---------------------
PatchSet 3482 
Date: 2003/08/06 10:43:09
Author: andersen
Branch: HEAD
Tag: (none) 
Log:
Patch from Eric Spakman to update "run-parts" help text in Config.in.

Members: 
	debianutils/Config.in:1.4->1.5 

---------------------
PatchSet 3483 
Date: 2003/08/06 12:20:52
Author: andersen
Branch: HEAD
Tag: (none) 
Log:
Latest dash update from vodz

Members: 
	libbb/Makefile.in:1.25->1.26 
	libbb/arith.c:1.5->1.6(DEAD) 
	shell/ash.c:1.73->1.74 

---------------------
PatchSet 3484 
Date: 2003/08/06 12:22:36
Author: andersen
Branch: HEAD
Tag: (none) 
Log:
Begin preparing for another release

Members: 
	Rules.mak:1.19->1.20 

---------------------
PatchSet 3485 
Date: 2003/08/08 08:39:57
Author: andersen
Branch: HEAD
Tag: (none) 
Log:
Fix a stupid bug I introduced several months ago

Members: 
	coreutils/printf.c:1.19->1.20 

---------------------
PatchSet 3486 
Date: 2003/08/08 09:57:03
Author: andersen
Branch: HEAD
Tag: (none) 
Log:
Remove unnecessary defamatory comment

Members: 
	coreutils/cal.c:1.5->1.6 

---------------------
PatchSet 3487 
Date: 2003/08/08 21:04:56
Author: andersen
Branch: HEAD
Tag: (none) 
Log:
Patch from Kent Robotti to being fdisk in sync with v2.12 final.

Members: 
	util-linux/fdisk.c:1.9->1.10 

---------------------
PatchSet 3488 
Date: 2003/08/08 21:09:03
Author: andersen
Branch: HEAD
Tag: (none) 
Log:
Kent Robotti noted that mt.c uses "rewind" not "rew"

Members: 
	include/usage.h:1.163->1.164 

---------------------
PatchSet 3489 
Date: 2003/08/08 23:13:41
Author: andersen
Branch: HEAD
Tag: (none) 
Log:
quiet some noise

Members: 
	miscutils/hdparm.c:1.3->1.4 

---------------------
PatchSet 3490 
Date: 2003/08/08 23:26:05
Author: andersen
Branch: HEAD
Tag: (none) 
Log:
Implement a minimalist 'last' which allows the LEAF project to
no longer need dumtp.  Remove the 'dumtp' applet.
 -Erik

Members: 
	include/applets.h:1.102->1.103 
	include/usage.h:1.164->1.165 
	miscutils/Config.in:1.7->1.8 
	miscutils/Makefile.in:1.7->1.8 
	miscutils/dutmp.c:1.31->1.32(DEAD) 
	miscutils/last.c:INITIAL->1.1 

---------------------
PatchSet 3491 
Date: 2003/08/09 00:12:12
Author: andersen
Branch: HEAD
Tag: (none) 
Log:
Begin using the new "select" option.  Good stuff!

Members: 
	networking/Config.in:1.21->1.22 

---------------------
PatchSet 3492 
Date: 2003/08/09 00:40:12
Author: andersen
Branch: HEAD
Tag: (none) 
Log:
Use the new 'select' option to make the shell config
much less evil and far more obvious.
 -Erik

Members: 
	shell/Config.in:1.8->1.9 

---------------------
PatchSet 3493 
Date: 2003/08/09 00:41:50
Author: andersen
Branch: HEAD
Tag: (none) 
Log:
Move shell descriptions to the config system

Members: 
	README:1.27->1.28 

---------------------
PatchSet 3494 
Date: 2003/08/09 03:57:55
Author: mjn3
Branch: HEAD
Tag: (none) 
Log:
Adjust Erik's change, as I don't claim copyright of the applet.

Members: 
	coreutils/cal.c:1.6->1.7 

---------------------
PatchSet 3495 
Date: 2003/08/12 07:55:03
Author: andersen
Branch: HEAD
Tag: (none) 
Log:
fix style sheet so site doesn't look like crap with IE

Members: 
	docs/busybox.net/index.html:1.127->1.128 

---------------------
PatchSet 3496 
Date: 2003/08/13 13:11:33
Author: mjn3
Branch: HEAD
Tag: (none) 
Log:
Remove unnecessary pointer dereference.

Members: 
	coreutils/cal.c:1.7->1.8 

---------------------
PatchSet 3497 
Date: 2003/08/13 18:48:47
Author: mjn3
Branch: HEAD
Tag: (none) 
Log:
Rewrite timescmd() function to avoid the use of floating point and to
correct a bug in the seconds display where something like  65 seconds
would be output as "1m65.000000s".

Members: 
	shell/ash.c:1.74->1.75 

---------------------
PatchSet 3498 
Date: 2003/08/13 20:56:33
Author: andersen
Branch: HEAD
Tag: (none) 
Log:
Patch from Paul Mundt (lethal) adding sh64 insmod support for busybox

Members: 
	modutils/insmod.c:1.99->1.100 

---------------------
PatchSet 3499 
Date: 2003/08/14 03:28:49
Author: mjn3
Branch: HEAD
Tag: (none) 
Log:
Fix a bug reported by junkio@cox.net involving the mode_chars index.

Members: 
	libbb/mode_string.c:1.3->1.4 

---------------------
PatchSet 3500 
Date: 2003/08/14 03:55:15
Author: bug1
Branch: HEAD
Tag: (none) 
Log:
Change hardlink handling for tar to work the same way as cpio

Members: 
	archival/libunarchive/data_extract_all.c:1.10->1.11 
	archival/libunarchive/get_header_tar.c:1.19->1.20 

---------------------
PatchSet 3501 
Date: 2003/08/19 04:49:00
Author: bug1
Branch: HEAD
Tag: (none) 
Log:
Typo

Members: 
	coreutils/Config.in:1.12->1.13 

---------------------
PatchSet 3502 
Date: 2003/08/22 21:53:38
Author: andersen
Branch: HEAD
Tag: (none) 
Log:
Fixup 'make clean' to properly clean the _install directory

Members: 
	Makefile:1.283->1.284 

---------------------
PatchSet 3503 
Date: 2003/08/22 22:15:07
Author: andersen
Branch: HEAD
Tag: (none) 
Log:
trivial doc fix

Members: 
	archival/Config.in:1.8->1.9 

---------------------
PatchSet 3504 
Date: 2003/08/23 00:08:37
Author: andersen
Branch: HEAD
Tag: (none) 
Log:
"staywithu" writes:

In BusyBox v1.00-pre2,
 commands like ls, df with -h option report a wrong file size for files larger than 4GBtye!!

For example,
   when I execute 'ls -l', it reports
      -rw-r--r--      1 root       root    5368709120    Aug    17  2003  large_stream.tp

   when I execute 'ls -lh', I expect that
      -rw-r--r--      1 root       root                5.0G    Aug    17  2003  large_stream.tp

  but it reports
      -rw-r--r--      1 root       root                1.0G    Aug    17  2003  large_stream.tp

I fixed this bug that...
 Line 31 in libbb/human_readable.c and line 275 include/libbb.h

     const char *make_human_readable_str(unsigned long size
      =>   const char *make_human_readable_str(unsigned long long size

It's OK!

Members: 
	include/libbb.h:1.108->1.109 
	libbb/human_readable.c:1.7->1.8 

---------------------
PatchSet 3505 
Date: 2003/08/26 03:14:58
Author: bug1
Branch: HEAD
Tag: (none) 
Log:
Fix overflow for machines greater than 4GB, return unsigned int to avoid
a cast and for greater accuracy.

Members: 
	init/init.c:1.192->1.193 

---------------------
PatchSet 3506 
Date: 2003/08/26 05:25:59
Author: bug1
Branch: HEAD
Tag: (none) 
Log:
SHA1 options depend on SHA1

Members: 
	coreutils/Config.in:1.13->1.14 

---------------------
PatchSet 3507 
Date: 2003/08/26 05:28:05
Author: bug1
Branch: HEAD
Tag: (none) 
Log:
Woops, depend on SHA1 not the option

Members: 
	coreutils/Config.in:1.14->1.15 

---------------------
PatchSet 3508 
Date: 2003/08/26 05:50:22
Author: bug1
Branch: HEAD
Tag: (none) 
Log:
Syncronise some build files with busybox-cvs-20030819

Members: 
	debian/changelog:1.36->1.37 
	debian/config-deb:1.7->1.8 
	debian/config-static:1.10->1.11 
	debian/config-udeb:1.14->1.15 
	debian/control:1.17->1.18 

---------------------
PatchSet 3509 
Date: 2003/08/26 12:06:39
Author: sandman
Branch: HEAD
Tag: (none) 
Log:
Removed some debug printfs

Members: 
	util-linux/hwclock.c:1.5->1.6 

---------------------
PatchSet 3510 
Date: 2003/08/28 20:12:23
Author: bug1
Branch: HEAD
Tag: (none) 
Log:
Dont unlink when testing !
Always preserve creation date
Disable the -p option its for modification date
Remove some cpio header debugging noise
Syncronise file listing behaviour with upstream.

Members: 
	archival/cpio.c:1.12->1.13 
	archival/libunarchive/data_extract_all.c:1.11->1.12 
	archival/libunarchive/get_header_cpio.c:1.7->1.8 
	include/unarchive.h:1.17->1.18 

---------------------
PatchSet 3511 
Date: 2003/08/28 20:54:16
Author: bug1
Branch: HEAD
Tag: (none) 
Log:
*** empty log message ***

Members: 
	networking/arping.c:1.4->1.5 

---------------------
PatchSet 3512 
Date: 2003/08/28 22:55:22
Author: bug1
Branch: HEAD
Tag: (none) 
Log:
"When the filesize is known from content-length header, safe_fread is
always told to read sizeof(buf).  This waits until the underlying
fread() to time-out for the last part of the downloaded body.  Fix
this by sending the number of remaining bytes to read when known." -
junkio@
I reworked the logic in his patch

Members: 
	networking/wget.c:1.54->1.55 

---------------------
PatchSet 3513 
Date: 2003/08/28 23:03:19
Author: bug1
Branch: HEAD
Tag: (none) 
Log:
"When the initial request by wget is responded by a 3XX redirect
response sent in chunked transfer encoding, the code path to
resubmit the request to the redirected URL forgets to reset
got_clen and chunked variables in the loop.  If the redirected
URL does not use chunked transfer encoding, this causes the code
that slurps the body of the response to incorrectly try to parse
out the chunk length which does not exist." - junkio@

----------------------------------------------------------------------

Members: 
	networking/wget.c:1.55->1.56 

---------------------
PatchSet 3514 
Date: 2003/08/28 23:12:53
Author: bug1
Branch: HEAD
Tag: (none) 
Log:
"Typo and/or thinko: scanning till the end of NUL terminated string
should check the byte pointed at not the pointer itself." -junkio@

Members: 
	miscutils/dc.c:1.15->1.16 

---------------------
PatchSet 3515 
Date: 2003/08/29 07:25:04
Author: bug1
Branch: HEAD
Tag: (none) 
Log:
Correct logic in determining size of block to download, as pointed out
by Junio C Hamano

Members: 
	networking/wget.c:1.56->1.57 

---------------------
PatchSet 3516 
Date: 2003/08/29 08:29:30
Author: bug1
Branch: HEAD
Tag: (none) 
Log:
vodz, last patch 103

Members: 
	coreutils/expr.c:1.12->1.13 
	shell/ash.c:1.75->1.76 

---------------------
PatchSet 3517 
Date: 2003/08/29 08:35:08
Author: bug1
Branch: HEAD
Tag: (none) 
Log:
Vodz, last patch 104

Members: 
	sysklogd/syslogd.c:1.100->1.101 

---------------------
PatchSet 3518 
Date: 2003/08/29 08:38:56
Author: bug1
Branch: HEAD
Tag: (none) 
Log:
Vodz, last patch 105
Busybox "mount" applet unsupport "user" option and
result: must have _BB_SUID_NEVER applet option (my bug).
Last patch have reducing 216 bytes for "su" applet also.

Members: 
	include/applets.h:1.103->1.104 
	loginutils/su.c:1.4->1.5 

---------------------
PatchSet 3519 
Date: 2003/08/29 08:47:52
Author: bug1
Branch: HEAD
Tag: (none) 
Log:
label's dont work in v4 tunnels, patch by Eric Spakman

Members: 
	networking/ifupdown.c:1.30->1.31 

---------------------
PatchSet 3520 
Date: 2003/08/29 11:58:46
Author: bug1
Branch: HEAD
Tag: (none) 
Log:
"This function was not updating the argc and argv pointers to reflect
the arguments it consumed, which means the calling function encountered
them as well.  As a result, a command like "ip -6 addr" was yielding a usage
error." - Philip Blundell

Members: 
	networking/libiproute/ip_parse_common_args.c:1.4->1.5 

---------------------
PatchSet 3521 
Date: 2003/08/29 12:34:08
Author: bug1
Branch: HEAD
Tag: (none) 
Log:
Fix for compiling with ipv6

Members: 
	libbb/interface.c:1.19->1.20 

---------------------
PatchSet 3522 
Date: 2003/08/29 13:20:31
Author: bug1
Branch: HEAD
Tag: (none) 
Log:
* Since busybox binary is unnecessary, deleted it from prerequisites.
* Changed so that not only links but /bin/busybox might be deleted.
* When double quoted PREFIX is defined by `.config' is used,
  `make uninstall' does not work correctly.
  When default PREFIX `pwd`/_install defined by Rules.mak is used,
  similarly it does not work correctly.
  Changed $$PREFIX into $(PREFIX) in order to fix this.
Patch by Hideki IWAMOTO

Members: 
	Makefile:1.284->1.285 

---------------------
PatchSet 3523 
Date: 2003/08/29 13:23:09
Author: bug1
Branch: HEAD
Tag: (none) 
Log:
Substitute busybox for uClibc, patch by Hideki IWAMOTO

Members: 
	Rules.mak:1.20->1.21 

---------------------
PatchSet 3524 
Date: 2003/08/29 14:25:55
Author: bug1
Branch: HEAD
Tag: (none) 
Log:
Change make to $(MAKE), patch by Hideki IWAMOTO

Members: 
	Makefile:1.285->1.286 

---------------------
PatchSet 3525 
Date: 2003/08/29 15:18:26
Author: bug1
Branch: HEAD
Tag: (none) 
Log:
Help for date -I when CONFIG_FEATURE_DATE_ISOFMT is enabled.
Patch by Steven Scholz

Members: 
	include/usage.h:1.165->1.166 

---------------------
PatchSet 3526 
Date: 2003/08/29 16:03:12
Author: bug1
Branch: HEAD
Tag: (none) 
Log:
Remove unused files

Members: 
	networking/udhcp/debug.h:1.1->1.2(DEAD) 
	networking/udhcp/pidfile.c:1.1->1.2(DEAD) 
	networking/udhcp/pidfile.h:1.1->1.2(DEAD) 

---------------------
PatchSet 3527 
Date: 2003/08/29 16:19:44
Author: bug1
Branch: HEAD
Tag: (none) 
Log:
Remove stray '\n'

Members: 
	networking/udhcp/dhcpc.c:1.11->1.12 
	networking/udhcp/socket.c:1.2->1.3 

---------------------
PatchSet 3528 
Date: 2003/08/29 16:39:07
Author: bug1
Branch: HEAD
Tag: (none) 
Log:
Logic error, patch by Matteo Croce

Members: 
	util-linux/fdformat.c:1.1->1.2 

---------------------
PatchSet 3529 
Date: 2003/08/29 16:48:37
Author: bug1
Branch: HEAD
Tag: (none) 
Log:
"A little patch for the strings applet of the busybox development tree
that substitutes two lines of code with a libbb function saving a couple
of bytes." - Tito

Members: 
	miscutils/strings.c:1.9->1.10 

---------------------
PatchSet 3530 
Date: 2003/08/29 16:53:23
Author: bug1
Branch: HEAD
Tag: (none) 
Log:
"Due to a wrong format parameter in a printf httpd does not work when
compiled for with CONFIG_LFS (large file support).
The attached patch suggested by Vladimir fixes that." - Steven Scholz

Members: 
	networking/httpd.c:1.11->1.12 

---------------------
PatchSet 3531 
Date: 2003/08/29 17:19:03
Author: bug1
Branch: HEAD
Tag: (none) 
Log:
Remove some unwanted code, patch from Holger Schurig, confirmed by vodz

Members: 
	libbb/get_console.c:1.6->1.7 

---------------------
PatchSet 3532 
Date: 2003/08/30 05:35:07
Author: bug1
Branch: HEAD
Tag: (none) 
Log:
Fix the substitution print subcommand, it should only print if its
own substitution matched, not previous ones.
e.g
echo fooba | sed -n 's/foo//;s/bar/found/p'
shouldnt print anything

Members: 
	editors/sed.c:1.130->1.131 

---------------------
PatchSet 3533 
Date: 2003/08/30 05:47:36
Author: bug1
Branch: HEAD
Tag: (none) 
Log:
"Without this patch, udhcpcd output may be buffered and delayed for
for minutes if stdout is not a tty." -vda@

Members: 
	networking/udhcp/common.c:1.1->1.2 

---------------------
PatchSet 3534 
Date: 2003/08/30 07:00:33
Author: bug1
Branch: HEAD
Tag: (none) 
Log:
handle GPLONLY symbols

Members: 
	modutils/insmod.c:1.100->1.101 

---------------------
PatchSet 3535 
Date: 2003/08/30 13:27:36
Author: bug1
Branch: HEAD
Tag: (none) 
Log:
The default behaviour for run-parts is corrected to continue if an error
is encountered in a script.
Patch by Philip Blundell

Members: 
	libbb/run_parts.c:1.9->1.10 

---------------------
PatchSet 3536 
Date: 2003/08/30 13:38:13
Author: bug1
Branch: HEAD
Tag: (none) 
Log:
save a couple of bytes

Members: 
	miscutils/strings.c:1.10->1.11 

---------------------
PatchSet 3537 
Date: 2003/08/31 02:58:18
Author: bug1
Branch: HEAD
Tag: (none) 
Log:
"insmod caches the symbolname in a variable before modifying it and uses
the cached value afterwards." - Jean Wolter

Members: 
	modutils/insmod.c:1.101->1.102 

---------------------
PatchSet 3538 
Date: 2003/09/01 05:08:36
Author: bug1
Branch: HEAD
Tag: (none) 
Log:
Allow one to detect and handle the case where no lease could be obtained
via DHCP. (Just add a section "failed" to your script.)
Patch by Steven Scholz

Members: 
	networking/udhcp/dhcpc.c:1.12->1.13 

---------------------
PatchSet 3539 
Date: 2003/09/01 09:53:31
Author: bug1
Branch: HEAD
Tag: (none) 
Log:
Fix compile error and reducing size for libbb/get_console.c to previous size.
Vodz last_patch106

Members: 
	libbb/get_console.c:1.7->1.8 
	shell/ash.c:1.76->1.77 

---------------------
PatchSet 3540 
Date: 2003/09/02 03:36:07
Author: bug1
Branch: HEAD
Tag: (none) 
Log:
move all "-/bin/sh" "/bin/sh" and "sh" to libbb/messages.c file as one
constant.
Vodz last_patch_107

Members: 
	coreutils/chroot.c:1.29->1.30 
	include/libbb.h:1.109->1.110 
	init/init.c:1.193->1.194 
	libbb/Makefile.in:1.26->1.27 
	libbb/messages.c:1.10->1.11 
	loginutils/adduser.c:1.7->1.8 
	loginutils/login.c:1.12->1.13 
	loginutils/su.c:1.5->1.6 
	miscutils/crond.c:1.7->1.8 
	miscutils/crontab.c:1.5->1.6 
	networking/ifupdown.c:1.31->1.32 
	networking/telnetd.c:1.6->1.7 
	shell/ash.c:1.77->1.78 
	shell/msh.c:1.14->1.15 

---------------------
PatchSet 3541 
Date: 2003/09/02 07:59:57
Author: bug1
Branch: HEAD
Tag: (none) 
Log:
adds the ability to use and calculate network prefix specifications instead
of netmasks. It also fixes the parameters for network and netmask to match
that of the official Red Hat version (-n for network and -m for netmask).
Patch by Joshua Jackson

Members: 
	networking/Config.in:1.22->1.23 
	networking/ipcalc.c:1.4->1.5 

---------------------
PatchSet 3542 
Date: 2003/09/03 01:42:58
Author: bug1
Branch: HEAD
Tag: (none) 
Log:
To load GPLONLY symbols its is required that CHECK_TAINTED_MODULES be
enabled, if not GPLONLY symbols are ignored.

Members: 
	modutils/Config.in:1.8->1.9 
	modutils/insmod.c:1.102->1.103 

---------------------
PatchSet 3543 
Date: 2003/09/03 13:18:38
Author: bug1
Branch: HEAD
Tag: (none) 
Log:
more crond+crontab integrating with loginutil libbb functions and deleted
patch from Thomas Gleixner to init.
Viodz last_patch_108

Members: 
	include/libbb.h:1.110->1.111 
	init/init.c:1.194->1.195 
	libbb/change_identity.c:1.2->1.3 
	miscutils/crond.c:1.8->1.9 
	miscutils/crontab.c:1.6->1.7 

---------------------
PatchSet 3544 
Date: 2003/09/04 09:21:36
Author: bug1
Branch: HEAD
Tag: (none) 
Log:
Set the default password to md5, patch by Joshua Jackson

Members: 
	loginutils/passwd.c:1.5->1.6 

---------------------
PatchSet 3545 
Date: 2003/09/05 03:37:15
Author: bug1
Branch: HEAD
Tag: (none) 
Log:
Small bug in silent option

Members: 
	networking/ipcalc.c:1.5->1.6 

---------------------
PatchSet 3546 
Date: 2003/09/08 01:32:49
Author: bug1
Branch: HEAD
Tag: (none) 
Log:
Busybox modprobe has a couple of irritating quirks:

 - attempting to modprobe a module that is already loaded yields "Failed
to load module", whereas modutils quietly ignores such a request.

 - if a module genuinely can't be loaded due to missing symbols or
similar problems, modprobe doesn't produce any useful diagnostics
because the output from insmod has been redirected to /dev/null.

Here's a patch to address these issue

Patch by Philip Blundell

Members: 
	modutils/modprobe.c:1.21->1.22 

---------------------
PatchSet 3547 
Date: 2003/09/08 11:59:27
Author: bug1
Branch: HEAD
Tag: (none) 
Log:
last_patch_109 from Vladimir N. Oleynik

Busybox`s httpd have the defect (from born):
ip 1.2.3.1 have true comparing also with
1.2.3.10-1.2.3.19 and 1.2.3.100-1.2.3.199.
Last patch removed this bug and added feature:
allow/deny rule can support network/netmask
example: 1.2.3.0/255.255.255.128
  or
network/mask_bits
example: 1.2.3.0/25
now; old format
1
1.2
1.2.3
1.2.3.4
too support and converted to
1/8 1.2/16 1.2.3/24 1.2.3.4/32
automaticaly.

Also, current CVS have small problem: ignores
A:IP, (loses 'A', 'a' only work). Corrected.

Members: 
	networking/httpd.c:1.12->1.13 

---------------------
PatchSet 3548 
Date: 2003/09/08 15:34:23
Author: bug1
Branch: HEAD
Tag: (none) 
Log:
Preserve suid/sgid bits

Members: 
	coreutils/chown.c:1.23->1.24 

---------------------
PatchSet 3549 
Date: 2003/09/08 16:39:09
Author: bug1
Branch: HEAD
Tag: (none) 
Log:
Vodz, last_patch_110
no limit, no memory usage for env buffer, always call putenv().
remove small error for previous last_patch109.

Members: 
	networking/httpd.c:1.13->1.14 

---------------------
PatchSet 3550 
Date: 2003/09/09 00:19:12
Author: bug1
Branch: HEAD
Tag: (none) 
Log:
Patch from Jean Wolter
expr currently always adds even if told to subtract

Members: 
	coreutils/expr.c:1.13->1.14 

---------------------
PatchSet 3551 
Date: 2003/09/09 16:53:56
Author: bug1
Branch: HEAD
Tag: (none) 
Log:
Update the config file by running it from menuconfig, get rid of some
unused entries.

Members: 
	sysdeps/linux/defconfig:1.3->1.4 

---------------------
PatchSet 3552 
Date: 2003/09/09 18:41:03
Author: bug1
Branch: HEAD
Tag: (none) 
Log:
If a tar entry is a regualr file ending in a '/' then its really a
directory.
From http://www.gnu.org/manual/tar/html_node/tar_123.html
REGTYPE
AREGTYPE
    These flags represent a regular file. In order to be compatible with
older versions of tar, a typeflag value of AREGTYPE should be silently
recognized as a regular file. New archives should be created using
REGTYPE. Also, for backward compatibility, tar treats a regular file
whose name ends with a slash as a directory.

Members: 
	archival/libunarchive/get_header_tar.c:1.20->1.21 

---------------------
PatchSet 3553 
Date: 2003/09/11 00:35:44
Author: bug1
Branch: HEAD
Tag: (none) 
Log:
Vodz, last_patch_104

Members: 
	networking/httpd.c:1.14->1.15 
	sysklogd/syslogd.c:1.101->1.102 

---------------------
PatchSet 3554 
Date: 2003/09/11 00:47:10
Author: bug1
Branch: HEAD
Tag: (none) 
Log:
Fix a bug where make clean complained about having both : and :: entries.
Remove tester.log on make clean
Patch by Arthur Othieno

Members: 
	tests/Makefile:1.5->1.6 

---------------------
PatchSet 3555 
Date: 2003/09/11 00:52:15
Author: bug1
Branch: HEAD
Tag: (none) 
Log:
add ipv6 literal support to wget

Members: 
	networking/Config.in:1.23->1.24 
	networking/wget.c:1.57->1.58 

---------------------
PatchSet 3556 
Date: 2003/09/11 09:25:11
Author: andersen
Branch: HEAD
Tag: (none) 
Log:
Patch from Philip Blundell:

On Thu, 2003-09-11 at 01:09, Glenn McGrath wrote:
> Applied

Thanks.  Unfortunately there was one small bug in that last patch.
Could you apply this one as well?

p.

Members: 
	networking/wget.c:1.58->1.59 

---------------------
PatchSet 3557 
Date: 2003/09/11 09:32:40
Author: andersen
Branch: HEAD
Tag: (none) 
Log:
Marc A. Lehmann writes:

The tar -x command in busybox does not restore the file mode correctly.

The reason is most probably this code in
archival/libunarachive/data_extract_all.c:

       chmod(file_header->name, file_header->mode);
       chown(file_header->name, file_header->uid, file_header->gid);

chown clears the set*id bits (on current versions of linux :). Flipping
the order around fixes the problem.

(tested with 1.00pre3 from cvs).

Members: 
	archival/libunarchive/data_extract_all.c:1.12->1.13 

---------------------
PatchSet 3558 
Date: 2003/09/11 09:51:32
Author: andersen
Branch: HEAD
Tag: (none) 
Log:
Update definition of struct serial_struct, per linux-2.6.0-test5,
to avoid stack corruption problems on some 64bit architectures
when sizeof(void*) != sizeof(int).  Thanks to Atsushi Nemoto
for finding this problem.

Members: 
	init/init.c:1.195->1.196 

---------------------
PatchSet 3559 
Date: 2003/09/12 01:44:50
Author: bug1
Branch: HEAD
Tag: (none) 
Log:
Busybox CVS version ipcalc have problems:
- Can`t use 255.255.255.255 address
- typo: double check for valid ip address and uncheck for valid mask

httpd unseted SERVER_PORT (my bug from last_patch111).

last_patch_112 from Vladimir N. Oleynik

Members: 
	networking/httpd.c:1.15->1.16 
	networking/ipcalc.c:1.6->1.7 

---------------------
PatchSet 3560 
Date: 2003/09/12 05:43:49
Author: andersen
Branch: HEAD
Tag: (none) 
Log:
Update changelog for release

Members: 
	Changelog:1.282->1.283 

---------------------
PatchSet 3561 
Date: 2003/09/12 05:49:21
Author: andersen
Branch: HEAD
Tag: (none) 
Log:
config option CONFIG_FEATURE_SH_APPLETS_ALWAYS_WIN must depend
on CONFIG_FEATURE_SH_STANDALONE_SHELL.

Members: 
	shell/Config.in:1.9->1.10 

---------------------
PatchSet 3562 
Date: 2003/09/12 06:50:51
Author: andersen
Branch: HEAD
Tag: (none) 
Log:
Teach rdate to timeout in 10 seconds to avoid blocking forever
with odd or broken networking setups

Members: 
	util-linux/rdate.c:1.23->1.24 

---------------------
PatchSet 3563 
Date: 2003/09/12 06:59:53
Author: andersen
Branch: HEAD
Tag: (none) 
Log:
Invoke run-parts on /etc/network/if-*.d per the behavior of
the upstream ifupdown code...

Members: 
	networking/ifupdown.c:1.32->1.33 

---------------------
PatchSet 3564 
Date: 2003/09/12 07:31:28
Author: bug1
Branch: HEAD
Tag: (none) 
Log:
Use the typeflag to identify if its a hardlink on OLD and GNU posix
modes, fixes a bug extracting hardlinks to symlinks.

Members: 
	archival/libunarchive/get_header_tar.c:1.21->1.22 

---------------------
PatchSet 3565 
Date: 2003/09/12 07:49:09
Author: bug1
Branch: HEAD
Tag: (none) 
Log:
Fix handling of hardlinks when OLDGNU and GNU extensions arent enabled.

Members: 
	archival/libunarchive/get_header_tar.c:1.22->1.23 

---------------------
PatchSet 3566 
Date: 2003/09/12 07:59:17
Author: andersen
Branch: HEAD
Tag: (none) 
Log:
Update webpage a bit

Members: 
	docs/busybox.net/index.html:1.128->1.129 
	docs/busybox.net/oldnews.html:1.15->1.16 
	docs/busybox.net/screenshot.html:1.5->1.6 

---------------------
PatchSet 3567 
Date: 2003/09/12 07:59:52
Author: andersen
Branch: HEAD
Tag: (none) 
Log:
I suppose it is now Sept 12...

Members: 
	docs/busybox.net/index.html:1.129->1.130 

