busybox/archival/libarchive
Denys Vlasenko a84db18fc7 tar,unzip: postpone creation of symlinks with "suspicious" targets
This mostly reverts commit bc9bbeb2b8
"libarchive: do not extract unsafe symlinks unless $EXTRACT_UNSAFE_SYMLINKS=1"

Users report that it is somewhat too restrictive. See
https://bugs.busybox.net/show_bug.cgi?id=8411

In particular, this interferes with unpacking of busybox-based
filesystems with links like "sbin/applet" -> "../bin/busybox".

The change is made smaller by deleting ARCHIVE_EXTRACT_QUIET flag -
it is unused since 2010, and removing conditionals on it
allows commonalizing some error message codes.

function                                             old     new   delta
create_or_remember_symlink                             -      94     +94
create_symlinks_from_list                              -      64     +64
tar_main                                            1002    1006      +4
unzip_main                                          2732    2724      -8
data_extract_all                                     984     891     -93
unsafe_symlink_target                                147       -    -147
------------------------------------------------------------------------------
(add/remove: 2/1 grow/shrink: 1/2 up/down: 162/-248)          Total: -86 bytes

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-02-20 16:06:53 +01:00
..
bz bzip2: expose tuning knob for faster/smaller code 2018-02-07 01:33:25 +01:00
unxz Spelling fixes in comments, documentation, tests and examples 2017-04-17 16:13:32 +02:00
common.c whitespace and comment format fixes, no code changes 2017-10-05 14:40:24 +02:00
data_align.c whitespace and comment format fixes, no code changes 2017-10-05 14:40:24 +02:00
data_extract_all.c tar,unzip: postpone creation of symlinks with "suspicious" targets 2018-02-20 16:06:53 +01:00
data_extract_to_command.c whitespace and comment format fixes, no code changes 2017-10-05 14:40:24 +02:00
data_extract_to_stdout.c whitespace and comment format fixes, no code changes 2017-10-05 14:40:24 +02:00
data_skip.c whitespace and comment format fixes, no code changes 2017-10-05 14:40:24 +02:00
decompress_bunzip2.c bunzip2: fix runCnt overflow from bug 10431 2017-10-22 18:23:23 +02:00
decompress_gunzip.c gunzip: fix from gzip-1.3.12 for gzip file with all zero length codes 2018-02-04 00:15:29 +01:00
decompress_uncompress.c whitespace and comment format fixes, no code changes 2017-10-05 15:33:28 +02:00
decompress_unlzma.c unlzma: fix SEGV, closes 10436 2017-10-27 15:37:03 +02:00
decompress_unxz.c libbb: commonalize a bit of little-endian CRC32 table generation code 2018-02-01 10:56:19 +01:00
filter_accept_all.c whitespace and comment format fixes, no code changes 2017-10-05 14:40:24 +02:00
filter_accept_list_reassign.c whitespace and comment format fixes, no code changes 2017-10-05 14:40:24 +02:00
filter_accept_list.c whitespace and comment format fixes, no code changes 2017-10-05 14:40:24 +02:00
filter_accept_reject_list.c whitespace and comment format fixes, no code changes 2017-10-05 14:40:24 +02:00
find_list_entry.c whitespace and comment format fixes, no code changes 2017-10-05 14:40:24 +02:00
get_header_ar.c ar: hopefully fix out-of-bounds read in get_header_ar() 2018-02-06 17:39:45 +01:00
get_header_cpio.c whitespace and comment format fixes, no code changes 2017-10-05 15:33:28 +02:00
get_header_tar_bz2.c whitespace and comment format fixes, no code changes 2017-10-05 14:40:24 +02:00
get_header_tar_gz.c whitespace and comment format fixes, no code changes 2017-10-05 14:40:24 +02:00
get_header_tar_lzma.c whitespace and comment format fixes, no code changes 2017-10-05 14:40:24 +02:00
get_header_tar_xz.c whitespace and comment format fixes, no code changes 2017-10-05 14:40:24 +02:00
get_header_tar.c tar: accomodate non-terminated tar.chksum fields as seen from github.com 2018-01-27 19:04:08 +01:00
header_list.c rename archive.h to bb_archive.h. no code changes 2011-09-22 12:45:14 +02:00
header_skip.c rename archive.h to bb_archive.h. no code changes 2011-09-22 12:45:14 +02:00
header_verbose_list.c whitespace and comment format fixes, no code changes 2017-10-05 14:40:24 +02:00
init_handle.c whitespace and comment format fixes, no code changes 2017-10-05 14:40:24 +02:00
Kbuild.src libarchive: do not extract unsafe symlinks unless $EXTRACT_UNSAFE_SYMLINKS=1 2017-08-10 11:52:42 +02:00
liblzo.h lzop: add overflow check 2014-06-30 10:14:34 +02:00
lzo1x_1.c rename archival/libunarchive -> archival/libarchive; move bz/ into it 2010-11-03 02:38:31 +01:00
lzo1x_1o.c rename archival/libunarchive -> archival/libarchive; move bz/ into it 2010-11-03 02:38:31 +01:00
lzo1x_9x.c Removes stray empty line from code 2015-07-13 03:25:46 +02:00
lzo1x_c.c whitespace cleanup. no code changes 2013-01-14 15:57:44 +01:00
lzo1x_d.c lzop: code shrink 2018-02-01 01:41:31 +01:00
open_transformer.c whitespace and comment format fixes, no code changes 2017-10-05 14:40:24 +02:00
seek_by_jump.c whitespace and comment format fixes, no code changes 2017-10-05 14:40:24 +02:00
seek_by_read.c whitespace and comment format fixes, no code changes 2017-10-05 14:40:24 +02:00
unpack_ar_archive.c whitespace and comment format fixes, no code changes 2017-10-05 14:40:24 +02:00
unsafe_prefix.c whitespace and comment format fixes, no code changes 2017-10-05 14:40:24 +02:00
unsafe_symlink_target.c tar,unzip: postpone creation of symlinks with "suspicious" targets 2018-02-20 16:06:53 +01:00