oweals/busybox.git
11 years agovasprintf: do not use xmalloc, it will deadlock on OOM
Denys Vlasenko [Thu, 7 Feb 2013 15:06:54 +0000 (16:06 +0100)]
vasprintf: do not use xmalloc, it will deadlock on OOM

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agomdev: chdir back to /dev after trying to read firmware
Denys Vlasenko [Mon, 4 Feb 2013 22:35:27 +0000 (23:35 +0100)]
mdev: chdir back to /dev after trying to read firmware

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agoarp: code shrink
Denys Vlasenko [Mon, 4 Feb 2013 15:18:58 +0000 (16:18 +0100)]
arp: code shrink

function                                             old     new   delta
packed_usage                                       29257   29252      -5
arp_main                                            1487    1471     -16

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agoarp: fix -H/-t handling.
Kuleshov Aleksey [Mon, 4 Feb 2013 14:14:20 +0000 (15:14 +0100)]
arp: fix -H/-t handling.

While at it, shrank code.
function                                             old     new   delta
arp_main                                            1558    1487     -71

Signed-off-by: Kuleshov Aleksey <rndfax@yandex.ru>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agomdev: extend debug logging output
Denys Vlasenko [Wed, 30 Jan 2013 15:51:22 +0000 (16:51 +0100)]
mdev: extend debug logging output

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agoudhcpc6: fix port numbers used if !FEATURE_UDHCP_PORT
Denys Vlasenko [Mon, 28 Jan 2013 14:25:35 +0000 (15:25 +0100)]
udhcpc6: fix port numbers used if !FEATURE_UDHCP_PORT

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agotestsuite/du/du-k-works: fix false positive
Kang Kai [Mon, 28 Jan 2013 13:02:51 +0000 (14:02 +0100)]
testsuite/du/du-k-works: fix false positive

Signed-off-by: Kang Kai <kai.kang@windriver.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agoflashcp: trivial code shrink
Denys Vlasenko [Mon, 28 Jan 2013 11:26:29 +0000 (12:26 +0100)]
flashcp: trivial code shrink

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agops: seconds_since_boot: uint64_t -> ulong
Denys Vlasenko [Sat, 26 Jan 2013 13:21:15 +0000 (14:21 +0100)]
ps: seconds_since_boot: uint64_t -> ulong

Even if long is 32-bit, 4 billion second uptime isn't likely :)

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agogetopt: improve help text; code shrink
Denys Vlasenko [Thu, 24 Jan 2013 10:36:00 +0000 (11:36 +0100)]
getopt: improve help text; code shrink

function                                             old     new   delta
generate_output                                      356     351      -5
packed_usage                                       29271   29257     -14

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agoflashcp: pad output to BUFSIZE. Hopefully closes 5882
Denys Vlasenko [Wed, 23 Jan 2013 10:41:22 +0000 (11:41 +0100)]
flashcp: pad output to BUFSIZE. Hopefully closes 5882

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agounzip: add missing fflush; code shrink
Denys Vlasenko [Tue, 22 Jan 2013 10:16:08 +0000 (11:16 +0100)]
unzip: add missing fflush; code shrink

function                                             old     new   delta
my_fgets80                                             -      41     +41
unzip_main                                          2291    2242     -49

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agomount: whitespace fix. no code changes
Denys Vlasenko [Tue, 22 Jan 2013 10:00:45 +0000 (11:00 +0100)]
mount: whitespace fix. no code changes

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years ago*: reuse more strings
Denys Vlasenko [Tue, 22 Jan 2013 09:13:52 +0000 (10:13 +0100)]
*: reuse more strings

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agops: fix sscanf format specifier (%l); make uptime unsigned
Denys Vlasenko [Tue, 22 Jan 2013 09:07:23 +0000 (10:07 +0100)]
ps: fix sscanf format specifier (%l); make uptime unsigned

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agoStart 1.22.0 development cycle
Denys Vlasenko [Mon, 21 Jan 2013 07:56:21 +0000 (08:56 +0100)]
Start 1.22.0 development cycle

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agoBump version to 1.21.0 1_21_0
Denys Vlasenko [Mon, 21 Jan 2013 07:51:23 +0000 (08:51 +0100)]
Bump version to 1.21.0

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agofix testsuite false positive
Denys Vlasenko [Mon, 21 Jan 2013 07:28:37 +0000 (08:28 +0100)]
fix testsuite false positive

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agomdev: fix mode of dir1 in =dir1/dir2/file rule
Denys Vlasenko [Mon, 21 Jan 2013 00:22:12 +0000 (01:22 +0100)]
mdev: fix mode of dir1 in =dir1/dir2/file rule

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agoifconfig: do not accept "ifconfig eth0 up 1.2.3.4/17" (ip with mask). Closes 5786
Denys Vlasenko [Sun, 20 Jan 2013 17:10:12 +0000 (18:10 +0100)]
ifconfig: do not accept "ifconfig eth0 up 1.2.3.4/17" (ip with mask). Closes 5786

