Natanael Copa
71cfbce655
gzip: fix compression level bug. Closes 9131
...
fix broken logic to get the gzip_level_config value from options -1 to
-9.
This fixes an off-by-one bug that caused gzip -9 output bigger files
than the other compression levels.
It fixes so that compression level 1 to 3 are actually mapped to level 4
as comments say.
It also fixes that levels -4 to -9 is mapped to correct level and avoids
out-of-bounds access.
Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-08-15 01:26:28 +02:00
Denys Vlasenko
d2f4241d2e
cpio: tweak help text
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-07-08 12:52:24 +02:00
Denys Vlasenko
237bedd499
getopt32: add new syntax of 'o:+' and 'o:*' for -o NUM and -o LIST
...
In many cases, this aqllows to drop use of opt_complementary.
Approximately -400 bytes:
function old new delta
getopt32 1423 1502 +79
opt_string 17 18 +1
OPT_STR 24 25 +1
uniq_main 416 406 -10
timeout_main 279 269 -10
sulogin_main 270 260 -10
readprofile_main 1825 1815 -10
ps_main 543 533 -10
pidof_main 245 235 -10
pgrep_main 611 601 -10
od_main 2600 2590 -10
mkfs_minix_main 2684 2674 -10
mkfs_ext2_main 2603 2593 -10
microcom_main 712 702 -10
makemime_main 315 305 -10
ionice_main 282 272 -10
inetd_main 2074 2064 -10
ifplugd_main 1144 1134 -10
halt_main 353 343 -10
getopt_main 636 626 -10
fdisk_main 2854 2844 -10
env_main 206 196 -10
dmesg_main 319 309 -10
conspy_main 1214 1204 -10
awk_main 981 971 -10
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 3/22 up/down: 81/-220) Total: -139 bytes
text data bss dec hex filename
919373 906 14060 934339 e41c3 busybox_old
918969 906 14060 933935 e402f busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-07-06 21:58:02 +02:00
Denys Vlasenko
10c0e91786
libarchive: fix xmalloc_open_zipped_read_close()
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-06-21 02:04:16 +02:00
Denys Vlasenko
e24e88697a
typo fix
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-06-20 16:28:53 +02:00
Denys Vlasenko
df3ec0e2f7
libarchive: fix open_zipped()
...
Last commit broke it (on both MMU and NOMMU)
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-06-20 11:42:00 +02:00
Denys Vlasenko
984b0a613a
libarchive: fix xmalloc_open_zipped_read_close() on NOMMU
...
The somewhat new "unpack in memory" code was broken
for xmalloc_open_zipped_read_close() on NOMMU: we seek back
over signature, but then expect it to be already consumed.
Stop seeking back in this case.
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-06-20 11:06:42 +02:00
Denys Vlasenko
0ad872baf3
randomconfig fixes 4
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-06-20 01:40:19 +02:00
Denys Vlasenko
015db5800c
randomconfig fixes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-06-19 18:15:33 +02:00
Denys Vlasenko
3e134ebf6a
*: slap on a few ALIGN1/2s where appropriate
...
The result of looking at "grep -F -B2 '*fill*' busybox_unstripped.map"
text data bss dec hex filename
829901 4086 1904 835891 cc133 busybox_before
829665 4086 1904 835655 cc047 busybox
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-04-22 18:09:21 +02:00
Denys Vlasenko
9de2e5a222
*: hopefully all setup_common_bufsiz() are in place
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-04-21 18:38:51 +02:00
Denys Vlasenko
47cfbf32fd
*: add most of the required setup_common_bufsiz() calls
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-04-21 18:18:48 +02:00
Denys Vlasenko
e6a2f4cc5a
libbb: make bb_common_bufsiz1 1 kbyte, add capability to use bss tail for it
...
The config item is FEATURE_USE_BSS_TAIL. When it is off (default):
function old new delta
read_config 210 228 +18
doCommands 2279 2294 +15
ipneigh_list_or_flush 763 772 +9
ipaddr_list_or_flush 1256 1261 +5
display_process_list 1301 1306 +5
conspy_main 1378 1383 +5
do_lzo_compress 352 355 +3
do_lzo_decompress 565 567 +2
push 46 44 -2
inetd_main 2136 2134 -2
uevent_main 421 418 -3
addLines 97 92 -5
bb_common_bufsiz1 8193 1024 -7169
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 8/5 up/down: 62/-7181) Total: -7119 bytes
text data bss dec hex filename
829850 4086 9080 843016 cdd08 busybox_old
829901 4086 1904 835891 cc133 busybox_unstripped
FEATURE_USE_BSS_TAIL=y:
read_config 210 228 +18
doCommands 2279 2294 +15
ipneigh_list_or_flush 763 772 +9
ipaddr_list_or_flush 1256 1261 +5
display_process_list 1301 1306 +5
conspy_main 1378 1383 +5
do_lzo_compress 352 355 +3
do_lzo_decompress 565 567 +2
inetd_main 2136 2134 -2
bb_common_bufsiz1 8193 - -8193
------------------------------------------------------------------------------
(add/remove: 0/1 grow/shrink: 8/1 up/down: 62/-8195) Total: -8133 bytes
text data bss dec hex filename
829850 4086 9080 843016 cdd08 busybox_old
829911 4086 880 834877 cbd3d busybox_unstripped
FIXME: setup_common_bufsiz() calls are missing.
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-04-21 17:39:11 +02:00
Denys Vlasenko
5598bdf0d3
unzip: shorter code for date/time generation
...
function old new delta
unzip_main 2426 2414 -12
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-04-18 02:38:32 +02:00
Denys Vlasenko
07bd979921
unzip: better match for "standard" unzip's output; string shrinkage
...
function old new delta
unzip_main 2490 2426 -64
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-64) Total: -64 bytes
text data bss dec hex filename
924008 906 17160 942074 e5ffa busybox_old
923846 906 17160 941912 e5f58 busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-04-18 01:43:24 +02:00
Denys Vlasenko
bca4deee83
unzip: fix percent overflow; show "stored" files properly
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-04-18 01:14:05 +02:00
Denys Vlasenko
0ccf52a9fb
unzip: fix a case where we find wrong CDE. Closes 8821
...
function old new delta
unzip_main 2472 2490 +18
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-04-17 21:05:34 +02:00
Denys Vlasenko
c4199f22d0
libbb: two new functions: wait_for_exitstatus(pid), xfchdir(fd)
...
Bartosz Golaszewski proposed xfchdir()
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-04-01 22:12:44 +02:00
Denys Vlasenko
6bd3fff51a
[g]unzip: fix recent breakage.
...
Also, do emit error message we so painstakingly pass from gzip internals
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-10-30 23:41:53 +01:00
Denys Vlasenko
4840325351
lzop: eliminate variable, use "int" as return type
...
Based on patch by Maxin B. John <maxin.john@intel.com>
function old new delta
pack_lzop 870 859 -11
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-10-28 15:33:19 +01:00
Aaro Koskinen
cddc98eab7
gzip: add support for --no-name long option
...
Add support for --no-name long option. Just silently ignore it
like the short -n option.
This allows to use busybox gzip with Lynx browser.
Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-10-27 21:30:43 +01:00
Aaro Koskinen
fbe50cf6bc
gunzip: add support for long options
...
Add support for long options.
Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-10-27 21:28:50 +01:00
Denys Vlasenko
1de25a6e87
unzip: test for bad archive SEGVing
...
function old new delta
huft_build 1296 1300 +4
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-10-26 19:33:05 +01:00
Denys Vlasenko
db700330d8
tweak defconfig
...
MONOTONIC_SYSCALL=y by default
FEATURE_LAST_SMALL is gone: now FEATURE_LAST_FANCY is a "bool", not a "choice".
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-10-25 20:36:03 +01:00
Denys Vlasenko
0269789537
inetd: make FEATURE_INETD_RPC off by default
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-10-25 20:10:46 +01:00
Denys Vlasenko
537389cedd
tar: fix files skipped with --strip_components not resetting selinux context
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-10-22 13:38:09 +02:00
Denys Vlasenko
f167e4503d
tar: shrink hardlink name handling code
...
function old new delta
data_extract_all 1069 1040 -29
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-10-22 13:30:34 +02:00
Denys Vlasenko
62ae323df0
tar: implement --version for buildroot
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-10-22 13:22:26 +02:00
Denys Vlasenko
6c563e370d
tar: add support for --strip-components=N
...
function old new delta
data_extract_all 882 995 +113
tar_longopts 290 309 +19
tar_main 938 942 +4
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 3/0 up/down: 136/0) Total: 136 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-10-22 01:07:13 +02:00
Aaro Koskinen
2735bc00e3
cpio: implement -R/--owner
...
Implement -R/--owner to force ownership of files.
function old new delta
cpio_main 532 586 +54
get_header_cpio 909 939 +30
print 36 65 +29
cpio_o 804 832 +28
cpio_TRAILER - 11 +11
packed_usage 30667 30662 -5
static.trailer 11 - -11
------------------------------------------------------------------------------
(add/remove: 1/1 grow/shrink: 4/1 up/down: 152/-16) Total: 136 bytes
Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-10-16 17:24:46 +02:00
Denys Vlasenko
7b85ec30b5
*: more BUILD_BUG_ON conversions
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-10-13 17:17:34 +02:00
Denys Vlasenko
7f3a2a2256
join some common strings, -400 bytes
...
function old new delta
print_intel_cstates 499 511 +12
file_insert 355 364 +9
dpkg_main 2944 2940 -4
ifenslave_main 645 640 -5
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 2/2 up/down: 21/-9) Total: 12 bytes
text data bss dec hex filename
937564 932 17676 956172 e970c busybox_old
937164 932 17676 955772 e957c busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-10-08 11:24:44 +02:00
Maninder Singh
97f2f7ca7f
Removes stray empty line from code
...
This patch removes stray empty line from busybox code
reported by script find_stray_empty_lines
Signed-off-by: Maninder Singh <maninder1.s@samsung.com>
Signed-off-by: Akhilesh Kumar <akhilesh.k@samsung.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-07-13 03:25:46 +02:00
Denys Vlasenko
bdb540e04f
tar: do not try to decode GNU extended headers as pax headers
...
function old new delta
get_header_tar 1736 1692 -44
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-05-11 16:55:16 +02:00
Thiago Jung Bauermann
b4059f6309
libarchive: auto-detect .Z files as well
...
Signed-off-by: Thiago Jung Bauermann <bauerman@linux.vnet.ibm.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-05-03 18:40:12 +02:00
Aaro Koskinen
bbd53216f8
gzip: add support for compression levels 4-9
...
function old new delta
gzip_main 192 282 +90
static.gzip_level_config - 24 +24
packed_usage 30439 30459 +20
fill_window 216 220 +4
pack_gzip 1789 1729 -60
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 3/1 up/down: 138/-60) Total: 78 bytes
Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-04-26 14:22:37 +02:00
Denys Vlasenko
8dff01d06a
libbb: introduce and use is_prefixed_with()
...
function old new delta
is_prefixed_with - 18 +18
complete_username 78 77 -1
man_main 737 735 -2
fsck_device 429 427 -2
unpack_ar_archive 80 76 -4
strip_unsafe_prefix 105 101 -4
singlemount 1054 1050 -4
rtc_adjtime_is_utc 90 86 -4
resolve_mount_spec 88 84 -4
parse_one_line 1029 1025 -4
parse_conf 1460 1456 -4
may_wakeup 83 79 -4
loadkmap_main 219 215 -4
get_irqs_from_stat 103 99 -4
get_header_cpio 913 909 -4
findfs_main 79 75 -4
fbsplash_main 1230 1226 -4
load_crontab 776 771 -5
expand_vars_to_list 1151 1146 -5
date_main 881 876 -5
skip_dev_pfx 30 24 -6
make_device 2199 2193 -6
complete_cmd_dir_file 773 767 -6
run_applet_and_exit 715 708 -7
uudecode_main 321 313 -8
pwdx_main 197 189 -8
execute 568 560 -8
i2cdetect_main 1186 1176 -10
procps_scan 1242 1230 -12
procps_read_smaps 1017 1005 -12
process_module 746 734 -12
patch_main 1903 1891 -12
nfsmount 3572 3560 -12
stack_machine 126 112 -14
process_timer_stats 449 435 -14
match_fstype 111 97 -14
do_ipaddr 1344 1330 -14
open_list_and_close 359 343 -16
get_header_tar 1795 1779 -16
prepend_new_eth_table 340 323 -17
fsck_main 1811 1794 -17
find_iface_state 56 38 -18
dnsd_main 1321 1303 -18
base_device 179 158 -21
find_keyword 104 82 -22
handle_incoming_and_exit 2785 2762 -23
parse_and_put_prompt 774 746 -28
modinfo 347 317 -30
find_action 204 171 -33
update_passwd 1470 1436 -34
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 0/49 up/down: 18/-540) Total: -522 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-03-12 17:48:34 +01:00
Denys Vlasenko
8c06bc6ba1
unzip: prevent attacks via malicious filenames
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-02-10 01:30:43 +01:00
Denys Vlasenko
b62d4d9d57
gzip: trivial code shrink -5 bytes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-02-03 15:25:17 +01:00
Denys Vlasenko
f7f70bf1b3
gzip: speed up and shrink put_16bit()
...
function old new delta
put_16bit 104 98 -6
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-02-02 16:07:07 +01:00
Rich Felker
7f7ade1964
gzip: do not store timestamp in gzip header
...
Storing the original file's modification time in the output file is
harmful (precludes deterministic results) and unlike official gzip,
the busybox version provides no way to suppress this behavior; the -n
option is silently ignored. Rather than trying to make -n work, this
patch just removes the timestamp-storing functionality. It should be
considered deprecated anyway; it's not Y2038-safe and gunzip ignores
it by default.
Per RFC 1952, 0 is the correct value to store to indicate that there
is no timestamp.
Signed-off-by: Rich Felker <dalias@libc.org>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-02-02 16:01:16 +01:00
Denys Vlasenko
08f9ffc3f7
dpkg: update supported compression methods
...
Based on a patch by Ron Yorston <rmy@tigress.co.uk>
function old new delta
get_header_tar_xz - 60 +60
filter_accept_list_reassign 128 188 +60
unpack_package 585 621 +36
init_archive_deb_control 52 76 +24
------------------------------------------------------------------------------
(add/remove: 2/0 grow/shrink: 3/0 up/down: 180/0) Total: 180 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-01-30 15:15:38 +01:00
Denys Vlasenko
11775edbfc
randomconfig fixes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-12-22 19:37:05 +01:00
Denys Vlasenko
acb8be7217
tar: fix "tar -cJ" ignoring -J option. closes 7706
...
function old new delta
tar_main 895 938 +43
vfork_compressor 206 191 -15
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/1 up/down: 43/-15) Total: 28 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-12-11 15:34:02 +01:00
Denys Vlasenko
cfcd2399b2
make xmalloc_open_zipped_read_close result NUL terminated
...
Compat with xmalloc_open_read_close
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-12-07 00:49:55 +01:00
Denys Vlasenko
b4c11c1397
libarchive: add capability to unpack to mem.buffer
...
The performance and number of processes for a "depmod -a" with gzipped
modules was abysmal. This patch adds a code path without fork,
benefiting all users of xmalloc_open_zipped_read_close.
"modinfo radeon.ko.gz", a single-file reader, got 30% faster.
"depmod -a", which used to fork over 800 times, got 20% faster.
Heavily based on a patch by Lauri Kasanen <curaga@operamail.com>
function old new delta
setup_transformer_on_fd - 159 +159
transformer_write - 122 +122
fork_transformer - 112 +112
xmalloc_open_zipped_read_close 63 118 +55
read_bunzip 1866 1896 +30
xtransformer_write - 19 +19
unzip_main 2449 2462 +13
bbunpack 755 766 +11
unpack_lzma_stream 2717 2723 +6
unpack_xz_stream 2393 2397 +4
unpack_Z_stream 1173 1175 +2
inflate_unzip 111 105 -6
check_signature16 70 63 -7
unpack_bz2_stream 359 349 -10
unpack_unxz 12 - -12
unpack_unlzma 12 - -12
unpack_uncompress 12 - -12
unpack_gunzip 12 - -12
unpack_bunzip2 12 - -12
open_transformer 106 92 -14
inflate_unzip_internal 1945 1916 -29
unpack_gz_stream 693 655 -38
open_zipped 89 47 -42
setup_unzip_on_fd 142 53 -89
------------------------------------------------------------------------------
(add/remove: 4/5 grow/shrink: 7/8 up/down: 533/-295) Total: 238 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-12-07 00:44:00 +01:00
Denys Vlasenko
e7800f351a
Rename transformer_aux_data_t -> transformer_state_t
...
No code changes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-12-07 00:42:49 +01:00
Denys Vlasenko
184b266917
cpio: reinstate "options:" line in help text
...
Otherwise, help text is confusing: where do operation modes end
and where options start?
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-06-30 17:19:17 +02:00
Denys Vlasenko
a9dc7c2f59
lzop: add overflow check
...
See CVE-2014-4607
http://www.openwall.com/lists/oss-security/2014/06/26/20
function old new delta
lzo1x_decompress_safe 1010 1031 +21
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-06-30 10:14:34 +02:00
Denys Vlasenko
81071e6872
unlzma: add comments about possible bug from BZ 2689
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-02-28 15:42:10 +01:00