Commit Graph

13036 Commits

Author SHA1 Message Date
Denys Vlasenko
507f6ea6d2 decompress_unlzma: move function, no code changes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-03-01 14:48:10 +01:00
Denys Vlasenko
a2d04e0702 decompress_unlzma: 10% speedup in "small" code
text	   data	    bss	    dec	    hex	filename
   1796	      0	      0	   1796	    704	decompress_unlzma.o
   1801	      0	      0	   1801	    709	decompress_unlzma.o

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-03-01 14:43:07 +01:00
Denys Vlasenko
c09fd27c0a decompress_unlzma: make "fast" version a bit smaller
It is not slower. In fact it seems a tiny bit faster too.

   text	   data	    bss	    dec	    hex	filename
   2827	      0	      0	   2827	    b0b	decompress_unlzma.o
   2797	      0	      0	   2797	    aed	decompress_unlzma.o

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-03-01 14:37:58 +01:00
Denys Vlasenko
2fe5fed2df lzop: fiq -q and OPTION_DECOMPRESS mismatch
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-03-01 08:25:45 +01:00
Mike Frysinger
08e28e806d bbunzip: fix order of flags vs bit defines
Too much code shuffling.

Reported-by: Mandeep Singh Baines <msb@chromium.org>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2013-02-28 21:28:21 -05:00
Mike Frysinger
920c1baab7 bbunzip: ignore the -q flag with the decompressors
The -q flag is used in shell scripts for suppressing output.
Have our applets swallow the flag for compatibility.

Reported-by: Mandeep Singh Baines <msb@chromium.org>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2013-02-28 17:21:50 -05:00
Denys Vlasenko
fb03663619 ifupdown: support "source" stanza in /etc/network/interfaces
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-02-28 19:01:28 +01:00
Denys Vlasenko
41655438c6 zcat: fix "zcat FILE" trying to do detection twice
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-02-28 18:37:04 +01:00
Denys Vlasenko
8e96efa323 zcat: if seamless uncompressors are defined, autodetect file's format
function                                             old     new   delta
bbunpack                                             526     622     +96
packed_usage                                       29335   29341      +6
gunzip_main                                           64      67      +3

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-02-28 18:06:09 +01:00
Denys Vlasenko
f2d8478e56 fix error message on failure to oen /dev/null; fix zcat's help text
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-02-28 18:05:01 +01:00
Denys Vlasenko
577235dee8 code shrink in check_errors_in_children()
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-02-28 16:38:25 +01:00
Denys Vlasenko
7794c21daf pgrep: fix a "missing closing paren" build error
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-02-28 15:51:55 +01:00
Denys Vlasenko
216e952fb8 ifplugd: make -k send SIGINT, not SIGQUIT
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-02-28 12:50:09 +01:00
Bernhard Walle
47f8558eee pgrep: fix -x option
Because when -x is used (exact match), then we cannot compile the
regular expression with REG_NOSUB. The manual page regcomp(3) states
in section "Byte offsets":

    Unless REG_NOSUB was set for the compilation of the pattern
    buffer, it is possible to obtain substring match addressing
    information.

The problem was detected on an ARM system with glibc 2.16.
Signed-off-by: Bernhard Walle <bernhard@bwalle.de>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-02-28 12:42:38 +01:00
Denys Vlasenko
ed954b6855 Fix config help text
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-02-28 12:39:27 +01:00
Denys Vlasenko
efd0698f74 make --help return exitcode 0. Closes 5612
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-02-28 12:34:18 +01:00
Peter Korsgaard
5d1c599d76 run-parts: fix unicode creep in --help
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-02-28 12:25:49 +01:00
Denys Vlasenko
de6f148006 nc_bloaty: support -ll and -lk. Closes 2245
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-02-28 12:20:06 +01:00
Denys Vlasenko
a14f319805 nc: don't redirect stderr to network in -e PROG mode
This in incompatible with nc-1.10, but makes a lot of sense.

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-02-28 11:09:14 +01:00
Thomas De Schampheleire
bc0ffc0e97 nameif: fix use-after-free in ENABLE_FEATURE_CLEAN_UP code
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-02-28 10:31:54 +01:00
Denys Vlasenko
1e43a381b2 run-parts: stop providing incompatible short options
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-02-28 10:22:49 +01:00
Peter Korsgaard
0496e824a5 run-parts: add --exit-on-error | -e support
The "big" run-parts supports a handy --exit-on-error to stop execution on
errors, so lets support it as well.

Upstream doesn't have a short option for it, but I've used '-e' for busybox.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-02-28 09:59:23 +01:00
Leonid Lisovskiy
f59d563399 xz: fix put_unaligned_{l,b}e32
Signed-off-by: Leonid Lisovskiy <lly.dev@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-02-27 18:32:58 +01:00
Shawn J. Goff
46031da862 lineedit: initialize delptr
In vi mode, the 'p' and 'P' commands caused a segfault when nothing had
been put in the buffer yet because the delptr was not initialized.