function                                             old     new   delta
ifconfig_main                                       1221    1237     +16

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agogrep: fix grep -Fw not respecting the -w option. Closes 5792
Denys Vlasenko [Sun, 20 Jan 2013 15:57:19 +0000 (16:57 +0100)]
grep: fix grep -Fw not respecting the -w option. Closes 5792

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agosyslogd: do not segfault on parse error when using default config. Closes 5762
Denys Vlasenko [Sun, 20 Jan 2013 15:05:41 +0000 (16:05 +0100)]
syslogd: do not segfault on parse error when using default config. Closes 5762

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agosha3: code shrink
Denys Vlasenko [Sat, 19 Jan 2013 23:38:09 +0000 (00:38 +0100)]
sha3: code shrink

function                                             old     new   delta
sha3_hash                                            155     101     -54

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agosyslogd: convert dummy functions to statics and get rid of IF_FEATURE_* checks
Peter Korsgaard [Sun, 6 Jan 2013 12:11:04 +0000 (13:11 +0100)]
syslogd: convert dummy functions to statics and get rid of IF_FEATURE_* checks

As suggested by Mike. No bloat-o-meter difference, but a bit nicer to look at.
We cannot convert the call to log_to_shmem() as it checks for G.shbuf outside
the function, and G.shbuf is only available when IPC support is enabled.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agodc: code shrink
Denys Vlasenko [Fri, 18 Jan 2013 12:30:13 +0000 (13:30 +0100)]
dc: code shrink

function                                             old     new   delta
stack_machine                                        103     101      -2
operators                                            176     168      -8

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agoash: revert wrong "fix" for an apparent memory leak. Closes 5822
Denys Vlasenko [Thu, 17 Jan 2013 12:02:27 +0000 (13:02 +0100)]
ash: revert wrong "fix" for an apparent memory leak. Closes 5822

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agocode shrink
Denys Vlasenko [Thu, 17 Jan 2013 10:02:21 +0000 (11:02 +0100)]
code shrink

function                                             old     new   delta
applet_name_compare                                   36      31      -5
find_applet_by_name                                   43      25     -18

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agofix a typo in config help text. Closes 5714
Denys Vlasenko [Thu, 17 Jan 2013 09:24:51 +0000 (10:24 +0100)]
fix a typo in config help text. Closes 5714

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agomount: fix -o user=foo mishandling, fix unc= generation, add prefixpath=
Bernhard Reutner-Fischer [Thu, 17 Jan 2013 01:30:35 +0000 (02:30 +0100)]
mount: fix -o user=foo mishandling, fix unc= generation, add prefixpath=

function                                             old     new   delta
singlemount                                         1019    1049     +30
packed_usage                                       29252   29257      +5
parse_mount_options                                  230     232      +2
mount_option_str                                     337     338      +1
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 4/0 up/down: 38/0)               Total: 38 bytes

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agosha3: s/sha3_process_block76/sha3_process_block72/
Denys Vlasenko [Wed, 16 Jan 2013 11:23:23 +0000 (12:23 +0100)]
sha3: s/sha3_process_block76/sha3_process_block72/

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agosha3: rename KeccakF->sha3_process_block76.
Denys Vlasenko [Wed, 16 Jan 2013 01:20:31 +0000 (02:20 +0100)]
sha3: rename KeccakF->sha3_process_block76.

