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.
*/
Rob Landley [Fri, 29 Apr 2005 19:48:29 +0000 (19:48 -0000)]
On Wednesday 27 April 2005 05:23 am, Patrick Huesmann wrote:
> This is really confusing for users who don't know all details of the
> *nix file permission system.
> Today, I changed my busybox system to use CONFIG_FEATURE_SUID_CONFIG.
> After fighting with the file permissions for hours, I decided that
> updating the documentation might be a good idea.
Eric Andersen [Wed, 27 Apr 2005 11:44:11 +0000 (11:44 -0000)]
Do not attempt to free() the application's environment, which is was
not dynamically allocated. Instead, use a private variable to store
the environment array, which is used when we exec applications.
Eric Andersen [Wed, 27 Apr 2005 10:51:38 +0000 (10:51 -0000)]
Correct errors preventing busybox tar from working properly,
fixing bug http://bugs.uclibc.org/view.php?id=231
Mike Frysinger [Tue, 26 Apr 2005 00:43:19 +0000 (00:43 -0000)]
fix stupid build mistake i made earlier as pointed out by psm
Mike Frysinger [Mon, 25 Apr 2005 05:27:12 +0000 (05:27 -0000)]
use a generic error message
Mike Frysinger [Mon, 25 Apr 2005 05:24:35 +0000 (05:24 -0000)]
use asprintf in place of malloc/sprintf as suggested by solar
Mike Frysinger [Mon, 25 Apr 2005 05:00:33 +0000 (05:00 -0000)]
moved to e2fsprogs too
Mike Frysinger [Mon, 25 Apr 2005 04:10:35 +0000 (04:10 -0000)]
bbify to shrink size
Mike Frysinger [Sun, 24 Apr 2005 05:39:52 +0000 (05:39 -0000)]
use busybox funcs to make smaller
Mike Frysinger [Sun, 24 Apr 2005 05:18:00 +0000 (05:18 -0000)]
new version of ed taken from sash
Mike Frysinger [Sun, 24 Apr 2005 05:15:12 +0000 (05:15 -0000)]
svn didnt auto add these ...
Mike Frysinger [Sun, 24 Apr 2005 05:07:59 +0000 (05:07 -0000)]
add new subdir for e2fsprogs
Mike Frysinger [Sun, 24 Apr 2005 04:11:44 +0000 (04:11 -0000)]
rework human_fstype to cut down size
Mike Frysinger [Sun, 24 Apr 2005 03:53:12 +0000 (03:53 -0000)]
rework options to get rid of extra variables
Mike Frysinger [Sat, 23 Apr 2005 07:00:33 +0000 (07:00 -0000)]
fix whitespace usage, fix un-escaped quotes in a bunch of examples, and standardize a bunch of trivial/full usage statements (no trailing newline in either, and when listing options, dont append a . each time)
Mike Frysinger [Sat, 23 Apr 2005 06:35:06 +0000 (06:35 -0000)]
fix inconsistent whitespace
Mike Frysinger [Sat, 23 Apr 2005 06:28:42 +0000 (06:28 -0000)]
remove extra whitespace
Mike Frysinger [Sat, 23 Apr 2005 06:26:38 +0000 (06:26 -0000)]
stat implementation based upon coreutils
Mike Frysinger [Sat, 23 Apr 2005 01:50:55 +0000 (01:50 -0000)]
patch for a very alpha busybox ed
Mike Frysinger [Sat, 23 Apr 2005 01:46:55 +0000 (01:46 -0000)]
whitespace fix
Mike Frysinger [Sat, 23 Apr 2005 01:45:08 +0000 (01:45 -0000)]
remove lsattr/chattr to prepare for a top level e2fsprogs dir with more stuff in it
Mike Frysinger [Sat, 23 Apr 2005 01:43:45 +0000 (01:43 -0000)]
update example to use bb_ prefixed names and remove old note about config.h (since the header is generated automatically now)
Mike Frysinger [Sat, 23 Apr 2005 01:43:07 +0000 (01:43 -0000)]
add comments about ignoring some warnings which are OK
Mike Frysinger [Sat, 23 Apr 2005 01:42:29 +0000 (01:42 -0000)]
remove unused variable and declare writepid inline
Mike Frysinger [Sat, 23 Apr 2005 01:42:03 +0000 (01:42 -0000)]
cast the time pointer so gcc stops warning over nothing
Mike Frysinger [Sat, 23 Apr 2005 01:41:51 +0000 (01:41 -0000)]
use bb_fflush_stdout_and_exit instead of exit
Mike Frysinger [Fri, 22 Apr 2005 02:33:37 +0000 (02:33 -0000)]
import lsattr and chattr from e2fsprogs
Mike Frysinger [Fri, 22 Apr 2005 02:19:01 +0000 (02:19 -0000)]
output busybox help to stdout, not stderr
Mike Frysinger [Thu, 21 Apr 2005 23:29:24 +0000 (23:29 -0000)]
printenv / sum defines
Mike Frysinger [Thu, 21 Apr 2005 23:24:46 +0000 (23:24 -0000)]
grab sum from coreutils, clean it up, and make it busybox happy
Mike Frysinger [Thu, 21 Apr 2005 23:23:13 +0000 (23:23 -0000)]
add a printenv implementation
Mike Frysinger [Thu, 21 Apr 2005 23:19:57 +0000 (23:19 -0000)]
fix whitespace
Mike Frysinger [Thu, 21 Apr 2005 23:17:57 +0000 (23:17 -0000)]
fix typos
Mike Frysinger [Thu, 21 Apr 2005 01:49:05 +0000 (01:49 -0000)]
fix typoe (buildddir -> builddir)
Mike Frysinger [Wed, 20 Apr 2005 00:28:44 +0000 (00:28 -0000)]
fix printf warning
Mike Frysinger [Tue, 19 Apr 2005 23:50:22 +0000 (23:50 -0000)]
fix whitespace
Peter Kjellerstedt [Tue, 19 Apr 2005 09:55:06 +0000 (09:55 -0000)]
Updated to match trunk/uClibc/extra/config as of r10132, and thus
Linux 2.6.11.
Mike Frysinger [Mon, 18 Apr 2005 22:42:58 +0000 (22:42 -0000)]
In Bug 5, Tito writes:
This is a first attempt to improve the comments of getopt_ulflags.c.
Maybe under some aspects the text could be refined, but so
far it is already usable and should help people who "avoided getopt_ulflags as the pest" to understand how it works.
This patch was created with the help of
Vodz, the author of the code, who explained me patiently
how getopt_ulflags works
and with the help of
Paul Fox, who corrected my broken english.
So thanks and merits should go to them also.
Mike Frysinger [Mon, 18 Apr 2005 18:52:15 +0000 (18:52 -0000)]
touchups as suggested by Vladimir N. Oleynik
Mike Frysinger [Sun, 17 Apr 2005 07:25:32 +0000 (07:25 -0000)]
err, use name attr of a tag, not href
Mike Frysinger [Sun, 17 Apr 2005 07:24:19 +0000 (07:24 -0000)]
import fakeidentd module started by Thomas Lundquist