Signed-off-by: Shawn J. Goff <shawn7400@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-02-27 18:30:05 +01:00
Lasse Collin
380c8a0763 xz: support concatenated .xz streams
function                                             old     new   delta
xz_dec_reset                                           -      77     +77
unpack_xz_stream                                    2402    2397      -5

Signed-off-by: Lasse Collin <lasse.collin@tukaani.org>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-02-27 17:26:40 +01:00
Lasse Collin
433757413f xz: mention xzminidec.c in README
Signed-off-by: Lasse Collin <lasse.collin@tukaani.org>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-02-27 16:41:36 +01:00
Lasse Collin
c3045edec2 xz: fix incorrect XZ_BUF_ERROR
xz_dec_run() could incorrectly return XZ_BUF_ERROR if
all of the following was true:

  - The caller knows how many bytes of output to expect
    and only provides that much output space.

  - When the last output bytes are decoded, the
    caller-provided input buffer ends right before
    the LZMA2 end of payload marker. So LZMA2 won't
    provide more output anymore, but it won't know it
    yet and thus won't return XZ_STREAM_END yet.

  - A BCJ filter is in use and it hasn't left any
    unfiltered bytes in the temp buffer. This can happen
    with any BCJ filter, but in practice it's more likely
    with filters other than the x86 BCJ.

This fixes <https://bugzilla.redhat.com/show_bug.cgi?id=735408>
where Squashfs thinks that a valid file system is corrupt.
Thanks to Jindrich Novy for telling me that such a bug report
exists, Phillip Lougher for providing excellent debug info,
and other people on #fedora-ppc.

This also fixes a similar bug in single-call mode where the
uncompressed size of a XZ Block using BCJ + LZMA2 was 0 bytes
and caller provided no output space. Many empty .xz files
don't contain any Blocks and thus don't trigger this bug.

This also tweaks a closely related detail: xz_dec_bcj_run()
could call xz_dec_lzma2_run() to decode into temp buffer when
it was known to be useless. This was harmless although it
wasted a minuscule number of CPU cycles.

Signed-off-by: Lasse Collin <lasse.collin@tukaani.org>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-02-27 16:39:56 +01:00
Lasse Collin
a1ae2b75a7 xz: fix decoding of LZMA2 streams having no uncompressed data.
No .xz encoder creates files with empty LZMA2 streams,
but such files would still be valid and decompressors
must accept them.

Note that empty .xz files are a different thing than
empty LZMA2 streams. This bug didn't affect typical .xz
files that had no uncompressed data.

Signed-off-by: Lasse Collin <lasse.collin@tukaani.org>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-02-27 16:38:06 +01:00
Lasse Collin
efb800439f cz: add C++ support to xz.h
Signed-off-by: Lasse Collin <lasse.collin@tukaani.org>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-02-27 16:37:18 +01:00
Lasse Collin
aada3126a7 xz: remove an empty line from xz_dec_lzma2.c
Signed-off-by: Lasse Collin <lasse.collin@tukaani.org>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-02-27 16:36:17 +01:00
Lasse Collin
b967e42b77 xz: make bcj_x86_test_msbyte() an inline function
Signed-off-by: Lasse Collin <lasse.collin@tukaani.org>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-02-27 16:34:06 +01:00
Lasse Collin
18714d8460 xz: add a comment about using uint32_t as vli_type
Signed-off-by: Lasse Collin <lasse.collin@tukaani.org>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-02-27 16:32:03 +01:00
Lasse Collin
9056fcecbf xz: avoid "NOTE:" in xz.h
Signed-off-by: Lasse Collin <lasse.collin@tukaani.org>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-02-27 16:28:33 +01:00
Lasse Collin
3a7b2417f9 xz: update README
Signed-off-by: Lasse Collin <lasse.collin@tukaani.org>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-02-27 16:26:03 +01:00
Lasse Collin
04f296b28a xz: omit explicit \0 from HEADER_MAGIC
Signed-off-by: Lasse Collin <lasse.collin@tukaani.org>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-02-27 16:23:24 +01:00
Denys Vlasenko
e3e321682c Fix move_to_unaligned16
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-02-27 15:49:38 +01:00
Denys Vlasenko
5bce135e36 mdev: improve $SEQ handling; improve debug logging
Sequential run of concurrent mdev's was too simplistic:
they waited for /dev/mdev.seq to match. This could sometimes
cause cumulative loss of time on the order of a second.

Added SIGCHLD signaling from exiting mdev to all other mdev's.
Added debugging required to see that code actually works as intended.

Example of /dev/mdev.log (with "woken up" elevated from dbg lvl 3 to 2):

mdev[1023]: first seq written
     ^^^^ seq, not pid
mdev[1023]: 35.022395 ACTION:add SUBSYSTEM:module DEVNAME:(null) DEVPATH:/module/lib80211
mdev[1023]: rule matched, line -1
                          ^^^^^^^ means "default rule"