This brings the naming more in line with other hashes.
Pulled most statics and constants into it.
Also noticed that two byte arrays are 1 element too big.

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agomount: add unc option to CIFS mount (needed for Linux 3.4+)
Martin Santesson [Tue, 15 Jan 2013 23:47:19 +0000 (00:47 +0100)]
mount: add unc option to CIFS mount (needed for Linux 3.4+)

unc option for CIFS mount is mandatory after CIFS option parsing
was rewritten in Linux 3.4

Signed-off-by: Martin Santesson <martinsn@axis.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agosha3: cache ctx->bytes_queued
Denys Vlasenko [Tue, 15 Jan 2013 21:19:24 +0000 (22:19 +0100)]
sha3: cache ctx->bytes_queued

function                                             old     new   delta
sha3_hash                                            171     155     -16

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agosha3: remove two "small code" codepaths: I can't reproduce code size win on them...
Denys Vlasenko [Tue, 15 Jan 2013 21:07:48 +0000 (22:07 +0100)]
sha3: remove two "small code" codepaths: I can't reproduce code size win on them anymore

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agosha3: tweak choice of a fast code path for 64-bit
Denys Vlasenko [Tue, 15 Jan 2013 20:50:41 +0000 (21:50 +0100)]
sha3: tweak choice of a fast code path for 64-bit

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agosha3: cosmetic tweaks to various names, comments. No logic changes.
Denys Vlasenko [Tue, 15 Jan 2013 18:52:30 +0000 (19:52 +0100)]
sha3: cosmetic tweaks to various names, comments. No logic changes.

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agosha3: code shrink
Denys Vlasenko [Tue, 15 Jan 2013 15:27:39 +0000 (16:27 +0100)]
sha3: code shrink

function                                             old     new   delta
KeccakF                                             1053    1078     +25
KeccakF_RoundConstants                               192      48    -144

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agosha3: code shrink
Denys Vlasenko [Tue, 15 Jan 2013 14:22:30 +0000 (15:22 +0100)]
sha3: code shrink

function                                             old     new   delta
KeccakF                                             1064    1053     -11

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agosha3: another speedup for SHA3_SMALL=0 case
Denys Vlasenko [Tue, 15 Jan 2013 13:47:05 +0000 (14:47 +0100)]
sha3: another speedup for SHA3_SMALL=0 case

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agowhitespace fixes. no code changes
Denys Vlasenko [Tue, 15 Jan 2013 12:58:01 +0000 (13:58 +0100)]
whitespace fixes. no code changes

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agosha3: make size/speed optimization decision configurable
Denys Vlasenko [Tue, 15 Jan 2013 00:12:26 +0000 (01:12 +0100)]
sha3: make size/speed optimization decision configurable

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agowhitespace cleanup. no code changes
Denys Vlasenko [Mon, 14 Jan 2013 14:57:44 +0000 (15:57 +0100)]
whitespace cleanup. no code changes

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agosha3sum: new applet
Lauri Kasanen [Mon, 14 Jan 2013 04:20:50 +0000 (05:20 +0100)]
sha3sum: new applet

function                                             old     new   delta
KeccakF                                                -     496    +496
KeccakF_RoundConstants                                 -     192    +192
sha3_hash                                              -     171    +171
sha3_end                                               -      40     +40
hash_file                                            274     299     +25
KeccakF_RotationConstants                              -      25     +25
KeccakF_PiLane                                         -      25     +25
packed_usage                                       29213   29232     +19
sha3_begin                                             -      18     +18
KeccakF_Mod5                                           -      10     +10
applet_names                                        2445    2453      +8
applet_main                                         1420    1424      +4
applet_nameofs                                       710     712      +2
------------------------------------------------------------------------------
(add/remove: 8/0 grow/shrink: 9/7 up/down: 1049/-54)         Total: ~995 bytes

Signed-off-by: Lauri Kasanen <curaga@operamail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agontpd: fix incorrect m_status field in outgoing packets. Closes 5120
Paul Marks [Mon, 14 Jan 2013 01:39:10 +0000 (02:39 +0100)]
ntpd: fix incorrect m_status field in outgoing packets. Closes 5120

