Ned Ludd [Fri, 24 Jun 2005 03:47:57 +0000 (03:47 -0000)]
- remove extra/unneeded function call. testing svn
Eric Andersen [Thu, 23 Jun 2005 19:15:40 +0000 (19:15 -0000)]
Enabling runtime SUID/SGID configuration via /etc/busybox.conf
is not a very good default. Better to default to having it off
and let people get the default behavior. If they want to enable
/etc/busybox.conf they should explicitly ask for it.
Eric Andersen [Thu, 23 Jun 2005 18:58:57 +0000 (18:58 -0000)]
applets specified as _BB_SUID_ALWAYS in applets.h should also select
CONFIG_FEATURE_SUID to ensure proper behavior when installed.
Eric Andersen [Thu, 23 Jun 2005 05:51:48 +0000 (05:51 -0000)]
characters encoded as html should have a trailing semicolon
to be interpreted properly
Rob Landley [Mon, 20 Jun 2005 04:30:36 +0000 (04:30 -0000)]
Rodney Radford submitted ipcs and ipcrm (system V IPC stuff). They could use
some more work to shrink them down.
Mike Frysinger [Fri, 17 Jun 2005 02:13:57 +0000 (02:13 -0000)]
Tito says: unify verbose/quiet flags
Mike Frysinger [Fri, 17 Jun 2005 01:35:52 +0000 (01:35 -0000)]
Tito says: strip unused program_name
Vladimir N. Oleynik says: uname() can be replaced with get_kernel_revision()
Mike Frysinger [Sun, 12 Jun 2005 00:45:09 +0000 (00:45 -0000)]
use xmalloc instead of malloc
Mike Frysinger [Sat, 11 Jun 2005 22:37:25 +0000 (22:37 -0000)]
use malloc instead of xmalloc
Mike Frysinger [Sat, 11 Jun 2005 22:25:27 +0000 (22:25 -0000)]
use xmalloc() instead of malloc()
Mike Frysinger [Sat, 11 Jun 2005 22:24:15 +0000 (22:24 -0000)]
use xmalloc() and bb_perror_msg_and_die()
Rob Landley [Sat, 11 Jun 2005 22:10:42 +0000 (22:10 -0000)]
Note that memory allocaiton needs to be cleaned up too.
Mike Frysinger [Sat, 11 Jun 2005 20:29:02 +0000 (20:29 -0000)]
remove com_err.h includes
Mike Frysinger [Sat, 11 Jun 2005 20:28:47 +0000 (20:28 -0000)]
DOS only crap
Mike Frysinger [Sat, 11 Jun 2005 05:29:40 +0000 (05:29 -0000)]
import initial fat mke2fs
Mike Frysinger [Sat, 11 Jun 2005 01:14:09 +0000 (01:14 -0000)]
import tune2fs support
Mike Frysinger [Sat, 11 Jun 2005 00:50:59 +0000 (00:50 -0000)]
fix signed/unsigned char pointers
Mike Frysinger [Sat, 11 Jun 2005 00:45:50 +0000 (00:45 -0000)]
oops, we only want to affect local CFLAGS
Mike Frysinger [Sat, 11 Jun 2005 00:40:20 +0000 (00:40 -0000)]
initial fat tune2fs/findfs/e2label source
Mike Frysinger [Sat, 11 Jun 2005 00:36:04 +0000 (00:36 -0000)]
replace simple is_null func with a memcmp define
Mike Frysinger [Sat, 11 Jun 2005 00:27:50 +0000 (00:27 -0000)]
force including of e2fsbb.h and move the HAVE_* defines to it
Mike Frysinger [Sat, 11 Jun 2005 00:13:58 +0000 (00:13 -0000)]
move config.h requirement to the actual .depend target rather than the depend alias
Mike Frysinger [Sat, 11 Jun 2005 00:12:12 +0000 (00:12 -0000)]
make sure clean removes objects in subdirs
Mike Frysinger [Sat, 11 Jun 2005 00:11:46 +0000 (00:11 -0000)]
need strings.h for ffs()
Mike Frysinger [Sat, 11 Jun 2005 00:11:37 +0000 (00:11 -0000)]
only define some variables if legacy EXT2FS_ENABLE_SWAPFS is enabled
Mike Frysinger [Sat, 11 Jun 2005 00:10:44 +0000 (00:10 -0000)]
replace simple functions with defines
Mike Frysinger [Sat, 11 Jun 2005 00:10:29 +0000 (00:10 -0000)]
whitespace updates
Mike Frysinger [Sat, 11 Jun 2005 00:09:46 +0000 (00:09 -0000)]
replace functions with defines
Mike Frysinger [Sat, 11 Jun 2005 00:09:39 +0000 (00:09 -0000)]
whitespace updates
Mike Frysinger [Sat, 11 Jun 2005 00:09:24 +0000 (00:09 -0000)]
whitespace updates
Mike Frysinger [Sat, 11 Jun 2005 00:08:50 +0000 (00:08 -0000)]
recode functions to shrink size
Mike Frysinger [Sat, 11 Jun 2005 00:03:13 +0000 (00:03 -0000)]
setup the HAVE_* defines
Eric Andersen [Thu, 9 Jun 2005 10:16:02 +0000 (10:16 -0000)]
About time to just apply this and kill off the patches
Rob Landley [Tue, 7 Jun 2005 03:47:00 +0000 (03:47 -0000)]
Tito posted a devfsd error message fix. It's highly deprecated and will
presumably be removed eventually (use udev), but as long as it's in there.
Tito says:
The sense of this patch is to call:
read_config_file_err:
#ifdef CONFIG_DEVFSD_VERBOSE
msg_logger(((optional == 0 ) && (errno == ENOENT))? DIE : NO_DIE, LOG_ERR, "read config file: %s: %m\n", path);
#else
if(optional == 0 && errno == ENOENT)
exit(EXIT_FAILURE);
#endif
just after the failure of the call that set errno ( stat and fopen)
to avoid false error messages.
Rob Landley [Tue, 7 Jun 2005 03:21:20 +0000 (03:21 -0000)]
Clean up strings.c to use busybox's option processing. Bug 006, apparently.
Rob Landley [Tue, 7 Jun 2005 02:43:52 +0000 (02:43 -0000)]
Patch from Dmitry Zakharov:
Charlie Brady wrote:
> Here's another awk parsing problem - unary post increment - pre is fine:
>
>bash-2.05a$ echo 2,3 | gawk -F , '{ $2++ }'
>bash-2.05a$ echo 2,3 | /tmp/busybox/busybox awk -F , '{ $2++ }'
>awk: cmd. line:1: Unexpected token
>
Here's a fix for this. There is another problem with constructions like
"print (A+B) ++C", I don't
know whether somebody uses such constructions (fixing both these
problems would require very
serious change in awk code).
Rob Landley [Tue, 7 Jun 2005 02:40:39 +0000 (02:40 -0000)]
Thus spake Brenda J. Butler:
We were seeing some timeouts when getting files with the busybox tftp
client.
With tcpdump, we saw that the tftp client was receiving blocks and
ack'ing them, but the server was failing to receive the occasional
ack.
When that happened, the server would send the last block over again,
but the tftp client was expecting the next block.
This patch allows the client to recover from this situation
(it sends an ack for the repeat block but does not write it
to the local file).
I hope it meets your approval, please don't hesitate to send
me comments for improvement.
The patch is against "head" in svn, I tested it on an older version
of busybox in our environment. It applied cleanly to the older
version.
Credit for this goes to my co-worker John McCarthy for finding
it and me for fixing it (assuming it works for everyone else too).
cheerio,
bjb
Rob Landley [Sat, 28 May 2005 23:55:26 +0000 (23:55 -0000)]
Shaun Jackman submitted a patch converting an allocation to use
CONFIG_RESERVE_BUFFER. (Rob Landley removed an #ifdef, per discussion on
the list.)
Rob Landley [Sat, 28 May 2005 23:36:38 +0000 (23:36 -0000)]
Patch from Shaun Jackman to save a few bytes.
Rob Landley [Thu, 26 May 2005 05:25:12 +0000 (05:25 -0000)]
Tobias Krawutschke found a bug where the DHCP client would accept packets
with the wrong ARP address, meaning we could easily get somebody else's IP.
That is a bad thing, and this is the minimal two-line fix.
Paul Mundt [Fri, 20 May 2005 17:22:18 +0000 (17:22 -0000)]
Add readprofile applet support.
Rob Landley [Wed, 18 May 2005 06:34:37 +0000 (06:34 -0000)]
Patch from Colin Watson (mangled slightly by Rob Landley):
This patch implements the 'T' command in sed. This is a GNU extension,
but one of the udev hotplug scripts uses it, so I need it in busybox
anyway.
Includes a test; 'svn add testsuite/sed/sed-branch-conditional-inverted'
after applying.
Rob Landley [Wed, 18 May 2005 05:56:16 +0000 (05:56 -0000)]
Doug Swarin pointed out a security bug in the -i option of sed.
While the permissions on the temp file are correct to prevent it from being
maliciously mangled by passing strangers, (created with 600, opened O_EXCL,
etc), the permissions on the _directory_ might not be, and we re-open the
file to convert the filehandle to a FILE * (and automatically get an error
message and exit if the directory's read-only or out of space or some such).
This opens a potential race condition if somebody's using dnotify on the
directory, deletes/renames the tempfile, and drops a symlink or something
there. Somebody running sed -i as root in a world writeable directory could
do damage.
I dug up notes on an earlier discussion where we looked at the security
implications of this (unfortunately on the #uclibc channel rather than email;
I don't have a transcript, just notes-to-self) which pointed out that if the
permissions on the directory allow other people's files to be deleted/renamed
then the original file is vulnerable to sabotage anyway. However, there are
two cases that discussion apparently didn't take into account:
1) Using another user's permissions to damage files in other directories you
can't access (standard symlink attack).
2) Reading data another user couldn't otherwise access by having the new file
belong to that other user.
This patch uses fdopen to convert the filehandle into a FILE *, rather than
reopening the file.
Mike Frysinger [Mon, 16 May 2005 22:35:59 +0000 (22:35 -0000)]
use more busybox functions and remove redundant code
Mike Frysinger [Mon, 16 May 2005 22:05:07 +0000 (22:05 -0000)]
make sure we add the local dir to the include path
Rob Landley [Sun, 15 May 2005 01:32:47 +0000 (01:32 -0000)]
Tito pointed out I'd broken -t (argv[optind] can't be before getulflags),
and replaced the use of system() (and resulting security implications).
Rob Landley [Sat, 14 May 2005 00:46:18 +0000 (00:46 -0000)]
Add automatic umount support to eject command. Patch from Tito,
with tweaks from Mike Frysinger and Rob Landley.
Note: this will still fail to umount a path that contains an ' or \ character.
Is it worth the extra size to filter for that?
Mike Frysinger [Fri, 13 May 2005 03:09:20 +0000 (03:09 -0000)]
as Rob Landley pointed out, need to fix the 1 versus i typo in indexing
Mike Frysinger [Fri, 13 May 2005 00:58:18 +0000 (00:58 -0000)]
blah, forgot to save last time to fix whitespacing
Mike Frysinger [Fri, 13 May 2005 00:57:30 +0000 (00:57 -0000)]
remove duplicated code and rework algorithms to end up with smaller code
Mike Frysinger [Thu, 12 May 2005 22:50:12 +0000 (22:50 -0000)]
use a bunch of if statements since it is a few bytes smaller than a switch; also use bb_xfopen() instead of fopen() so comm doesnt segfault when given non-existant files :(
Mike Frysinger [Thu, 12 May 2005 22:41:13 +0000 (22:41 -0000)]
err, added 2 to the wrong var :) also touchup the option detection to shrink size
Mike Frysinger [Thu, 12 May 2005 22:36:32 +0000 (22:36 -0000)]
fix segfault if user only specifies 1 file
Mike Frysinger [Thu, 12 May 2005 22:36:07 +0000 (22:36 -0000)]
update usage to match actual behavior
Mike Frysinger [Thu, 12 May 2005 22:25:41 +0000 (22:25 -0000)]
fix whitespace/coding style
Mike Frysinger [Thu, 12 May 2005 22:23:15 +0000 (22:23 -0000)]
add missing comm.o rule
Mike Frysinger [Thu, 12 May 2005 22:22:50 +0000 (22:22 -0000)]
whitespace touchups
Eric Andersen [Wed, 11 May 2005 23:20:09 +0000 (23:20 -0000)]
This makefile was a mess. Fix it to work as intended.
-Erik
Rob Landley [Wed, 11 May 2005 23:12:49 +0000 (23:12 -0000)]
Small comm implementatin from Rob Sullivan. Needed to build perl.
Mike Frysinger [Wed, 11 May 2005 03:59:53 +0000 (03:59 -0000)]
import ether-wake applet by haveaniceday Bug 252
Mike Frysinger [Wed, 11 May 2005 00:39:03 +0000 (00:39 -0000)]
change the hardcoded error constant (0x80000000UL) to a nice flexible define (BB_GETOPT_ERROR)
Mike Frysinger [Wed, 11 May 2005 00:25:47 +0000 (00:25 -0000)]
import eject by Peter Willis / Tito Ragusa
Mike Frysinger [Wed, 11 May 2005 00:02:39 +0000 (00:02 -0000)]
now that mjn3 explained it to me, add documentation for the 3rd field in long opts
Rob Landley [Tue, 10 May 2005 23:53:33 +0000 (23:53 -0000)]
Patch from Jason Schoon to add IPV6 support to telnetd. Reworked by Rob
Landley to remove an #ifdef and move another one out of the flow of code.
Mike Frysinger [Tue, 10 May 2005 23:48:35 +0000 (23:48 -0000)]
add documentation for long options and touch up the current docs now that i actually understand how to use the function myself :)
Mike Frysinger [Mon, 9 May 2005 22:13:22 +0000 (22:13 -0000)]
import more libs to prep for new e2fsprogs
Mike Frysinger [Mon, 9 May 2005 22:10:42 +0000 (22:10 -0000)]
import ext2fs lib to prep for new e2fsprogs
Mike Frysinger [Mon, 9 May 2005 22:10:10 +0000 (22:10 -0000)]
no longer applies
Mike Frysinger [Mon, 9 May 2005 22:09:00 +0000 (22:09 -0000)]
import base_device.c for fsck
Mike Frysinger [Mon, 9 May 2005 21:58:36 +0000 (21:58 -0000)]
remove unused files
Mike Frysinger [Mon, 9 May 2005 21:57:44 +0000 (21:57 -0000)]
trim out useless defines and use some busybox funcs
Mike Frysinger [Mon, 9 May 2005 21:53:25 +0000 (21:53 -0000)]
override nls P_() macro
Mike Frysinger [Mon, 9 May 2005 21:51:41 +0000 (21:51 -0000)]
abort if user passes -r or if they dont pass anything
Mike Frysinger [Mon, 9 May 2005 21:51:15 +0000 (21:51 -0000)]
syntax/whitespace touchup
Rob Landley [Mon, 9 May 2005 21:42:42 +0000 (21:42 -0000)]
Patch from Shaun Jackman:
> This patch modfies expr to use portable POSIX regex rather than BSD
> regex.
...
> This updated patch implements an anchored regex by checking that the
> match starts at offset 0.
More to the point, this patch uses the same regex that sed.c is already using
(opportunity to suck in less library code), and even building a dynamically
linked busybox with just expr the result is a slightly smaller binary (by 94
bytes, I dunno what nm --size-sort has to say about it because I didn't build
with debug info, since that changes the binary size a lot by disabling
optimization...)
Your mileage may vary. Handle with caution. Do not taunt happy fun ball.
Rob Landley [Sat, 7 May 2005 17:45:38 +0000 (17:45 -0000)]
Manuel points out that if printf needs a flush to act like dprintf, the result
is bigger. Revert last patch.
Rob Landley [Sat, 7 May 2005 08:27:34 +0000 (08:27 -0000)]
This one's from me. Fix ash "standalone shell".
If we exec /proc/self/exe and only fall back to /bin/busybox if /proc isn't
there, then we have a reasonable chance of having the standalone shell work
even if busybox isn't installed in /bin on the system in question.
Still won't work in a chroot environment, but it's an improvement.
Rob Landley [Sat, 7 May 2005 07:53:16 +0000 (07:53 -0000)]
Shaun Jackman pointed out that dprintf(STDOUT_FILENO,...) is just a printf.
Mike Frysinger [Sat, 7 May 2005 07:17:43 +0000 (07:17 -0000)]
patch by Tito which uses a lot more busybox functions to reduce size nicely
Mike Frysinger [Sat, 7 May 2005 07:16:54 +0000 (07:16 -0000)]
update e2p target to match condensed files
Mike Frysinger [Sat, 7 May 2005 07:14:41 +0000 (07:14 -0000)]
patch by Tito which unifies common get/set functions into 1 get/set function and cuts down on the size used significantly :)
Mike Frysinger [Sat, 7 May 2005 06:49:54 +0000 (06:49 -0000)]
add/remove defines to handle more e2fsprogs
Mike Frysinger [Sat, 7 May 2005 06:45:29 +0000 (06:45 -0000)]
use shared busybox error messages to save a few bytes
Mike Frysinger [Fri, 6 May 2005 05:00:34 +0000 (05:00 -0000)]
make the exec (-e) an optional feature of netcat
Mike Frysinger [Fri, 6 May 2005 04:45:38 +0000 (04:45 -0000)]
In bug 247, haveaniceday writes:
The option "-w secs" adds a timeout for writing.
Rob Landley [Wed, 4 May 2005 23:55:06 +0000 (23:55 -0000)]
Tweak the "pretty lsmod for 2.6" patch to be seperately selectable.
Patch from Takeharu Kato.
Rob Landley [Wed, 4 May 2005 02:15:23 +0000 (02:15 -0000)]
Revert the uptime() removal. Let the list sort it out...
Rob Landley [Wed, 4 May 2005 00:38:15 +0000 (00:38 -0000)]
Patch from Shaun Jackman:
Replace uptime with time(NULL). time is more portable than uptime and
eliminates the need to define uptime, reducing code size slightly.
Rob Landley [Wed, 4 May 2005 00:25:49 +0000 (00:25 -0000)]
Takeharu Kato's patch added 2.6 support to lsmod; this changes menuconfig
dependencies so 2.6 support depends on insmod or lsmod...
Rob Landley [Tue, 3 May 2005 22:34:03 +0000 (22:34 -0000)]
Takeharu Kato said:
I found that lsmod in busybox does not support linux-2.6.
I fix this issue(it is caused by changes of /proc/modules format).
If you use lsmod in busybox with kernel-2.6, please use this patch.
Rob Landley [Tue, 3 May 2005 22:30:08 +0000 (22:30 -0000)]
From: Shaun Jackman <sjackman@gmail.com>
To: busybox@mail.codepoet.org
Wrap sockaddr_in6 in a ifdef CONFIG_FEATURE_IPV6.
Include sys/types.h instead of asm/types.h.
Include netinet/if_ether.h instead of linux/if_ether.h
The ioctl request argument is an int, not an unsigned short.
Rob Landley [Tue, 3 May 2005 21:30:26 +0000 (21:30 -0000)]
Shaun Jackman said:
This patch adds a CONFIG_FEATURE_CLEAN_UP stanza, and also adds an
ifdef around the SIOCGIFMAP call.
Rob Landley [Tue, 3 May 2005 06:25:50 +0000 (06:25 -0000)]
A patch from Takeharu KATO to update/fix SE-Linux support.
Rob Landley [Tue, 3 May 2005 03:33:23 +0000 (03:33 -0000)]
Add David Brownell as zcip maintainer.
Rob Landley [Tue, 3 May 2005 03:28:55 +0000 (03:28 -0000)]
Revert Tito's patch to zcip. My bad, David Brownell had objected and I missed
it...
Rob Landley [Sun, 1 May 2005 00:22:03 +0000 (00:22 -0000)]
On Tuesday 19 April 2005 21:10, Tito wrote and today added:
> Hi,
> this is a first attempt of size optimization for zcip taking into account all
> the hints given so far on the list.
> I've applied just the more obvious busyboxifications so maybe it could be
> optimized more.
BTW: I've ripped out a lot of debug code and changed c++ // comments to /* */
as both were rather confusing for a newbie like me. ;-)
Sorry to the author for that.
I know that this makes mantaining the code easier, but I'm simple minded....
Rob Landley [Sat, 30 Apr 2005 05:11:57 +0000 (05:11 -0000)]
On Wednesday 13 April 2005 09:12 pm, Shaun Jackman wrote:
> This patch fixes a memory leak in hash_file by using the BUFFER macros
> instead of xmalloc. Please apply.
Rob Landley [Sat, 30 Apr 2005 03:49:37 +0000 (03:49 -0000)]
David Brownell submitted a new applet, zcip, based on RFC 3927. This is
version 0418b. It compiled.
Rob Landley [Fri, 29 Apr 2005 22:14:28 +0000 (22:14 -0000)]
New help text for Matthew S. Wood's "ln" update adding -b and -d.
Rob Landley [Fri, 29 Apr 2005 22:13:04 +0000 (22:13 -0000)]
Patch from Matthew S. Wood:
> The following patch adds support for the -S and -b flags to `ln'. These
> flags [especially -b] are used extensively in Debian pre and post
> installation scripts.
Comments from Vladimir Oleynik influenced the final patch, and I also ripped
out the in-file changelog since it belongs here. At the time, it said:
/* Apr 15, 2004 Matthew S. Wood (mwood@realmsys.com)
*
* Implement '-b' (backup) flag.
* Implement '-S' (backup suffix) flag.
*
*
* Mar 16, 2003 Manuel Novoa III (mjn3@codepoet.org)
*
* Fixed bug involving -n option. Essentially, -n was always in effect.
*/