Commit Graph

552 Commits

Author SHA1 Message Date
Mike Frysinger
c8e2de6e1b Bernhard Fischer writes: fix devfsd usage 2005-08-15 22:13:21 +00:00
Rob Landley
6a6798b8e4 Major rewrite of mount, umount, losetup. Untangled lots of code, shrunk
things down a bit, fixed a number of funky corner cases, added support for
several new features (things like mount --move, mount --bind, lazy unounts,
automatic detection of loop mounts, and so on).  Probably broke several
other things, but it's fixable.  (Bang on it, tell me what doesn't work for
you...)

Note: you no longer need to say "-o loop".  It does that for you when
necessary.

Still need to add "user mount" support, which involves making mount suid.  Not
too hard to do under the new infrastructure, just haven't done it yet...

The previous code had the following notes, that belong in the version
control comments:

- * 3/21/1999   Charles P. Wright <cpwright@cpwright.com>
- *             searches through fstab when -a is passed
- *             will try mounting stuff with all fses when passed -t auto
- *
- * 1999-04-17  Dave Cinege...Rewrote -t auto. Fixed ro mtab.
- *
- * 1999-10-07  Erik Andersen <andersen@codepoet.org>.
- *              Rewrite of a lot of code. Removed mtab usage (I plan on
- *              putting it back as a compile-time option some time),
- *              major adjustments to option parsing, and some serious
- *              dieting all around.
- *
- * 1999-11-06  mtab support is back - andersee
- *
- * 2000-01-12   Ben Collins <bcollins@debian.org>, Borrowed utils-linux's
- *              mount to add loop support.
- *
- * 2000-04-30  Dave Cinege <dcinege@psychosis.com>
- *             Rewrote fstab while loop and lower mount section. Can now do
- *             single mounts from fstab. Can override fstab options for single
- *             mount. Common mount_one call for single mounts and 'all'. Fixed
- *             mtab updating and stale entries. Removed 'remount' default.
- *
2005-08-10 20:35:54 +00:00
Paul Fox
0b62158475 implemented a builtin echo command in ash. moved the guts of the
echo applet into libbb, and now call bb_echo() from both echo.c
and ash.c
2005-08-09 19:38:05 +00:00
Paul Fox
4240364098 commiting:
0000028 03-16-05 patch: new setsid applet
2005-08-01 22:52:09 +00:00
Paul Fox
b831753676 commiting:
0000073: Add option to inetd applet to run in foreground
this option was already there for uclinux -- this just exposes
it in the normal case as well.
2005-08-01 19:39:47 +00:00
Paul Fox
156dc41cbc commiting patch from bug 71:
0000071: patch: implement "--color" option for ls coloring control
2005-08-01 19:33:30 +00:00
Paul Fox
fc2256a6ca applying patch for bug 72:
0000072: Add applet to redirect console output via ioctl(..., TIOCCONS)  
applet name changed to setconsole, since suse has a very similar
utility.  better to treat differences as bugs than invent a new command.
2005-08-01 18:12:30 +00:00
Paul Fox
79c142d938 new config display applet, from bug 46. i've changed the name
of the applet from "config" to "bbconfig", and renamed the
source filenames and symbols to match appropriately.
2005-08-01 16:04:40 +00:00
Paul Fox
a39bba33c8 allow suppression of default client-id. fixes bug 000037. allows
busybox to match kernel and u-boot behavior with respect to client-id.
2005-08-01 14:31:13 +00:00
Mike Frysinger
14445fd9a1 in order to make sure the INET6 prototypes are exported, we would have to include the libbb.h header file ... but then we have to worry about including too early/etc...
since simply defining the prototype in an internal header file doesnt hurt anyone, lets not worry about the header file crap and just always prototype the inet6 functions
2005-07-30 08:54:43 +00:00
Rob Landley
193c8c7383 #ifdef reduction infrastructure, based on an argument between Shaun Jackman,
Rob Landley, and others.

Currently CONFIG options are defined or undefined, so we chop out code with
#ifdefs, ala:
#ifdef CONFIG_THING
  stuff();
#endif

This creates a new header file, bb_config.h, which sets the CONFIG entry to 1
or 0, and lets us do:

  if(CONFIG_THING) stuff();