When using busybox ntpd with an NTPv3 client and NTPv4 server (or vice
versa), the version numbers can be incorrectly ORed together, yielding
the bogus value of "NTPv7".  This makes ntpd unusable with clients
such as Chrony and Windows "Internet Time".

This patch avoids the version mangling, by copying only the Leap
Indicator bits from the server's status field.

Signed-off-by: Paul Marks <paul@pmarks.net>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agoRemove redundant 'config FEATURE_VOLUMEID_SQUASHFS'
Denys Vlasenko [Mon, 14 Jan 2013 01:24:27 +0000 (02:24 +0100)]
Remove redundant 'config FEATURE_VOLUMEID_SQUASHFS'

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agovolume_id: add squashfs detection
Sven-Göran Bergh [Mon, 14 Jan 2013 01:21:41 +0000 (02:21 +0100)]
volume_id: add squashfs detection

function                                             old     new   delta
volume_id_probe_squashfs                               -      74     +74
fs1                                                   12      16      +4

Signed-off-by: Sven-Göran Bergh <sgb@systemasis.org>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agowhitespace fixes. no code changes
Denys Vlasenko [Mon, 14 Jan 2013 00:34:48 +0000 (01:34 +0100)]
whitespace fixes. no code changes

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agovolume_id: uuid_format small code shrink
Sven-Göran Bergh [Sun, 13 Jan 2013 23:50:49 +0000 (00:50 +0100)]
volume_id: uuid_format small code shrink

function                                             old     new   delta
volume_id_set_uuid                                   318     300     -18

Signed-off-by: Sven-Göran Bergh <sgb@systemasis.org>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agovolume_id: display hfs[+] 128-bit UUID properly
Sven-Göran Bergh [Sun, 13 Jan 2013 23:37:00 +0000 (00:37 +0100)]
volume_id: display hfs[+] 128-bit UUID properly

Signed-off-by: Sven-Göran Bergh <sgb@systemasis.org>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agoblkid: add type display for hfsplus
Sven-Göran Bergh [Sun, 13 Jan 2013 23:35:31 +0000 (00:35 +0100)]
blkid: add type display for hfsplus

Signed-off-by: Sven-Göran Bergh <sgb@systemasis.org>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agosyslogd: add option to log to Linux kernel printk buffer
Peter Korsgaard [Sat, 5 Jan 2013 23:07:19 +0000 (00:07 +0100)]
syslogd: add option to log to Linux kernel printk buffer

Why invent our own shared memory circular buffer when the kernel has a
perfectly fine one already?

This can be used as a smaller/simpler alternative to the syslogd IPC support
(as IPC shmem/klogd/logread aren't needed), while also allowing centralised
logging of everything (kernel messages, userspace bootup and syslog)
when used together with ttyprintk.

Notice that kernel 3.5+ is needed to store syslog facility in printk buffer,
otherwise only the priority is stored.

bloat-o-meter compared to IPC+klogd+logread:
function                                             old     new   delta
get_linux_version_code                                 -      84     +84
lbb_prepare                                           25      90     +65
applet_nameofs                                         6       -      -6
static.stdout@@GLIBC_2                                 8       -      -8
applet_names                                          23       9     -14
bb_msg_standard_output                                16       -     -16
init_sem                                              18       -     -18
xatoull_range                                         19       -     -19
overlapping_strcpy                                    21       -     -21
init_data                                             56      32     -24
applet_main                                           24       -     -24
main                                                 124      99     -25
full_write2_str                                       26       -     -26
error_exit                                            26       -     -26
bb_basename                                           30       -     -30
sem_up                                                32       -     -32
interrupted                                           35       -     -35
fflush_stdout_and_exit                                38       -     -38
bb_banner                                             46       -     -46
find_applet_by_name                                   59       -     -59
bb_signals_recursive_norestart                        90       -     -90
run_applet_no_and_exit                               104       -    -104
timestamp_and_log                                    651     523    -128
syslogd_main                                         798     581    -217
xstrtoull_range_sfx                                  267       -    -267
run_applet_and_exit                                  432       -    -432
klogd_main                                           490       -    -490
logread_main                                         508       -    -508
.rodata                                             1870     937    -933
bb_common_bufsiz1                                   8193       -   -8193
------------------------------------------------------------------------------
(add/remove: 2/26 grow/shrink: 1/6 up/down: 149/-11829)    Total: -11680 bytes

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
11 years agoklogd: handle multi-char log levels
Peter Korsgaard [Sat, 5 Jan 2013 23:07:18 +0000 (00:07 +0100)]
klogd: handle multi-char log levels

Since Linux 3.5 (7ff9554bb5: printk: convert byte-buffer to variable-length
record buffer), klog buffer can now contain log lines with multi-char
loglevel indicators (<[0-9]+>) - So use strtoul to parse it.

function                                             old     new   delta
klogd_main                                           490     525     +35
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/0 up/down: 35/0)               Total: 35 bytes

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
11 years agodmesg: handle multi-char log levels
Peter Korsgaard [Sat, 5 Jan 2013 23:07:17 +0000 (00:07 +0100)]
dmesg: handle multi-char log levels

