aboutsummaryrefslogtreecommitdiff
path: root/archival
Commit message (Collapse)AuthorAgeFilesLines
* [g]unzip: fix recent breakage.Gravatar Denys Vlasenko2015-12-021-12/+21
| | | | | | | | Also, do emit error message we so painstakingly pass from gzip internals Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com> (cherry picked from commit 6bd3fff51aa74e2ee2d87887b12182a3b09792ef) Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* unzip: test for bad archive SEGVingGravatar Denys Vlasenko2015-12-011-4/+7
| | | | | | | | | function old new delta huft_build 1296 1300 +4 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com> (cherry picked from commit 1de25a6e87e0e627aa34298105a3d17c60a1f44e) Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* join some common strings, -400 bytesGravatar Denys Vlasenko2015-10-082-5/+5
| | | | | | | | | | | | | | | 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>
* Removes stray empty line from codeGravatar Maninder Singh2015-07-138-14/+0
| | | | | | | | | 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>
* tar: do not try to decode GNU extended headers as pax headersGravatar Denys Vlasenko2015-05-111-11/+17
| | | | | | | function old new delta get_header_tar 1736 1692 -44 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* libarchive: auto-detect .Z files as wellGravatar Thiago Jung Bauermann2015-05-031-0/+7
| | | | | Signed-off-by: Thiago Jung Bauermann <bauerman@linux.vnet.ibm.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* gzip: add support for compression levels 4-9Gravatar Aaro Koskinen2015-04-261-10/+62
| | | | | | | | | | | | | | 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>
* libbb: introduce and use is_prefixed_with()Gravatar Denys Vlasenko2015-03-124-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* unzip: prevent attacks via malicious filenamesGravatar Denys Vlasenko2015-02-104-43/+63
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* gzip: trivial code shrink -5 bytesGravatar Denys Vlasenko2015-02-031-4/+4
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* gzip: speed up and shrink put_16bit()Gravatar Denys Vlasenko2015-02-021-7/+34
| | | | | | | function old new delta put_16bit 104 98 -6 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* gzip: do not store timestamp in gzip headerGravatar Rich Felker2015-02-021-4/+16
| | | | | | | | | | | | | | | | 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>
* dpkg: update supported compression methodsGravatar Denys Vlasenko2015-01-305-0/+49
| | | | | | | | | | | | | | 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>
* randomconfig fixesGravatar Denys Vlasenko2014-12-221-5/+3
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* tar: fix "tar -cJ" ignoring -J option. closes 7706Gravatar Denys Vlasenko2014-12-111-38/+28
| | | | | | | | | 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>
* make xmalloc_open_zipped_read_close result NUL terminatedGravatar Denys Vlasenko2014-12-071-1/+2
| | | | | | Compat with xmalloc_open_read_close Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* libarchive: add capability to unpack to mem.bufferGravatar Denys Vlasenko2014-12-0712-110/+211
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Rename transformer_aux_data_t -> transformer_state_tGravatar Denys Vlasenko2014-12-0712-58/+58
| | | | | | No code changes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* cpio: reinstate "options:" line in help textGravatar Denys Vlasenko2014-06-301-0/+1
| | | | | | | Otherwise, help text is confusing: where do operation modes end and where options start? Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* lzop: add overflow checkGravatar Denys Vlasenko2014-06-302-0/+5
| | | | | | | | | | 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>
* unlzma: add comments about possible bug from BZ 2689Gravatar Denys Vlasenko2014-02-281-0/+6
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* unlzma: move some variables in "more local" scopeGravatar Denys Vlasenko2014-02-281-7/+10
| | | | | | No code changes as verified by objdump Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* zcat: complain if input is not compressedGravatar Denys Vlasenko2014-02-026-20/+12
| | | | | | | | | | | | | | | | | | function old new delta buffer_fill_and_print 178 191 +13 varvalue 735 743 +8 bbunpack 747 755 +8 open_zipped 85 89 +4 xmalloc_open_zipped_read_close 61 63 +2 get_addr_1 240 242 +2 fbsplash_main 1228 1230 +2 pstree_main 322 321 -1 builtin_type 121 119 -2 do_load 954 926 -28 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 7/3 up/down: 39/-31) Total: 8 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* libbb: open_zipped() should not fail on non-compressed filesGravatar Denys Vlasenko2014-01-271-1/+10
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* tar: tighten up pax header validity checkGravatar Denys Vlasenko2014-01-101-1/+3
| | | | | | | function old new delta get_header_tar 1785 1795 +10 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* libarchive: open_zipped() does not need to check extensions for e.g. gzipGravatar Denys Vlasenko2014-01-101-12/+11
| | | | | | | | | We only need to check for signature-less extensions, currently only .lzma. The rest can be happily autodetected. This fixes "zcat FILE_WITHOUT_GZ_EXT" case, among others. Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* fix assorted unused code and wrong format specs found by cppchekc (bug 6716)Gravatar Denys Vlasenko2013-11-294-6/+2
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* dpkg-deb: cosmetic correction to usage textGravatar Daniel Borca2013-11-281-1/+1
| | | | | Signed-off-by: Daniel Borca <dborca@yahoo.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* tar: prevent empty file to be treated as valid tarballGravatar Denys Vlasenko2013-11-191-3/+10
| | | | | | | function old new delta tar_main 879 895 +16 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* tar: fix exitcode check for MMU-spawned unpacking helpersGravatar Denys Vlasenko2013-11-192-9/+10
| | | | | | | | | | Testcase: tar xvzf EMPTY_FILE function old new delta open_transformer 102 106 +4 get_header_tar 1781 1785 +4 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* archival/*: move "config:" snippets into .c filesGravatar Denys Vlasenko2013-11-1413-353/+349
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* archival/*: move "applet:" snippets into .c files, part 2Gravatar Denys Vlasenko2013-11-143-1/+8
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* archival/*: move "applet:" snippets into .c filesGravatar Denys Vlasenko2013-11-1411-5/+15
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* archival/*: move "kbuild:" snippets into .c filesGravatar Denys Vlasenko2013-11-1413-26/+35
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* Fix some compiler warnings emitted by gcc-4.8.0Gravatar Denys Vlasenko2013-10-162-7/+7
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* bunzip2: fix off-by-one checkGravatar Denys Vlasenko2013-10-061-8/+18
| | | | | | | | | | | stage3-armv7a_hardfp-20130209.tar.bz2, 149189948 bytes long, md5sum b29ce23312e14eb15a143377d4a38473, was failing to unpack. It so happened that this file has a run which exactly fills the 90k buffer. The check was "size >= bufsize", apparently it has to be ">". Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* ar: better commentGravatar Denys Vlasenko2013-09-101-2/+5
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* ar: read_num(): fix reading fields using the entire widthGravatar Peter Korsgaard2013-09-101-12/+20
| | | | | | | | | | | | | | | | | | | | ar fields are fixed length text strings (padded with spaces). Ensure bb_strtou doesn't read past the field in case the full width is used. The fields are only read once, so the simplest/smallest solution to me seems to be to just pass the length to read_num() and then zero terminate the string before passing it to bb_strtou. This does mean that the fields MUST be read in reverse order, so some minor reshuffling was needed. Bloat-o-meter: function old new delta get_header_ar 394 414 +20 read_num 29 36 +7 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 2/0 up/down: 27/0) Total: 27 bytes Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* tar: fix tar -T to add entries in the exact order as the input listGravatar SASAKI Suguru2013-08-151-3/+1
| | | | | | | | | | | | This fixes tar to order files in tarball correctly in this case: $ touch 1 2 3; echo -e '1\n2\n3' | tar -T- -c | tar t 1 2 3 Signed-off-by: SASAKI Suguru <suguru@sonik.org> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* unpackers: by users' request, print compression percentage if -v and DESKTOPGravatar Denys Vlasenko2013-07-301-13/+23
| | | | | | | function old new delta bbunpack 634 731 +97 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* unzip: survive lack of CDF on non-streaming zip filesGravatar Denys Vlasenko2013-07-211-16/+39
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* unzip: increase PEEK_FROM_END from 16k to 64kGravatar Denys Vlasenko2013-07-201-1/+8
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* *: change execl sentinels from NULL to (char*)0Gravatar Rich Felker2013-06-302-2/+2
| | | | | Signed-off-by: Rich Felker <dalias@aerifal.cx> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* Fix build failures caused by not compiling open_transformer.c (#2)Gravatar Denys Vlasenko2013-05-151-0/+3
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* Fix build failures caused by not compiling open_transformer.cGravatar Denys Vlasenko2013-05-121-12/+23
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* archival: note implicit dependencies between lzop & bbunzipGravatar Mike Frysinger2013-03-032-0/+2
| | | | Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* decompress_unlzma: move function, no code changesGravatar Denys Vlasenko2013-03-011-7/+6
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* decompress_unlzma: 10% speedup in "small" codeGravatar Denys Vlasenko2013-03-011-1/+1
| | | | | | | | 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>
* decompress_unlzma: make "fast" version a bit smallerGravatar Denys Vlasenko2013-03-011-10/+4
| | | | | | | | | | 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>
* lzop: fiq -q and OPTION_DECOMPRESS mismatchGravatar Denys Vlasenko2013-03-011-15/+16
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>