mdev[1023]: 35.022676 exiting
            ^^^^^^^^^ second,usec timestamp
mdev[1024]: 35.069691 ACTION:add SUBSYSTEM:vc DEVNAME:vcs9 DEVPATH:/devices/virtual/vc/vcs9
mdev[1024]: dev 7,9
mdev[1025]: 35.069889 waiting for '1024'
mdev[1026]: 35.069946 waiting for '1024'
mdev[1027]: 35.070151 waiting for '1024'
mdev[1024]: rule matched, line -1
mdev[1024]: mknod vcs9 (7,9) 20660 0:0
mdev[1024]: 35.070346 exiting
mdev[1025]: woken up
mdev[1026]: woken up
mdev[1025]: 35.071213 ACTION:add SUBSYSTEM:vc DEVNAME:vcsa9 DEVPATH:/devices/virtual/vc/vcsa9
            ^^^^^^^^^ took only a millisecond to start running after prev mdev exited
mdev[1025]: dev 7,137
mdev[1027]: woken up
mdev[1025]: rule matched, line -1
mdev[1025]: mknod vcsa9 (7,137) 20660 0:0
mdev[1025]: 35.072109 exiting

function                                             old     new   delta
mdev_main                                            849    1372    +523
curtime                                                -      59     +59
dirAction                                             87     134     +47
static.ts                                              -       8      +8
keywords                                              19      12      -7
make_device                                         2189    2119     -70

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-02-27 10:51:41 +01:00
Mike Frysinger
9fed24c031 udhcpc: tweak math shell style with the metric var
Some shells (like dash) are lame and omit the POSIX increment/decrement
feature (because it is listed as optional).  Tweak the shell script to
work in all POSIX variants.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2013-02-27 01:05:34 -05:00
Mike Frysinger
39b8fb41c5 udhcpc: support resolv.conf symlinks
Often it is desirable to have /etc/ be on read-only storage (well, the
whole rootfs) but have things like /etc/resolv.conf be symlinks to a
writable location.  Tweak the simple script to support that.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2013-02-27 01:01:43 -05:00
Denys Vlasenko
40b97fb31e mdev: add environment variable match
function                                             old     new   delta
make_device                                         1998    2189    +191
clean_up_cur_rule                                     61      96     +35
dirAction                                             75      87     +12
mdev_main                                            838     849     +11
packed_usage                                       29272   29273      +1
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 5/0 up/down: 250/0)             Total: 250 bytes

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-02-26 00:40:46 +01:00
Denys Vlasenko
1961aea305 move endofname() to libbb
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-02-26 00:36:53 +01:00
Denys Vlasenko
3305c008ed tail: make help text for -n +N syntax more correct
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-02-25 07:24:44 +01:00
Denys Vlasenko
40c6da433f head: support -n -NUM and -c -NUM
function                                             old     new   delta
head_main                                            406     832    +426
packed_usage                                       29234   29252     +18
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 2/0 up/down: 444/0)             Total: 444 bytes

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-02-25 01:26:09 +01:00
Denys Vlasenko
af0255f496 head,tail: use common suffix struct. simplify help text.
function                                             old     new   delta
head_tail_suffixes                                     -      32     +32
head_main                                            415     406      -9
packed_usage                                       29252   29234     -18
tail_suffixes                                         32       -     -32
head_suffixes                                         32       -     -32
------------------------------------------------------------------------------
(add/remove: 2/2 grow/shrink: 0/2 up/down: 32/-91)            Total: -59 bytes
   text    data     bss     dec     hex filename
 890474     497    7584  898555   db5fb busybox_old
 890415     497    7584  898496   db5c0 busybox_unstripped

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-02-25 01:24:32 +01:00
Denys Vlasenko
8e6a1ea825 rpm: unmap rpm file before working with next one
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-02-20 16:01:48 +01:00
Denys Vlasenko
d4d4f3528e rpm: stop using statics; move main() to the end of the source file
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-02-20 16:01:10 +01:00
Denys Vlasenko
2aec773688 rpm: use "create+rename" method of replacing existing files
Users were reporting getting errors like
"ls: error while loading shared libraries: libc.so.6: ELF load command past end of file"
while rpm was unpacking glibc tarball.

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-02-20 15:58:42 +01:00
Denys Vlasenko
10f5f9b10d rpm: make -ql display more compatible; improve help text
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-02-20 15:57:39 +01:00
Aaro Koskinen
cf5731bcbd fdisk_sun: fix partition alignment
When the display unit is sectors, the partition alignment will convert
the partition start to a wrong unit (it should always be in sectors). Fix
this.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-02-11 00:22:59 +01:00
Aaro Koskinen
1bd5ca2f53 fdisk_sun: fix corrupted partition data with blank disk
After creating Sun disk label for the first time for a blank disk,
the partition table appears corrupted because current_label_type will
never get set to a proper type. Fix this by calling check_sun_label()
after BusyBox has created the label.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-02-11 00:22:48 +01:00