Since Linux 3.5 (7ff9554bb5: printk: convert byte-buffer to variable-length
record buffer), klog buffer can now contain log lines with multi-char
loglevel indicators (<[0-9]+>) - So we can no longer just skip 3 bytes.

Instead skip past the terminating '>' like util-linux does.

function                                             old     new   delta
dmesg_main                                           266     280     +13
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/0 up/down: 13/0)               Total: 13 bytes

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
11 years agopowertop: fix error message
Lauri Hintsala [Fri, 4 Jan 2013 08:51:57 +0000 (10:51 +0200)]
powertop: fix error message

Application tries to use timer_stats module instead of cpufreq_stats.
Error message is printed if opening of the file /proc/timer_stats fails.

Signed-off-by: Lauri Hintsala <lauri.hintsala@bluegiga.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
11 years agoifenslave: fix missing close paren
Mike Frysinger [Wed, 26 Dec 2012 22:12:26 +0000 (17:12 -0500)]
ifenslave: fix missing close paren

Reported-by: David J Cozatt <ygdrasil@comcast.net>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
11 years agoCONFIG_PID_FILE_PATH: new configuration option for pidfile paths
Anthony G. Basile [Mon, 10 Dec 2012 19:49:39 +0000 (14:49 -0500)]
CONFIG_PID_FILE_PATH: new configuration option for pidfile paths

We set a default path for the directory where pidfiles are create
when FEATURE_PIDFILE is selected.  The default has no effect on
applets which must specify a pidfile path on the command line to
run, and it can be overridden by applets which optionally allow
the user to specify the pidfile path.

We also add pidfile write/remove support for klogd, ntpd and watchdog.
For syslogd, we add a missing remove_pidfile() for better cleanup
on daemon exit.

Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
11 years agodu: document incompatibility with standard tool
Denys Vlasenko [Fri, 14 Dec 2012 16:14:11 +0000 (17:14 +0100)]
du: document incompatibility with standard tool

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agodecompress_uncompress: comment out a bigger chunk of debug code
Denys Vlasenko [Wed, 5 Dec 2012 10:08:30 +0000 (11:08 +0100)]
decompress_uncompress: comment out a bigger chunk of debug code

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agodecompress_uncompress: comment out debug printout on corrupted data
Denys Vlasenko [Wed, 5 Dec 2012 00:06:05 +0000 (01:06 +0100)]
decompress_uncompress: comment out debug printout on corrupted data

99% plus of all people who'll get corrupted archive wouldn't bother
debugging it. The rest can uncomment the code.

function                                             old     new   delta
unpack_Z_stream                                     1304    1234     -70

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agodecompress_uncompress: move 'code' variable into loop - sole user
Denys Vlasenko [Wed, 5 Dec 2012 00:04:54 +0000 (01:04 +0100)]
decompress_uncompress: move 'code' variable into loop - sole user

Apparently, gcc does this optimization itself, since generated code is the same.

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
12 years agoash: fix a memory leak
Jon Tollefson [Tue, 13 Nov 2012 18:26:53 +0000 (19:26 +0100)]
ash: fix a memory leak

The script which triggers the leak:

while true
  do
    while true
      do
        break;
    done</dev/null
done

Signed-off-by: Jon Tollefson <kniht@linux.vnet.ibm.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
12 years agovolume_id: add exFAT detection
S-G Bergh [Tue, 13 Nov 2012 13:40:37 +0000 (14:40 +0100)]
volume_id: add exFAT detection