And let the compiler do dead code elimination to get rid of it.  (Note: #ifdef
will still work because for the 1 case it's a static const int, not a #define.)
2005-07-27 06:55:36 +00:00
Paul Fox
0840b76602 applying fixes from:
0000142: unzip enhancements
2005-07-20 20:26:49 +00:00
Paul Fox
127adc559f applying fix from;
0000092: looks like the initializer for .need_suid was missing.
2005-07-19 21:21:58 +00:00
Eric Andersen
2ada89b60f a bit more polish 2005-07-18 09:45:35 +00:00
Eric Andersen
54e57da96a a bit of polish on makedevs 2005-07-18 09:42:37 +00:00
Eric Andersen
e8614dbcd7 Fixup device table based makedevs so it actually works 2005-07-18 09:28:36 +00:00
Rob Landley
6eb1e41674 Rodney Radford submitted ipcs and ipcrm (system V IPC stuff). They could use
some more work to shrink them down.
2005-06-20 04:30:36 +00:00
Mike Frysinger
6447ac0ef4 import initial fat mke2fs 2005-06-11 05:29:40 +00:00
Mike Frysinger
174808cedb import tune2fs support 2005-06-11 01:14:09 +00:00
Eric Andersen
3d9256225f About time to just apply this and kill off the patches 2005-06-09 10:16:02 +00:00
Paul Mundt
8b2d02ed34 Add readprofile applet support. 2005-05-20 17:22:18 +00:00
Rob Landley
9ea8836357 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?
2005-05-14 00:46:18 +00:00
Mike Frysinger
4d149205c3 update usage to match actual behavior 2005-05-12 22:36:07 +00:00
Rob Landley
2acfd7bd26 Small comm implementatin from Rob Sullivan. Needed to build perl. 2005-05-11 23:12:49 +00:00
Mike Frysinger
b662f0d58b import ether-wake applet by haveaniceday Bug 252 2005-05-11 03:59:53 +00:00
Mike Frysinger
348e84c202 change the hardcoded error constant (0x80000000UL) to a nice flexible define (BB_GETOPT_ERROR) 2005-05-11 00:39:03 +00:00
Mike Frysinger
55e2cf6533 import eject by Peter Willis / Tito Ragusa 2005-05-11 00:25:47 +00:00
Mike Frysinger
7dc7f402a7 make the exec (-e) an optional feature of netcat 2005-05-06 05:00:34 +00:00
Mike Frysinger
60a5c38a4b In bug 247, haveaniceday writes:
The option "-w secs" adds a timeout for writing.
2005-05-06 04:45:38 +00:00
Rob Landley
0d38301d85 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.
2005-05-03 22:30:08 +00:00
Rob Landley
60158cb93e A patch from Takeharu KATO to update/fix SE-Linux support. 2005-05-03 06:25:50 +00:00
Rob Landley
e3752e56a4 Revert Tito's patch to zcip. My bad, David Brownell had objected and I missed
it...
2005-05-03 03:28:55 +00:00
Rob Landley
8445a9ff99 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....
2005-05-01 00:22:03 +00:00
Rob Landley
ad8071f582 David Brownell submitted a new applet, zcip, based on RFC 3927. This is
version 0418b.  It compiled.
2005-04-30 03:49:37 +00:00
Rob Landley
55b1efc6de New help text for Matthew S. Wood's "ln" update adding -b and -d. 2005-04-29 22:14:28 +00:00
Mike Frysinger
058e740d1e 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) 2005-04-23 07:00:33 +00:00
Mike Frysinger
82e6c0b3db fix inconsistent whitespace 2005-04-23 06:35:06 +00:00
Mike Frysinger
964a368e5c remove extra whitespace 2005-04-23 06:28:42 +00:00
Mike Frysinger
9b5f71ec02 stat implementation based upon coreutils 2005-04-23 06:26:38 +00:00
Mike Frysinger
de9f1f757a import lsattr and chattr from e2fsprogs 2005-04-22 02:33:37 +00:00
Mike Frysinger
95d3c4503f printenv / sum defines 2005-04-21 23:29:24 +00:00
Mike Frysinger
618d62f593 fix whitespace 2005-04-19 23:50:22 +00:00
Mike Frysinger
fa69f110d9 import fakeidentd module started by Thomas Lundquist 2005-04-17 07:24:19 +00:00
Eric Andersen
3cd1986195 Add bb_msg_read_error 2005-04-16 07:42:35 +00:00
Mike Frysinger
5c63a72968 In Bug 207, bernhardf writes:
proper escape strings in usage.h
2005-04-16 04:23:58 +00:00
Mike Frysinger
2ed05ab146 fake out support for POSIX -H and -L options since busybox cp dereferences everything by default 2005-04-14 02:52:50 +00:00
Mike Frysinger
75ac42b1ae add aliases == and [[ for = and [ to support more bash scripts 2005-04-14 02:49:22 +00:00
Mike Frysinger
ca1b6fc745 newlib fixe from Shaun Jackman 2005-03-04 01:09:43 +00:00
Manuel Novoa III
2c511609c4 Add 'nice' and replace 'renice' with a new implementation. 2005-02-13 20:14:05 +00:00
Rob Landley
c0dedd05e8 Sort rewrite to be SUSv3 compliant. New config option, updated help, and
a couple of infrastructure bits.
2005-01-24 07:00:02 +00:00
Mike Frysinger
6077d90c26 cp: make -P a synonym for -d 2005-01-07 00:56:47 +00:00
Ned Ludd
c6fbed5dba - CONFIG_FEATURE_READLINK_FOLLOW readlink -f patch from Colin Watson <cjwatson@debian.org> on busybox mailing list 08/11/04 2004-12-08 16:47:28 +00:00
Glenn L McGrath
f15dfc5570 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."
2004-09-15 03:04:08 +00:00
Glenn L McGrath
ab1955c236 Patch from Felipe Kellermann, adds missing applet usage options, removes usage
for options that are currently not implemented and fixes typos.
2004-09-14 16:23:56 +00:00
Eric Andersen
192c35f6eb 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
2004-09-02 22:22:17 +00:00
Eric Andersen
7eb79fff10 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.......).
2004-09-02 22:21:41 +00:00
Eric Andersen
37ba6bfb6d The login applet should always be setuid root 2004-08-26 23:01:34 +00:00
Eric Andersen
52499cb9ae 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
2004-08-26 22:18:59 +00:00
Eric Andersen
b131db4326 Patch from Tito documenting the '-q' option 2004-08-19 18:25:02 +00:00
Eric Andersen
9ab4657c89 Fixup 'dc' usage 2004-08-18 17:57:16 +00:00
Eric Andersen
93d7fba892 Tito, farmatito at tiscali dot it writes:
Hi to all,
This patch is useful for:
1) remove an unused var from extern char *find_real_root_device_name(const char* name)
    changing it to extern char *find_real_root_device_name(void).
2) fixes include/libbb.h, coreutils/df.c, util-linux/mount.c and  util-linux/umount.c accordingly.
3) fixes a bug, really a false positive,  in find_real_root_device_name() that happens if
    in the /dev directory exists a link named root (/dev/root) that should be skipped but
    is not. This affects applets like df that display wrong results
