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
unxz
common.c
data_align.c
data_extract_all.c
data_extract_to_command.c
data_extract_to_stdout.c
data_skip.c
decompress_bunzip2.c
decompress_gunzip.c
decompress_uncompress.c
decompress_unlzma.c
decompress_unxz.c
filter_accept_all.c
filter_accept_list_reassign.c
filter_accept_list.c
filter_accept_reject_list.c
find_list_entry.c
get_header_ar.c
get_header_cpio.c
get_header_tar_bz2.c
get_header_tar_gz.c
get_header_tar_lzma.c
get_header_tar_xz.c
get_header_tar.c
header_list.c
header_skip.c
header_verbose_list.c
init_handle.c
Kbuild.src
liblzo.h
lzo1x_1.c
lzo1x_1o.c
lzo1x_9x.c
lzo1x_c.c
lzo1x_d.c
open_transformer.c
seek_by_jump.c
seek_by_read.c
unpack_ar_archive.c
unsafe_prefix.c
unsafe_symlink_target.c