function                                             old     new   delta
volume_id_probe_exfat                                  -     294    +294

Signed-off-by: S-G Bergh <sgb@systemasis.org>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
12 years agoifupdown: code shrink
Denys Vlasenko [Fri, 9 Nov 2012 16:16:40 +0000 (17:16 +0100)]
ifupdown: code shrink

function                                             old     new   delta
execute                                              571     548     -23

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
12 years agoifupdown: remove unused errno assignments
Denys Vlasenko [Mon, 5 Nov 2012 13:18:36 +0000 (14:18 +0100)]
ifupdown: remove unused errno assignments

function                                             old     new   delta
execute                                              607     571     -36

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
12 years agoifupdown: simple code shrink
Denys Vlasenko [Mon, 5 Nov 2012 12:22:56 +0000 (13:22 +0100)]
ifupdown: simple code shrink

function                                             old     new   delta
execute                                              631     607     -24

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
12 years agoblkid: show filesystem when both label and UUID are missing, but type is known
S-G Bergh [Mon, 5 Nov 2012 12:16:07 +0000 (13:16 +0100)]
blkid: show filesystem when both label and UUID are missing, but type is known

Signed-off-by: S-G Bergh <sgb@systemasis.org>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
12 years agobuild system: use pkg-config to look up selinux libs
Mike Frysinger [Sat, 20 Oct 2012 19:01:26 +0000 (15:01 -0400)]
build system: use pkg-config to look up selinux libs

Newer versions of libselinux has started linking against more libs.
Rather than continuing hardcoding things, switch to using pkg-config
to query for its dependencies.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
12 years agofbsplash: fix regression from e4fa7b7
Timo Teräs [Wed, 17 Oct 2012 17:39:34 +0000 (19:39 +0200)]
fbsplash: fix regression from e4fa7b7

commit e4fa7b7 (limit progress bar flicker) made the progress bar
counter unsigned causing i < 0 to never come true.

Signed-off-by: Timo Teräs <timo.teras@iki.fi>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
12 years agonanddump: invert the meaning of the -o parameter to match upstream
Baruch Siach [Mon, 15 Oct 2012 12:32:23 +0000 (14:32 +0200)]
nanddump: invert the meaning of the -o parameter to match upstream

Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
12 years agonanddump: skip bad blocks when instructed to do so
Baruch Siach [Mon, 15 Oct 2012 12:25:26 +0000 (14:25 +0200)]
nanddump: skip bad blocks when instructed to do so

Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
12 years agonanddump: use the right operator of logic AND
Baruch Siach [Mon, 15 Oct 2012 12:21:45 +0000 (14:21 +0200)]
nanddump: use the right operator of logic AND

Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
12 years agomktemp: fix mktemp -u temp.XXXXXX returning garbage when TMPDIR is set
Ron Yorston [Mon, 8 Oct 2012 09:47:22 +0000 (11:47 +0200)]
mktemp: fix mktemp -u temp.XXXXXX returning garbage when TMPDIR is set

Use mktemp instead of tempnam for compatibility with real mktemp.
Don't let mktemp fail silently, print some simple error messages.
Don't ignore -q.

Signed-off-by: Tito Ragusa <farmatito@tiscali.it>
Signed-off-by: Ron Yorston <rmy@tigress.co.uk>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
12 years agoadduser: make it accept "adduser USER GROUP" form
Tito Ragusa [Mon, 8 Oct 2012 09:18:08 +0000 (11:18 +0200)]
adduser: make it accept "adduser USER GROUP" form

Signed-off-by: Tito Ragusa <farmatito@tiscali.it>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
12 years agomark get_shell_name FAST_FUNC
Denys Vlasenko [Wed, 3 Oct 2012 07:42:21 +0000 (09:42 +0200)]
mark get_shell_name FAST_FUNC

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
12 years agotop/ps: argv0:"gdm-session-worker [pam/gdm-password]" == comm:"gdm-session-wor"
Denys Vlasenko [Tue, 2 Oct 2012 09:31:37 +0000 (11:31 +0200)]
top/ps: argv0:"gdm-session-worker [pam/gdm-password]" == comm:"gdm-session-wor"

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
12 years agoash: implement export -n
Denys Vlasenko [Mon, 1 Oct 2012 11:41:17 +0000 (13:41 +0200)]
ash: implement export -n