2004-08-03 00:14:02 +00:00
Glenn L McGrath
c0dd26f68d Patch from Felipe Kellermann, fixup usage for pidof, poweroff, remove
some trailing '\n'
2004-07-23 06:06:21 +00:00
Glenn L McGrath
d250167bd2 Patch from Felipe Kellermann, fixup usage for halt command 2004-07-23 05:16:17 +00:00
Glenn L McGrath
72b14a8638 iUpdate reboot usage, patch by Felipe Kellermann 2004-07-23 03:33:38 +00:00
Glenn L McGrath
435962327a Patch from Felipe Kellermann to fix some typo's 2004-07-23 01:27:56 +00:00
Glenn L McGrath
8539667279 Patch from Tito, ass usage for strings -a options 2004-07-21 12:25:55 +00:00
Eric Andersen
9615a08218 Replace the old and somewhat buggy pwd_grp stuff with the shiny
new stuff mjn3 wrote for uClibc
2004-07-15 12:53:49 +00:00
Eric Andersen
36adca81f5 Patch from Bastian Blank:
On Sat, Jun 19, 2004 at 10:57:37PM +0200, Bastian Blank wrote:
> The following patch changes klogd to use openlog/syslog themself
> instead of calling syslog_msg which always calls the triple
> openlog/syslog/closelog.

Updated patch: get rid of syslog_msg entirely. Request from Erik Andersen.

Bastian
2004-06-22 10:07:17 +00:00
Eric Andersen
ed9ecf7894 Patch from Bastian Blank:
The updated patch adds a config option to explicitely enable 64 bit
    arithmetic.

    Also it removes the arith prototype from libbb.h as it is not used
    outside of ash.

    Bastian

