52c2bb7516
Sync libarchive with vendor. Relevant vendor changes: Issue #795: XAR - do not try to add xattrs without an allocated name PR #812: non-recursive option for extract and list PR #958: support reading metadata from compressed files PR #999: add --exclude-vcs option to bsdtar Issue #1062: treat empty archives with a GNU volume header as valid PR #1074: Handle ZIP files with trailing 0s in the extra fields (Android APK archives) PR #1109: Ignore padding in Zip extra field data (Android APK archives) PR #1167: fix problems related to unreadable directories Issue #1168: fix handling of strtol() and strtoul() PR #1172: RAR5 - fix invalid window buffer read in E8E9 filter PR #1174: ZIP reader - fix of MSZIP signature parsing PR #1175: gzip filter - fix reading files larger than 4GB from memory PR #1177: gzip filter - fix memory leak with repeated header reads PR #1180: ZIP reader - add support for Info-ZIP Unicode Path Extra Field PR #1181: RAR5 - fix merge_block() recursion (OSS-Fuzz 12999, 13029, 13144, 13478, 13490) PR #1183: fix memory leak when decompressing ZIP files with LZMA PR #1184: fix RAR5 OSS-Fuzz issues 12466, 14490, 14491, 12817 OSS-Fuzz 12466: RAR5 - fix buffer overflow when parsing huffman tables OSS-Fuzz 14490, 14491: RAR5 - fix bad shift-left operations OSS-Fuzz 12817: RAR5 - handle a case with truncated huffman tables PR #1186: RAR5 - fix invalid type used for dictionary size mask (OSS-Fuzz 14537) PR #1187: RAR5 - fix integer overflow (OSS-Fuzz 14555) PR #1190: RAR5 - RAR5 don't try to unpack entries marked as directories (OSS-Fuzz 14574) PR #1196: RAR5 - fix a potential SIGSEGV on 32-bit builds OSS-Fuzz 2582: RAR - fix use after free if there is an invalid entry OSS-Fuzz 14331: RAR5 - fix maximum owner name length OSS-Fuzz 13965: RAR5 - use unsigned int for volume number + range check Additional RAR5 reader changes: - support symlinks, hardlinks, file owner, file group, versioned files - change ARCHIVE_FORMAT_RAR_V5 to 0x100000 - set correct mode for readonly directories - support readonly, hidden and system Windows file attributes MFC after: 2 weeks
126 lines
3.3 KiB
Makefile
126 lines
3.3 KiB
Makefile
# $FreeBSD$
|
|
|
|
PACKAGE= tests
|
|
|
|
_LIBARCHIVEDIR= ${SRCTOP}/contrib/libarchive
|
|
|
|
ATF_TESTS_SH+= functional_test
|
|
|
|
BINDIR= ${TESTSDIR}
|
|
|
|
CFLAGS+= -DPLATFORM_CONFIG_H=\"${SRCTOP}/lib/libarchive/config_freebsd.h\"
|
|
CFLAGS+= -I${SRCTOP}/lib/libarchive -I${.OBJDIR}
|
|
CFLAGS+= -I${_LIBARCHIVEDIR}/libarchive
|
|
CFLAGS+= -I${_LIBARCHIVEDIR}/tar -I${_LIBARCHIVEDIR}/tar/test
|
|
CFLAGS+= -I${_LIBARCHIVEDIR}/test_utils
|
|
|
|
# Uncomment to link against dmalloc
|
|
#LDADD+= -L/usr/local/lib -ldmalloc
|
|
#CFLAGS+= -I/usr/local/include -DUSE_DMALLOC
|
|
|
|
PROGS+= bsdtar_test
|
|
|
|
.PATH: ${_LIBARCHIVEDIR}/tar/test
|
|
TESTS_SRCS= \
|
|
test_0.c \
|
|
test_basic.c \
|
|
test_copy.c \
|
|
test_empty_mtree.c \
|
|
test_extract_tar_bz2.c \
|
|
test_extract_tar_grz.c \
|
|
test_extract_tar_gz.c \
|
|
test_extract_tar_lrz.c \
|
|
test_extract_tar_lz.c \
|
|
test_extract_tar_lz4.c \
|
|
test_extract_tar_lzma.c \
|
|
test_extract_tar_lzo.c \
|
|
test_extract_tar_xz.c \
|
|
test_extract_tar_zstd.c \
|
|
test_format_newc.c \
|
|
test_help.c \
|
|
test_leading_slash.c \
|
|
test_missing_file.c \
|
|
test_option_C_mtree.c \
|
|
test_option_C_upper.c \
|
|
test_option_H_upper.c \
|
|
test_option_L_upper.c \
|
|
test_option_O_upper.c \
|
|
test_option_T_upper.c \
|
|
test_option_U_upper.c \
|
|
test_option_X_upper.c \
|
|
test_option_a.c \
|
|
test_option_acls.c \
|
|
test_option_b.c \
|
|
test_option_b64encode.c \
|
|
test_option_exclude.c \
|
|
test_option_exclude_vcs.c \
|
|
test_option_fflags.c \
|
|
test_option_gid_gname.c \
|
|
test_option_grzip.c \
|
|
test_option_j.c \
|
|
test_option_k.c \
|
|
test_option_keep_newer_files.c \
|
|
test_option_lrzip.c \
|
|
test_option_lz4.c \
|
|
test_option_lzma.c \
|
|
test_option_lzop.c \
|
|
test_option_n.c \
|
|
test_option_newer_than.c \
|
|
test_option_nodump.c \
|
|
test_option_older_than.c \
|
|
test_option_passphrase.c \
|
|
test_option_q.c \
|
|
test_option_r.c \
|
|
test_option_s.c \
|
|
test_option_uid_uname.c \
|
|
test_option_uuencode.c \
|
|
test_option_xattrs.c \
|
|
test_option_xz.c \
|
|
test_option_z.c \
|
|
test_option_zstd.c \
|
|
test_patterns.c \
|
|
test_print_longpath.c \
|
|
test_stdio.c \
|
|
test_strip_components.c \
|
|
test_symlink_dir.c \
|
|
test_version.c
|
|
|
|
SRCS.bsdtar_test= \
|
|
${TESTS_SRCS} \
|
|
list.h
|
|
|
|
.PATH: ${_LIBARCHIVEDIR}/test_utils
|
|
SRCS.bsdtar_test+= test_main.c \
|
|
test_utils.c
|
|
|
|
LIBADD.bsdtar_test= archive
|
|
|
|
list.h: ${TESTS_SRCS} Makefile
|
|
@(cd ${_LIBARCHIVEDIR}/tar/test && \
|
|
grep -h DEFINE_TEST ${.ALLSRC:N*Makefile}) > ${.TARGET}.tmp
|
|
@mv ${.TARGET}.tmp ${.TARGET}
|
|
|
|
CLEANFILES+= list.h list.h.tmp
|
|
|
|
${PACKAGE}FILES+= test_extract.tar.Z.uu
|
|
${PACKAGE}FILES+= test_extract.tar.bz2.uu
|
|
${PACKAGE}FILES+= test_extract.tar.grz.uu
|
|
${PACKAGE}FILES+= test_extract.tar.gz.uu
|
|
${PACKAGE}FILES+= test_extract.tar.lrz.uu
|
|
${PACKAGE}FILES+= test_extract.tar.lz.uu
|
|
${PACKAGE}FILES+= test_extract.tar.lz4.uu
|
|
${PACKAGE}FILES+= test_extract.tar.lzma.uu
|
|
${PACKAGE}FILES+= test_extract.tar.lzo.uu
|
|
${PACKAGE}FILES+= test_extract.tar.xz.uu
|
|
${PACKAGE}FILES+= test_extract.tar.zst.uu
|
|
${PACKAGE}FILES+= test_leading_slash.tar.uu
|
|
${PACKAGE}FILES+= test_option_keep_newer_files.tar.Z.uu
|
|
${PACKAGE}FILES+= test_option_passphrase.zip.uu
|
|
${PACKAGE}FILES+= test_option_s.tar.Z.uu
|
|
${PACKAGE}FILES+= test_patterns_2.tar.uu
|
|
${PACKAGE}FILES+= test_patterns_3.tar.uu
|
|
${PACKAGE}FILES+= test_patterns_4.tar.uu
|
|
${PACKAGE}FILES+= test_print_longpath.tar.Z.uu
|
|
|
|
.include <bsd.test.mk>
|