function                                             old     new   delta
exportcmd                                            129     175     +46

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
12 years agobrctl: fix description and usage
Nicolas Thill [Tue, 25 Sep 2012 12:06:01 +0000 (14:06 +0200)]
brctl: fix description and usage

brctl uncorrectly displays the "showmacs" command as being supported while
it is not, remove it from the usage and Config.src file.

Signed-off-by: Nicolas Thill <nico@openwrt.org>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
12 years agoudhcpc[6]: allow discover_retries == 0 (infinite)
Felix Fietkau [Thu, 27 Sep 2012 14:22:24 +0000 (16:22 +0200)]
udhcpc[6]: allow discover_retries == 0 (infinite)

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
12 years agoflashcp: remove unused variable opts
Manuel Zerpies [Thu, 27 Sep 2012 14:06:34 +0000 (16:06 +0200)]
flashcp: remove unused variable opts

Signed-off-by: Manuel Zerpies <manuel.f.zerpies@ww.stud.uni-erlangen.de>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
12 years agolineedit: in !EDITING config, return -1 on fgets error
Denys Vlasenko [Thu, 27 Sep 2012 14:03:49 +0000 (16:03 +0200)]
lineedit: in !EDITING config, return -1 on fgets error

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
12 years agofix unsafe bb_perror_msg(filename) calls
Denys Vlasenko [Thu, 27 Sep 2012 13:35:10 +0000 (15:35 +0200)]
fix unsafe bb_perror_msg(filename) calls

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
12 years agoscripts/kconfig/mconf: work on systems w/o SIGWINCH
Denys Vlasenko [Thu, 27 Sep 2012 13:26:40 +0000 (15:26 +0200)]
scripts/kconfig/mconf: work on systems w/o SIGWINCH

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
12 years agolibbb: correctness/size tweaks in signal-related helpers
Denys Vlasenko [Thu, 27 Sep 2012 11:20:34 +0000 (13:20 +0200)]
libbb: correctness/size tweaks in signal-related helpers

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
12 years agotop: do not touch stdin if -b
Denys Vlasenko [Wed, 26 Sep 2012 14:58:25 +0000 (16:58 +0200)]
top: do not touch stdin if -b

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
12 years agomodprobe_small: make rmmod to NOT remove dependencies. Closes 5162
Denys Vlasenko [Tue, 25 Sep 2012 18:37:38 +0000 (20:37 +0200)]
modprobe_small: make rmmod to NOT remove dependencies. Closes 5162

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
12 years agoash: trivial fixes for compile failures
Denys Vlasenko [Tue, 25 Sep 2012 10:49:29 +0000 (12:49 +0200)]
ash: trivial fixes for compile failures

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
12 years agotop: fix build failure in !USE_TERMIOS case
Denys Vlasenko [Tue, 25 Sep 2012 10:48:46 +0000 (12:48 +0200)]
top: fix build failure in !USE_TERMIOS case

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
12 years agops: fix build failure in !DESKTOP case
Denys Vlasenko [Tue, 25 Sep 2012 10:48:10 +0000 (12:48 +0200)]
ps: fix build failure in !DESKTOP case

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
12 years agotop: implement scrolling up/down (_very_ useful)
Denys Vlasenko [Fri, 21 Sep 2012 11:04:37 +0000 (13:04 +0200)]
top: implement scrolling up/down (_very_ useful)

function                                             old     new   delta
handle_input                                         494     564     +70
top_main                                             928     947     +19
display_topmem_process_list                          363     381     +18
display_process_list                                1442    1453     +11
clearmems                                             38      28     -10
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 4/1 up/down: 118/-10)           Total: 108 bytes

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
12 years agoushcpc: gracefully handle packets with CHECKSUM_PARTIAL
Alexey Froloff [Mon, 17 Sep 2012 14:02:44 +0000 (16:02 +0200)]
ushcpc: gracefully handle packets with CHECKSUM_PARTIAL