this patch has been slightly modified by Erik for cleanliness.
2004-06-22 08:29:45 +00:00
Glenn L McGrath
07e1ccdf75 Woops, the previous commit was an accident, its supplied in the patch,
dont commit yet as we are in feature freeze
2004-06-05 07:58:18 +00:00
Glenn L McGrath
84b6264670 Device table support for makedevs, the previous behaviour can been
selected at configure time.
2004-06-05 07:54:52 +00:00
Rob Landley
58b118ae33 Ahem. ("I'm just tweaking a documentation string, I don't need to compile
test it before checking in..."  New entry for famous last words list.)

Add the missing backslash at the end of the new sed doc string line.

(This one actually compiled with "show verbose applet usage messages"...)
2004-05-26 22:09:37 +00:00
Rob Landley
1ce5968443 Update sed help. (Add -r option to long help, add -i option to brief help,
and alphabetizie the option list.)
2004-05-26 21:59:31 +00:00
Eric Andersen
0dfe4e9956 As discussed, drop minit, which was not being supported in busybox.
People wishing to use minit can obtain it and obtain support from
http://www.fefe.de/minit/
2004-05-26 10:28:32 +00:00
Glenn L McGrath
cbc453c7a2 Update dpkg-deb usage to match current practices 2004-05-02 03:01:08 +00:00
Eric Andersen
6f9a7783ce Do not use getpass(3) 2004-05-01 01:27:30 +00:00
Eric Andersen
73afd89610 Steven Scholz writes:
Hi there,

the "-h" option of httpd is not described in the usage text.

Please find the attached patch.

Thanks.

Steven
2004-04-14 17:59:21 +00:00
Eric Andersen
aff114c33d Larry Doolittle writes:
This is a bulk spelling fix patch against busybox-1.00-pre10.
If anyone gets a corrupted copy (and cares), let me know and
I will make alternate arrangements.

Erik - please apply.

Authors - please check that I didn't corrupt any meaning.

Package importers - see if any of these changes should be
passed to the upstream authors.

I glossed over lots of sloppy capitalizations, missing apostrophes,
mixed American/British spellings, and German-style compound words.

What is "pretect redefined for test" in cmdedit.c?

Good luck on the 1.00 release!

      - Larry
2004-04-14 17:51:38 +00:00
Eric Andersen
3561b017ce Fix incorrect ipcalc usage text 2004-04-13 19:27:20 +00:00
Eric Andersen
625da9d61e Fix several problems with start-stop-daemon, add -m support 2004-04-13 18:28:46 +00:00
Eric Andersen
f802ff76d0 Patch from Rob Landley to fix sed documentation.
The -i option was not documented, and in genereal
the formatting was a bit ugly.
2004-04-12 15:12:06 +00:00
Eric Andersen
957879ae1e Document insmod -o 2004-04-07 15:07:55 +00:00
Eric Andersen
15c03c315f Yet more doc updates 2004-04-06 17:52:02 +00:00
Eric Andersen
a151d19504 Yet more doc cleanups. Many thanks to Robert P. J. Day for
kindly reviewing the existing docs and providing helpful feedback.
2004-04-06 17:16:36 +00:00
Eric Andersen
0a87ac6546 Seem not many people are using 'ipaddr' since it has
never worked....  Most people use 'ip addr foo' I suppose.
2004-04-06 16:59:43 +00:00
Eric Andersen
178de17969 yet-more doc updates and cleanups 2004-04-06 16:36:20 +00:00
Eric Andersen
75eb90f288 As noted by Martin Schwenke, the example for find was wrong 2004-03-29 08:20:08 +00:00
Eric Andersen
38748fddf3 Yet more doc cleanups 2004-03-27 11:35:46 +00:00
Eric Andersen
c7bda1ce65 Remove trailing whitespace. Update copyright to include 2004. 2004-03-15 08:29:22 +00:00
Eric Andersen
63a1a7aaa5 Update docs for start_stop_daemon to match reality. Update
the reality a bit to better match debian behavior.
2004-03-13 08:33:10 +00:00
Eric Andersen
3cac0c7d7f Add prototypes for safe_strtol and friends 2004-03-12 22:08:13 +00:00
Eric Andersen
08f59e32c1 Fix awk entry, which was not showing up in BusyBox.txt for some reason 2004-03-12 22:07:10 +00:00
Manuel Novoa III
7d0c51919c In spite of the feature freeze, check in a complete rework of route which
fixes some bugs, adds some error checking, and removes _lots_ of bloat.
Text size on i386...
              old     new
   ipv6      5425    3523
   no ipv6   3143    2193
2004-03-10 07:42:38 +00:00
Eric Andersen
2715fa147a Note that /proc must be mounted for filesystem type autodetection
to work.  Without /proc mounted, one must explicitly specify the
type of every filesystem being mounted.
2004-03-09 21:32:57 +00:00
Glenn L McGrath
a89bbfb257 Woops, how did that get in there 2004-03-06 07:38:27 +00:00
Glenn L McGrath
d1daf8b6f4 Patch from Denis Dowling to fix a ocuple of usage entries 2004-02-25 10:35:55 +00:00
Eric Andersen
539ffc9129 Fernando Silveira writes:
Hi,

  Well, I made this patch a long time ago (08/2002) because it was a
  need of a project, but had no time to send it to you. It adds support
  to `autologin' option of the telnet protocol. It has been used since
  made with busybox 0.60.3 at production and I had no problems with it.
  I have ported it to the HEAD revision of the CVS server (20040211) and
  I hope you enjoy and apply it to the official sources. :)

Thanks a lot!
2004-02-22 12:25:47 +00:00
Glenn L McGrath
58fd67fa98 Update usage for ftpget and ftpput 2004-02-22 04:12:58 +00:00
Glenn L McGrath
15c3512614 Sometimes i get carried away with the use of function pointers, im sure
it seemed like a good idea at the time.
2004-02-21 09:20:56 +00:00
Eric Andersen
ced9705c42 Document missing cp options 2004-02-20 09:55:37 +00:00