function                                             old     new   delta
udhcp_recv_raw_packet                                415     579    +164
change_listen_mode                                   317     370     +53
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 2/0 up/down: 217/0)             Total: 217 bytes

Signed-off-by: Alexey Froloff <raorn@raorn.name>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
12 years agotelnet: convert Enter -> CR LF in line mode too
Denys Vlasenko [Mon, 17 Sep 2012 09:54:35 +0000 (11:54 +0200)]
telnet: convert Enter -> CR LF in line mode too

function                                             old     new   delta
handle_net_output                                     87      98     +11

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
12 years agotelnet: shrink literal string size
Denys Vlasenko [Mon, 17 Sep 2012 09:53:09 +0000 (11:53 +0200)]
telnet: shrink literal string size

   text    data     bss     dec     hex filename
 888483     497    7584  896564   dae34 busybox_old
 888450     497    7584  896531   dae13 busybox_unstripped

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
12 years agotelnet: convert CR -> CR LF, not CR -> CR NUL when sending data to server
Denys Vlasenko [Thu, 13 Sep 2012 11:00:49 +0000 (13:00 +0200)]
telnet: convert CR -> CR LF, not CR -> CR NUL when sending data to server

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
12 years agofbsplash: support non-RGB565 pixels in 16-bit mode
Linus Walleij [Thu, 6 Sep 2012 14:52:31 +0000 (16:52 +0200)]
fbsplash: support non-RGB565 pixels in 16-bit mode

function                                             old     new   delta
fbsplash_main                                        953     989     +36
fb_pixel_value                                        80     110     +30

Signed-off-by: Linus Walleij <triad@df.lth.se>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
12 years agofind: make -mindepth N -xdev correctly stop on mountpoints
Denys Vlasenko [Thu, 6 Sep 2012 13:24:11 +0000 (15:24 +0200)]
find: make -mindepth N -xdev correctly stop on mountpoints

function                                             old     new   delta
fileAction                                           153     193     +40

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
12 years agoash: fix "read -s" + ^C. Closes 5504
Denys Vlasenko [Thu, 6 Sep 2012 11:28:10 +0000 (13:28 +0200)]
ash: fix "read -s" + ^C. Closes 5504

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
12 years agotop: fix "last CPU" parsing
Denys Vlasenko [Thu, 6 Sep 2012 10:43:22 +0000 (12:43 +0200)]
top: fix "last CPU" parsing

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
12 years agosysctl: implement -q
Joshua Kahlenberg [Wed, 5 Sep 2012 16:15:12 +0000 (18:15 +0200)]
sysctl: implement -q

function                                             old     new   delta
packed_usage                                       29208   29223     +15
sysctl_act_recursive                                 605     598      -7
sysctl_main                                          233     222     -11

Signed-off-by: Joshua Kahlenberg <jbkberg@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
12 years agorefactor correct_password.c to avoid one if
walter harms [Tue, 4 Sep 2012 10:26:20 +0000 (12:26 +0200)]
refactor correct_password.c to avoid one if

Signed-off-by: walter harms <wharms@bfs.de>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
12 years agobuild system: stop .eh_frame generation
Denys Vlasenko [Tue, 4 Sep 2012 09:46:44 +0000 (11:46 +0200)]
build system: stop .eh_frame generation

From Rich Felker:

By default, modern GCC generates DWARF2 debug/unwind tables in the
.eh_frame section of the object files/binaries. This adds significant
bloat (as much as 15%) to the size of the busybox binary, including
the portion mapped/loaded into memory at runtime (possibly a big issue
for NOMMU targets), and the section is not strippable with the strip
command due to being part of the loaded program text.

I've since done some further checking - both testing and asking the
GCC developers about it - and it seems the solution is to add to the
CFLAGS -fno-unwind-tables and -fno-asynchronous-unwind-tables. If
debugging is disabled, this will prevent GCC from outputting DWARF2
tables entirely. But since busybox builds with -g by default, the
interesting case is what happens then. I originally thought these
options would break debugging, but they don't; instead, they tell GCC
to output the DWARF2 tables in the .debug_frame section instead of
the newish .eh_frame section (used for exception handling). With these
options added, busybox_unstripped is still fully debuggable, and the
final busybox binary loses the 15% bloat factor from the DWARF2
tables.

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>