svn commit: r347989 - in vendor/libarchive/dist: . build/ci build/ci/cirrus_ci contrib cpio/test libarchive libarchive/test tar tar/test test_utils
Martin Matuska
mm at FreeBSD.org
Mon May 20 12:32:06 UTC 2019
Author: mm
Date: Mon May 20 12:32:00 2019
New Revision: 347989
URL: https://svnweb.freebsd.org/changeset/base/347989
Log:
Update vendor/libarchive/dist to git b5818e39e128eca4951e2ab10467d4d850a2ba57
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
NOTE: a version bump of libarchive will happen in the following days
Added:
vendor/libarchive/dist/build/ci/cirrus_ci/
vendor/libarchive/dist/build/ci/cirrus_ci/Dockerfile.cygwin
vendor/libarchive/dist/build/ci/cirrus_ci/Dockerfile.fc29
vendor/libarchive/dist/build/ci/cirrus_ci/Dockerfile.fc29.distcheck
vendor/libarchive/dist/build/ci/cirrus_ci/Dockerfile.mingw
vendor/libarchive/dist/build/ci/cirrus_ci/Dockerfile.msvc
vendor/libarchive/dist/build/ci/cirrus_ci/Dockerfile.windows
vendor/libarchive/dist/build/ci/cirrus_ci/ci.cmd (contents, props changed)
vendor/libarchive/dist/build/ci/cirrus_ci/ci.sh (contents, props changed)
vendor/libarchive/dist/contrib/archivetest.c (contents, props changed)
vendor/libarchive/dist/libarchive/archive_entry_misc.3 (contents, props changed)
vendor/libarchive/dist/libarchive/test/test_read_format_mtree_noprint.mtree.uu
vendor/libarchive/dist/libarchive/test/test_read_format_rar5_distance_overflow.rar.uu
vendor/libarchive/dist/libarchive/test/test_read_format_rar5_extra_field_version.rar.uu
vendor/libarchive/dist/libarchive/test/test_read_format_rar5_fileattr.rar.uu
vendor/libarchive/dist/libarchive/test/test_read_format_rar5_hardlink.rar.uu
vendor/libarchive/dist/libarchive/test/test_read_format_rar5_invalid_dict_reference.rar.uu
vendor/libarchive/dist/libarchive/test/test_read_format_rar5_leftshift1.rar.uu
vendor/libarchive/dist/libarchive/test/test_read_format_rar5_leftshift2.rar.uu
vendor/libarchive/dist/libarchive/test/test_read_format_rar5_nonempty_dir_stream.rar.uu
vendor/libarchive/dist/libarchive/test/test_read_format_rar5_owner.rar.uu
vendor/libarchive/dist/libarchive/test/test_read_format_rar5_readtables_overflow.rar.uu
vendor/libarchive/dist/libarchive/test/test_read_format_rar5_symlink.rar.uu
vendor/libarchive/dist/libarchive/test/test_read_format_rar5_truncated_huff.rar.uu
vendor/libarchive/dist/libarchive/test/test_read_format_rar_ppmd_use_after_free.rar.uu
vendor/libarchive/dist/libarchive/test/test_read_format_raw.data.gz.uu
vendor/libarchive/dist/libarchive/test/test_read_format_tar_empty_with_gnulabel.c (contents, props changed)
vendor/libarchive/dist/libarchive/test/test_read_format_tar_empty_with_gnulabel.tar.uu
vendor/libarchive/dist/libarchive/test/test_read_format_zip_7075_utf8_paths.c (contents, props changed)
vendor/libarchive/dist/libarchive/test/test_read_format_zip_7075_utf8_paths.zip.uu
vendor/libarchive/dist/libarchive/test/test_read_format_zip_extra_padding.c (contents, props changed)
vendor/libarchive/dist/libarchive/test/test_read_format_zip_extra_padding.zip.uu
vendor/libarchive/dist/libarchive/test/test_read_format_zip_lzma_alone_leak.zipx.uu
vendor/libarchive/dist/tar/test/test_option_exclude_vcs.c (contents, props changed)
Deleted:
vendor/libarchive/dist/.travis.yml
vendor/libarchive/dist/build/ci/cirrus_ci.sh
Modified:
vendor/libarchive/dist/.cirrus.yml
vendor/libarchive/dist/CMakeLists.txt
vendor/libarchive/dist/Makefile.am
vendor/libarchive/dist/NEWS
vendor/libarchive/dist/build/ci/build.sh
vendor/libarchive/dist/build/ci/travis_ci.sh
vendor/libarchive/dist/cpio/test/test_basic.c
vendor/libarchive/dist/cpio/test/test_format_newc.c
vendor/libarchive/dist/cpio/test/test_gcpio_compat.c
vendor/libarchive/dist/cpio/test/test_option_L_upper.c
vendor/libarchive/dist/cpio/test/test_option_a.c
vendor/libarchive/dist/cpio/test/test_option_c.c
vendor/libarchive/dist/libarchive/CMakeLists.txt
vendor/libarchive/dist/libarchive/archive.h
vendor/libarchive/dist/libarchive/archive_entry.c
vendor/libarchive/dist/libarchive/archive_entry.h
vendor/libarchive/dist/libarchive/archive_entry_private.h
vendor/libarchive/dist/libarchive/archive_hmac.c
vendor/libarchive/dist/libarchive/archive_match.c
vendor/libarchive/dist/libarchive/archive_platform.h
vendor/libarchive/dist/libarchive/archive_read.c
vendor/libarchive/dist/libarchive/archive_read_disk_entry_from_file.c
vendor/libarchive/dist/libarchive/archive_read_disk_posix.c
vendor/libarchive/dist/libarchive/archive_read_disk_windows.c
vendor/libarchive/dist/libarchive/archive_read_private.h
vendor/libarchive/dist/libarchive/archive_read_set_format.c
vendor/libarchive/dist/libarchive/archive_read_support_filter_gzip.c
vendor/libarchive/dist/libarchive/archive_read_support_format_cab.c
vendor/libarchive/dist/libarchive/archive_read_support_format_mtree.c
vendor/libarchive/dist/libarchive/archive_read_support_format_rar.c
vendor/libarchive/dist/libarchive/archive_read_support_format_rar5.c
vendor/libarchive/dist/libarchive/archive_read_support_format_raw.c
vendor/libarchive/dist/libarchive/archive_read_support_format_tar.c
vendor/libarchive/dist/libarchive/archive_read_support_format_warc.c
vendor/libarchive/dist/libarchive/archive_read_support_format_xar.c
vendor/libarchive/dist/libarchive/archive_read_support_format_zip.c
vendor/libarchive/dist/libarchive/archive_util.c
vendor/libarchive/dist/libarchive/archive_windows.h
vendor/libarchive/dist/libarchive/archive_write_add_filter_xz.c
vendor/libarchive/dist/libarchive/archive_write_disk_posix.c
vendor/libarchive/dist/libarchive/archive_write_disk_windows.c
vendor/libarchive/dist/libarchive/archive_write_set_format_pax.c
vendor/libarchive/dist/libarchive/archive_write_set_format_xar.c
vendor/libarchive/dist/libarchive/test/CMakeLists.txt
vendor/libarchive/dist/libarchive/test/test_entry.c
vendor/libarchive/dist/libarchive/test/test_fuzz.c
vendor/libarchive/dist/libarchive/test/test_read_disk_directory_traversals.c
vendor/libarchive/dist/libarchive/test/test_read_extract.c
vendor/libarchive/dist/libarchive/test/test_read_format_mtree.c
vendor/libarchive/dist/libarchive/test/test_read_format_rar.c
vendor/libarchive/dist/libarchive/test/test_read_format_rar5.c
vendor/libarchive/dist/libarchive/test/test_read_format_rar5_win32.rar.uu
vendor/libarchive/dist/libarchive/test/test_read_format_raw.c
vendor/libarchive/dist/libarchive/test/test_read_format_zip.c
vendor/libarchive/dist/libarchive/test/test_sparse_basic.c
vendor/libarchive/dist/libarchive/test/test_write_disk_symlink.c
vendor/libarchive/dist/tar/bsdtar.1
vendor/libarchive/dist/tar/bsdtar.c
vendor/libarchive/dist/tar/bsdtar.h
vendor/libarchive/dist/tar/cmdline.c
vendor/libarchive/dist/tar/test/CMakeLists.txt
vendor/libarchive/dist/tar/test/test_basic.c
vendor/libarchive/dist/tar/test/test_copy.c
vendor/libarchive/dist/tar/test/test_option_C_mtree.c
vendor/libarchive/dist/tar/test/test_option_H_upper.c
vendor/libarchive/dist/tar/test/test_option_L_upper.c
vendor/libarchive/dist/tar/test/test_option_U_upper.c
vendor/libarchive/dist/tar/test/test_option_n.c
vendor/libarchive/dist/tar/test/test_option_s.c
vendor/libarchive/dist/tar/test/test_strip_components.c
vendor/libarchive/dist/tar/test/test_symlink_dir.c
vendor/libarchive/dist/test_utils/test_common.h
vendor/libarchive/dist/test_utils/test_main.c
Modified: vendor/libarchive/dist/.cirrus.yml
==============================================================================
--- vendor/libarchive/dist/.cirrus.yml Mon May 20 08:52:11 2019 (r347988)
+++ vendor/libarchive/dist/.cirrus.yml Mon May 20 12:32:00 2019 (r347989)
@@ -2,25 +2,130 @@ env:
CIRRUS_CLONE_DEPTH: 1
ARCH: amd64
-task:
+FreeBSD_task:
matrix:
- container:
- image: fedora:29
+ env:
+ BS: autotools
+ env:
+ BS: cmake
+ matrix:
freebsd_instance:
image: freebsd-12-0-release-amd64
freebsd_instance:
image: freebsd-11-2-release-amd64
+ prepare_script:
+ - ./build/ci/cirrus_ci/ci.sh prepare
+ configure_script:
+ - ./build/ci/build.sh -a autogen
+ - ./build/ci/build.sh -a configure
+ build_script:
+ - ./build/ci/build.sh -a build
+ test_script:
+ - ./build/ci/build.sh -a test
+ - ./build/ci/cirrus_ci/ci.sh test
+ install_script:
+ - ./build/ci/build.sh -a install
+
+MacOS_task:
+ matrix:
+ env:
+ BS: autotools
+ env:
+ BS: cmake
+ matrix:
osx_instance:
- image: mojave-xcode-10.1
+ image: mojave-xcode-10.2
osx_instance:
image: high-sierra-xcode-10.0
+ prepare_script:
+ - ./build/ci/cirrus_ci/ci.sh prepare
+ configure_script:
+ - ./build/ci/build.sh -a autogen
+ - ./build/ci/build.sh -a configure
+ build_script:
+ - ./build/ci/build.sh -a build
+ test_script:
+ - ./build/ci/build.sh -a test
+ - ./build/ci/cirrus_ci/ci.sh test
+ install_script:
+ - ./build/ci/build.sh -a install
+
+Fedora_29_task:
+ container:
+ dockerfile: build/ci/cirrus_ci/Dockerfile.fc29
matrix:
env:
BS: autotools
env:
BS: cmake
+ configure_script:
+ - ./build/ci/build.sh -a autogen
+ - ./build/ci/build.sh -a configure
+ build_script:
+ - ./build/ci/build.sh -a build
+ test_script:
+ - ./build/ci/build.sh -a test
install_script:
- - ./build/ci/cirrus_ci.sh install
- script:
- - ./build/ci/build.sh
- - ./build/ci/cirrus_ci.sh test
+ - ./build/ci/build.sh -a install
+
+Fedora_29_distcheck_task:
+ container:
+ dockerfile: build/ci/cirrus_ci/Dockerfile.fc29.distcheck
+ env:
+ BS: autotools
+ configure_script:
+ - ./build/ci/build.sh -a autogen
+ - ./build/ci/build.sh -a configure
+ distcheck_script:
+ - ./build/ci/build.sh -a distcheck
+
+Windows_MSVC_task:
+ windows_container:
+ dockerfile: build/ci/cirrus_ci/Dockerfile.msvc
+ os_version: 2019
+ env:
+ BE: msvc
+ configure_script:
+ - build\ci\cirrus_ci\ci.cmd configure
+ build_script:
+ - build\ci\cirrus_ci\ci.cmd build
+ test_script:
+ - build\ci\cirrus_ci\ci.cmd test
+ instal_script:
+ - build\ci\cirrus_ci\ci.cmd install
+
+Windows_MinGW_task:
+ windows_container:
+ image: cirrusci/windowsservercore:2019
+ os_version: 2019
+ env:
+ BE: mingw-gcc
+ prepare_script:
+ - build\ci\cirrus_ci\ci.cmd prepare
+ deplibs_script:
+ - build\ci\cirrus_ci\ci.cmd deplibs
+ configure_script:
+ - build\ci\cirrus_ci\ci.cmd configure
+ build_script:
+ - build\ci\cirrus_ci\ci.cmd build
+ test_script:
+ - build\ci\cirrus_ci\ci.cmd test
+ install_script:
+ - build\ci\cirrus_ci\ci.cmd install
+
+Windows_Cygwin_task:
+ windows_container:
+ image: cirrusci/windowsservercore:2019
+ os_version: 2019
+ env:
+ BE: cygwin-gcc
+ prepare_script:
+ - build\ci\cirrus_ci\ci.cmd prepare
+ configure_script:
+ - build\ci\cirrus_ci\ci.cmd configure
+ build_script:
+ - build\ci\cirrus_ci\ci.cmd build
+ test_script:
+ - build\ci\cirrus_ci\ci.cmd test
+ install_script:
+ - build\ci\cirrus_ci\ci.cmd install
Modified: vendor/libarchive/dist/CMakeLists.txt
==============================================================================
--- vendor/libarchive/dist/CMakeLists.txt Mon May 20 08:52:11 2019 (r347988)
+++ vendor/libarchive/dist/CMakeLists.txt Mon May 20 12:32:00 2019 (r347989)
@@ -481,6 +481,7 @@ ENDIF()
IF(LIBLZMA_FOUND)
SET(HAVE_LIBLZMA 1)
SET(HAVE_LZMA_H 1)
+ CMAKE_PUSH_CHECK_STATE()
SET(CMAKE_REQUIRED_INCLUDES ${LIBLZMA_INCLUDE_DIR})
SET(CMAKE_REQUIRED_LIBRARIES ${LIBLZMA_LIBRARIES})
INCLUDE_DIRECTORIES(${LIBLZMA_INCLUDE_DIRS})
@@ -494,6 +495,7 @@ IF(LIBLZMA_FOUND)
IF(NOT WITHOUT_LZMA_API_STATIC AND LZMA_API_STATIC)
ADD_DEFINITIONS(-DLZMA_API_STATIC)
ENDIF(NOT WITHOUT_LZMA_API_STATIC AND LZMA_API_STATIC)
+ CMAKE_POP_CHECK_STATE()
ELSE(LIBLZMA_FOUND)
# LZMA not found and will not be used.
ENDIF(LIBLZMA_FOUND)
@@ -549,9 +551,11 @@ IF(LIBB2_FOUND)
SET(HAVE_BLAKE2_H 1)
SET(ARCHIVE_BLAKE2 FALSE)
LIST(APPEND ADDITIONAL_LIBS ${LIBB2_LIBRARY})
+ CMAKE_PUSH_CHECK_STATE()
SET(CMAKE_REQUIRED_LIBRARIES ${LIBB2_LIBRARY})
SET(CMAKE_REQUIRED_INCLUDES ${LIBB2_INCLUDE_DIR})
CHECK_FUNCTION_EXISTS(blake2sp_init HAVE_LIBB2)
+ CMAKE_POP_CHECK_STATE()
ELSE(LIBB2_FOUND)
SET(ARCHIVE_BLAKE2 TRUE)
ENDIF(LIBB2_FOUND)
@@ -606,17 +610,18 @@ IF(ZSTD_FOUND)
SET(HAVE_ZSTD_H 1)
INCLUDE_DIRECTORIES(${ZSTD_INCLUDE_DIR})
LIST(APPEND ADDITIONAL_LIBS ${ZSTD_LIBRARY})
+ CMAKE_PUSH_CHECK_STATE()
SET(CMAKE_REQUIRED_LIBRARIES ${ZSTD_LIBRARY})
SET(CMAKE_REQUIRED_INCLUDES ${ZSTD_INCLUDE_DIR})
CHECK_FUNCTION_EXISTS(ZSTD_compressStream HAVE_LIBZSTD)
#
# TODO: test for static library.
#
+ CMAKE_POP_CHECK_STATE()
ENDIF(ZSTD_FOUND)
MARK_AS_ADVANCED(CLEAR ZSTD_INCLUDE_DIR)
MARK_AS_ADVANCED(CLEAR ZSTD_LIBRARY)
-set(CMAKE_REQUIRED_LIBRARIES)
#
# Check headers
Modified: vendor/libarchive/dist/Makefile.am
==============================================================================
--- vendor/libarchive/dist/Makefile.am Mon May 20 08:52:11 2019 (r347988)
+++ vendor/libarchive/dist/Makefile.am Mon May 20 12:32:00 2019 (r347989)
@@ -288,6 +288,7 @@ libarchive_man_MANS= \
libarchive/archive_entry.3 \
libarchive/archive_entry_acl.3 \
libarchive/archive_entry_linkify.3 \
+ libarchive/archive_entry_misc.3 \
libarchive/archive_entry_paths.3 \
libarchive/archive_entry_perms.3 \
libarchive/archive_entry_stat.3 \
@@ -501,6 +502,7 @@ libarchive_test_SOURCES= \
libarchive/test/test_read_format_tar_concatenated.c \
libarchive/test/test_read_format_tar_empty_pax.c \
libarchive/test/test_read_format_tar_empty_filename.c \
+ libarchive/test/test_read_format_tar_empty_with_gnulabel.c \
libarchive/test/test_read_format_tar_filename.c \
libarchive/test/test_read_format_tbz.c \
libarchive/test/test_read_format_tgz.c \
@@ -511,10 +513,12 @@ libarchive_test_SOURCES= \
libarchive/test/test_read_format_warc.c \
libarchive/test/test_read_format_xar.c \
libarchive/test/test_read_format_zip.c \
+ libarchive/test/test_read_format_zip_7075_utf8_paths.c \
libarchive/test/test_read_format_zip_comment_stored.c \
libarchive/test/test_read_format_zip_encryption_data.c \
libarchive/test/test_read_format_zip_encryption_partially.c \
libarchive/test/test_read_format_zip_encryption_header.c \
+ libarchive/test/test_read_format_zip_extra_padding.c \
libarchive/test/test_read_format_zip_filename.c \
libarchive/test/test_read_format_zip_high_compression.c \
libarchive/test/test_read_format_zip_jar.c \
@@ -721,6 +725,7 @@ libarchive_test_EXTRA_DIST=\
libarchive/test/test_read_filter_lzop.tar.lzo.uu \
libarchive/test/test_read_filter_lzop_multiple_parts.tar.lzo.uu \
libarchive/test/test_read_format_mtree_crash747.mtree.bz2.uu \
+ libarchive/test/test_read_format_mtree_noprint.mtree.uu \
libarchive/test/test_read_format_7zip_bcj2_bzip2.7z.uu \
libarchive/test/test_read_format_7zip_bcj2_copy_1.7z.uu \
libarchive/test/test_read_format_7zip_bcj2_copy_2.7z.uu \
@@ -820,15 +825,51 @@ libarchive_test_EXTRA_DIST=\
libarchive/test/test_read_format_rar_multivolume.part0004.rar.uu \
libarchive/test/test_read_format_rar_noeof.rar.uu \
libarchive/test/test_read_format_rar_ppmd_lzss_conversion.rar.uu \
+ libarchive/test/test_read_format_rar_ppmd_use_after_free.rar.uu \
libarchive/test/test_read_format_rar_sfx.exe.uu \
libarchive/test/test_read_format_rar_subblock.rar.uu \
libarchive/test/test_read_format_rar_unicode.rar.uu \
libarchive/test/test_read_format_rar_windows.rar.uu \
+ libarchive/test/test_read_format_rar5_arm.rar.uu \
+ libarchive/test/test_read_format_rar5_blake2.rar.uu \
+ libarchive/test/test_read_format_rar5_compressed.rar.uu \
+ libarchive/test/test_read_format_rar5_distance_overflow.rar.uu \
+ libarchive/test/test_read_format_rar5_extra_field_version.rar.uu \
+ libarchive/test/test_read_format_rar5_fileattr.rar.uu \
+ libarchive/test/test_read_format_rar5_hardlink.rar.uu \
+ libarchive/test/test_read_format_rar5_invalid_dict_reference.rar.uu \
+ libarchive/test/test_read_format_rar5_leftshift1.rar.uu \
+ libarchive/test/test_read_format_rar5_leftshift2.rar.uu \
+ libarchive/test/test_read_format_rar5_multiarchive.part01.rar.uu \
+ libarchive/test/test_read_format_rar5_multiarchive.part02.rar.uu \
+ libarchive/test/test_read_format_rar5_multiarchive.part03.rar.uu \
+ libarchive/test/test_read_format_rar5_multiarchive.part04.rar.uu \
+ libarchive/test/test_read_format_rar5_multiarchive.part05.rar.uu \
+ libarchive/test/test_read_format_rar5_multiarchive.part06.rar.uu \
+ libarchive/test/test_read_format_rar5_multiarchive.part07.rar.uu \
+ libarchive/test/test_read_format_rar5_multiarchive.part08.rar.uu \
+ libarchive/test/test_read_format_rar5_multiarchive_solid.part01.rar.uu \
+ libarchive/test/test_read_format_rar5_multiarchive_solid.part02.rar.uu \
+ libarchive/test/test_read_format_rar5_multiarchive_solid.part03.rar.uu \
+ libarchive/test/test_read_format_rar5_multiarchive_solid.part04.rar.uu \
+ libarchive/test/test_read_format_rar5_multiple_files.rar.uu \
+ libarchive/test/test_read_format_rar5_multiple_files_solid.rar.uu \
+ libarchive/test/test_read_format_rar5_nonempty_dir_stream.rar.uu \
+ libarchive/test/test_read_format_rar5_owner.rar.uu \
+ libarchive/test/test_read_format_rar5_readtables_overflow.rar.uu \
+ libarchive/test/test_read_format_rar5_solid.rar.uu \
+ libarchive/test/test_read_format_rar5_stored.rar.uu \
+ libarchive/test/test_read_format_rar5_stored_manyfiles.rar.uu \
+ libarchive/test/test_read_format_rar5_symlink.rar.uu \
+ libarchive/test/test_read_format_rar5_truncated_huff.rar.uu \
+ libarchive/test/test_read_format_rar5_win32.rar.uu \
libarchive/test/test_read_format_raw.bufr.uu \
+ libarchive/test/test_read_format_raw.data.gz.uu \
libarchive/test/test_read_format_raw.data.Z.uu \
libarchive/test/test_read_format_raw.data.uu \
libarchive/test/test_read_format_tar_concatenated.tar.uu \
libarchive/test/test_read_format_tar_empty_filename.tar.uu \
+ libarchive/test/test_read_format_tar_empty_with_gnulabel.tar.uu \
libarchive/test/test_read_format_tar_empty_pax.tar.Z.uu \
libarchive/test/test_read_format_tar_filename_koi8r.tar.Z.uu \
libarchive/test/test_read_format_ustar_filename_cp866.tar.Z.uu \
@@ -836,11 +877,16 @@ libarchive_test_EXTRA_DIST=\
libarchive/test/test_read_format_ustar_filename_koi8r.tar.Z.uu \
libarchive/test/test_read_format_warc.warc.uu \
libarchive/test/test_read_format_zip.zip.uu \
+ libarchive/test/test_read_format_zip_7075_utf8_paths.zip.uu \
+ libarchive/test/test_read_format_zip_bz2_hang.zip.uu \
+ libarchive/test/test_read_format_zip_bzip2.zipx.uu \
+ libarchive/test/test_read_format_zip_bzip2_multi.zipx.uu \
libarchive/test/test_read_format_zip_comment_stored_1.zip.uu \
libarchive/test/test_read_format_zip_comment_stored_2.zip.uu \
libarchive/test/test_read_format_zip_encryption_data.zip.uu \
libarchive/test/test_read_format_zip_encryption_header.zip.uu \
libarchive/test/test_read_format_zip_encryption_partially.zip.uu \
+ libarchive/test/test_read_format_zip_extra_padding.zip.uu \
libarchive/test/test_read_format_zip_filename_cp866.zip.uu \
libarchive/test/test_read_format_zip_filename_cp932.zip.uu \
libarchive/test/test_read_format_zip_filename_koi8r.zip.uu \
@@ -849,6 +895,9 @@ libarchive_test_EXTRA_DIST=\
libarchive/test/test_read_format_zip_filename_utf8_ru2.zip.uu \
libarchive/test/test_read_format_zip_high_compression.zip.uu \
libarchive/test/test_read_format_zip_length_at_end.zip.uu \
+ libarchive/test/test_read_format_zip_lzma.zipx.uu \
+ libarchive/test/test_read_format_zip_lzma_alone_leak.zipx.uu \
+ libarchive/test/test_read_format_zip_lzma_multi.zipx.uu \
libarchive/test/test_read_format_zip_jar.jar.uu \
libarchive/test/test_read_format_zip_mac_metadata.zip.uu \
libarchive/test/test_read_format_zip_malformed1.zip.uu \
@@ -858,6 +907,10 @@ libarchive_test_EXTRA_DIST=\
libarchive/test/test_read_format_zip_padded1.zip.uu \
libarchive/test/test_read_format_zip_padded2.zip.uu \
libarchive/test/test_read_format_zip_padded3.zip.uu \
+ libarchive/test/test_read_format_zip_ppmd8.zipx.uu \
+ libarchive/test/test_read_format_zip_ppmd8_crash_1.zipx.uu \
+ libarchive/test/test_read_format_zip_ppmd8_crash_2.zipx.uu \
+ libarchive/test/test_read_format_zip_ppmd8_multi.zipx.uu \
libarchive/test/test_read_format_zip_sfx.uu \
libarchive/test/test_read_format_zip_symlink.zip.uu \
libarchive/test/test_read_format_zip_traditional_encryption_data.zip.uu \
@@ -867,6 +920,7 @@ libarchive_test_EXTRA_DIST=\
libarchive/test/test_read_format_zip_winzip_aes256_large.zip.uu \
libarchive/test/test_read_format_zip_winzip_aes256_stored.zip.uu \
libarchive/test/test_read_format_zip_with_invalid_traditional_eocd.zip.uu \
+ libarchive/test/test_read_format_zip_xz_multi.zipx.uu \
libarchive/test/test_read_format_zip_zip64a.zip.uu \
libarchive/test/test_read_format_zip_zip64b.zip.uu \
libarchive/test/test_read_large_splitted_rar_aa.uu \
@@ -995,6 +1049,7 @@ bsdtar_test_SOURCES= \
tar/test/test_option_b.c \
tar/test/test_option_b64encode.c \
tar/test/test_option_exclude.c \
+ tar/test/test_option_exclude_vcs.c \
tar/test/test_option_fflags.c \
tar/test/test_option_gid_gname.c \
tar/test/test_option_grzip.c \
Modified: vendor/libarchive/dist/NEWS
==============================================================================
--- vendor/libarchive/dist/NEWS Mon May 20 08:52:11 2019 (r347988)
+++ vendor/libarchive/dist/NEWS Mon May 20 12:32:00 2019 (r347989)
@@ -1,3 +1,13 @@
+Apr 16, 2019: Support for non-recursive list and extract
+
+Apr 14, 2019: New tar option: --exclude-vcs
+
+Mar 27, 2019: Support for file and directory symlinks on Windows
+
+Mar 12, 2019: Important fixes for storing file attributes and flags
+
+Jan 20, 2019: Support for xz, lzma, ppmd8 and bzip2 compression in zip archives
+
Oct 06, 2018: RAR 5.0 reader
Sep 03, 2018: libarchive 3.3.3 released
Modified: vendor/libarchive/dist/build/ci/build.sh
==============================================================================
--- vendor/libarchive/dist/build/ci/build.sh Mon May 20 08:52:11 2019 (r347988)
+++ vendor/libarchive/dist/build/ci/build.sh Mon May 20 12:32:00 2019 (r347989)
@@ -8,11 +8,13 @@
# SRCDIR= # source directory
# CONFIGURE_ARGS= # configure arguments
# MAKE_ARGS= # make arguments
+# DEBUG= # set -g -fsanitize=address flags
ACTIONS=
if [ -n "${BUILD_SYSTEM}" ]; then
BS="${BUILD_SYSTEM}"
fi
+
BS="${BS:-autotools}"
MAKE="${MAKE:-make}"
CMAKE="${CMAKE:-cmake}"
@@ -21,7 +23,7 @@ SRCDIR="${SRCDIR:-`pwd`}"
RET=0
usage () {
- echo "Usage: $0 [-b autotools|cmake] [-a autogen|configure|build|test ] [ -a ... ] [ -d builddir ] [-s srcdir ]"
+ echo "Usage: $0 [-b autotools|cmake] [-a autogen|configure|build|test|install|distcheck ] [ -a ... ] [ -d builddir ] [-s srcdir ]"
}
inputerror () {
echo $1
@@ -36,6 +38,8 @@ while getopts a:b:d:s: opt; do
configure) ;;
build) ;;
test) ;;
+ install) ;;
+ distcheck) ;;
*) inputerror "Invalid action (-a)" ;;
esac
ACTIONS="${ACTIONS} ${OPTARG}"
@@ -58,8 +62,25 @@ while getopts a:b:d:s: opt; do
;;
esac
done
+if [ -z "${MAKE_ARGS}" ]; then
+ if [ "${BS}" = "autotools" ]; then
+ MAKE_ARGS="V=1"
+ elif [ "${BS}" = "cmake" ]; then
+ MAKE_ARGS="VERBOSE=1"
+ fi
+fi
+if [ -n "${DEBUG}" ]; then
+ if [ -n "${CFLAGS}" ]; then
+ export CFLAGS="${CFLAGS} -g -fsanitize=address"
+ else
+ export CFLAGS="-g -fsanitize=address"
+ fi
+ if ["${BS}" = "cmake" ]; then
+ CONFIGURE_ARGS="${CONFIGURE_ARGS} -DCMAKE_C_CFLAGS=-g -fsanitize=address"
+ fi
+fi
if [ -z "${ACTIONS}" ]; then
- ACTIONS="autogen configure build test"
+ ACTIONS="autogen configure build test install"
fi
if [ -z "${BS}" ]; then
inputerror "Missing build system (-b) parameter"
@@ -102,6 +123,15 @@ for action in ${ACTIONS}; do
esac
RET="$?"
find ${TMPDIR:-/tmp} -path '*_test.*' -name '*.log' -print -exec cat {} \;
+ ;;
+ install)
+ ${MAKE} ${MAKE_ARGS} install DESTDIR="${BUILDDIR}/destdir"
+ RET="$?"
+ cd ${BUILDDIR}/destdir && ls -lR .
+ ;;
+ distcheck)
+ ${MAKE} ${MAKE_ARGS} distcheck
+ RET="$?"
;;
esac
if [ "${RET}" != "0" ]; then
Added: vendor/libarchive/dist/build/ci/cirrus_ci/Dockerfile.cygwin
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ vendor/libarchive/dist/build/ci/cirrus_ci/Dockerfile.cygwin Mon May 20 12:32:00 2019 (r347989)
@@ -0,0 +1,4 @@
+FROM cirrusci/windowsservercore:2019
+
+RUN choco install -y --no-progress cygwin
+RUN C:\tools\cygwin\cygwinsetup.exe -q -P make,autoconf,automake,cmake,gcc-core,binutils,libtool,pkg-config,bison,sharutils,zlib-devel,libbz2-devel,liblzma-devel,liblz4-devel,libiconv-devel,libxml2-devel,libzstd-devel,libssl-devel
Added: vendor/libarchive/dist/build/ci/cirrus_ci/Dockerfile.fc29
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ vendor/libarchive/dist/build/ci/cirrus_ci/Dockerfile.fc29 Mon May 20 12:32:00 2019 (r347989)
@@ -0,0 +1,3 @@
+FROM fedora:29
+
+RUN dnf -y install make cmake gcc gcc-c++ kernel-devel automake libtool bison sharutils pkgconf libacl-devel libasan librichacl-devel bzip2-devel libzip-devel zlib-devel xz-devel lz4-devel libzstd-devel openssl-devel
Added: vendor/libarchive/dist/build/ci/cirrus_ci/Dockerfile.fc29.distcheck
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ vendor/libarchive/dist/build/ci/cirrus_ci/Dockerfile.fc29.distcheck Mon May 20 12:32:00 2019 (r347989)
@@ -0,0 +1,3 @@
+FROM fedora:29
+
+RUN dnf -y install make cmake gcc gcc-c++ kernel-devel automake libtool bison sharutils pkgconf libacl-devel libasan librichacl-devel bzip2-devel libzip-devel zlib-devel xz-devel lz4-devel libzstd-devel openssl-devel groff ghostscript
Added: vendor/libarchive/dist/build/ci/cirrus_ci/Dockerfile.mingw
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ vendor/libarchive/dist/build/ci/cirrus_ci/Dockerfile.mingw Mon May 20 12:32:00 2019 (r347989)
@@ -0,0 +1,8 @@
+FROM cirrusci/windowsservercore:2019
+
+RUN choco install -y --no-progress --installargs 'ADD_CMAKE_TO_PATH=User' cmake
+RUN choco install -y --no-progress mingw
+RUN curl -o zlib-1.2.11.tar.gz https://www.zlib.net/zlib-1.2.11.tar.gz
+RUN tar -x -f zlib-1.2.11.tar.gz
+RUN cd zlib-1.2.11 && cmake -G "MinGW Makefiles" -D CMAKE_BUILD_TYPE="Release" . && mingw32-make && mingw32-make install
+RUN del /f /q /s zlib-1.2.11 zlib-1.2.11.tar.gz
Added: vendor/libarchive/dist/build/ci/cirrus_ci/Dockerfile.msvc
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ vendor/libarchive/dist/build/ci/cirrus_ci/Dockerfile.msvc Mon May 20 12:32:00 2019 (r347989)
@@ -0,0 +1,9 @@
+FROM cirrusci/windowsservercore:2019
+
+RUN choco install -y --no-progress --installargs 'ADD_CMAKE_TO_PATH=User' cmake
+RUN choco install -y --no-progress visualstudio2017community
+RUN choco install -y --no-progress visualstudio2017-workload-vctools
+RUN curl -o zlib-1.2.11.tar.gz https://www.zlib.net/zlib-1.2.11.tar.gz
+RUN tar -x -f zlib-1.2.11.tar.gz
+RUN cd zlib-1.2.11 && cmake -G "Visual Studio 15 2017" . && cmake --build . --target ALL_BUILD --config Release && cmake --build . --target INSTALL --config Release
+RUN del /f /q /s zlib-1.2.11 zlib-1.2.11.tar.gz
Added: vendor/libarchive/dist/build/ci/cirrus_ci/Dockerfile.windows
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ vendor/libarchive/dist/build/ci/cirrus_ci/Dockerfile.windows Mon May 20 12:32:00 2019 (r347989)
@@ -0,0 +1,12 @@
+FROM cirrusci/windowsservercore:2019
+
+RUN choco install -y --no-progress mingw
+RUN choco install -y --no-progress --installargs 'ADD_CMAKE_TO_PATH=User' cmake
+RUN choco install -y --no-progress visualstudio2017community
+RUN choco install -y --no-progress visualstudio2017-workload-vctools
+RUN curl -o zlib-1.2.11.tar.gz https://www.zlib.net/zlib-1.2.11.tar.gz
+RUN tar -x -f zlib-1.2.11.tar.gz
+RUN cd zlib-1.2.11 && cmake -G "Visual Studio 15 2017" . && cmake --build . --target ALL_BUILD --config Release && cmake --build . --target INSTALL --config Release
+RUN del /f /q /s zlib-1.2.11 zlib-1.2.11.tar.gz
+RUN choco install -y --no-progress cygwin
+RUN C:\tools\cygwin\cygwinsetup.exe -q -P make,autoconf,automake,cmake,gcc-core,binutils,libtool,pkg-config,bison,sharutils,zlib-devel,libbz2-devel,liblzma-devel,liblz4-devel,libiconv-devel,libxml2-devel,libzstd-devel,libssl-devel
Added: vendor/libarchive/dist/build/ci/cirrus_ci/ci.cmd
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ vendor/libarchive/dist/build/ci/cirrus_ci/ci.cmd Mon May 20 12:32:00 2019 (r347989)
@@ -0,0 +1,122 @@
+ at ECHO OFF
+SET ZLIB_VERSION=1.2.11
+IF NOT "%BE%"=="cygwin-gcc" (
+ IF NOT "%BE%"=="mingw-gcc" (
+ IF NOT "%BE%"=="msvc" (
+ ECHO Environment variable BE must be cygwin-gcc, mingw-gcc or msvc
+ EXIT /b 1
+ )
+ )
+)
+
+IF "%1%"=="prepare" (
+ IF "%BE%"=="cygwin-gcc" (
+ @ECHO ON
+ choco install -y --no-progress cygwin || EXIT /b 1
+ C:\tools\cygwin\cygwinsetup.exe -q -P make,autoconf,automake,cmake,gcc-core,binutils,libtool,pkg-config,bison,sharutils,zlib-devel,libbz2-devel,liblzma-devel,liblz4-devel,libiconv-devel,libxml2-devel,libzstd-devel,libssl-devel || EXIT /b 1
+ @EXIT /b 0
+ ) ELSE IF "%BE%"=="mingw-gcc" (
+ @ECHO ON
+ choco install -y --no-progress mingw || EXIT /b 1
+ choco install -y --no-progress --installargs 'ADD_CMAKE_TO_PATH=System' cmake || EXIT /b 1
+ @EXIT /b 0
+ ) ELSE IF "%BE%"=="msvc" (
+ @ECHO ON
+ choco install -y --no-progress visualstudio2017community || EXIT /b 1
+ choco install -y --no-progress visualstudio2017-workload-vctools || EXIT /b 1
+ choco install -y --no-progress --installargs 'ADD_CMAKE_TO_PATH=System' cmake || EXIT /b 1
+ )
+) ELSE IF "%1"=="deplibs" (
+ IF "%BE%"=="cygwin-gcc" (
+ ECHO Skipping on this platform
+ EXIT /b 0
+ )
+ IF NOT EXIST build_ci\libs (
+ MKDIR build_ci\libs
+ )
+ CD build_ci\libs
+ IF NOT EXIST zlib-%ZLIB_VERSION%.tar.gz (
+ curl -o zlib-%ZLIB_VERSION%.tar.gz https://www.zlib.net/zlib-%ZLIB_VERSION%.tar.gz
+ )
+ IF NOT EXIST zlib-%ZLIB_VERSION% (
+ tar -x -z -f zlib-%ZLIB_VERSION%.tar.gz
+ )
+ SET PATH=%PATH%;C:\Program Files\cmake\bin;C:\ProgramData\chocolatey\lib\mingw\tools\install\mingw64\bin
+ CD zlib-%ZLIB_VERSION%
+ IF "%BE%"=="mingw-gcc" (
+ cmake -G "MinGW Makefiles" -D CMAKE_BUILD_TYPE="Release" . || EXIT /b 1
+ mingw32-make || EXIT /b 1
+ mingw32-make test || EXIT /b 1
+ mingw32-make install || EXIT /b 1
+ ) ELSE IF "%BE%"=="msvc" (
+ cmake -G "Visual Studio 15 2017" . || EXIT /b 1
+ cmake --build . --target ALL_BUILD --config Release || EXIT /b 1
+ cmake --build . --target RUN_TESTS --config Release || EXIT /b 1
+ cmake --build . --target INSTALL --config Release || EXIT /b 1
+ )
+) ELSE IF "%1%"=="configure" (
+ IF "%BE%"=="cygwin-gcc" (
+ SET BS=cmake
+ SET CONFIGURE_ARGS=-DENABLE_ACL=OFF
+ C:\tools\cygwin\bin\bash.exe --login -c "cd '%cd%'; ./build/ci/build.sh -a configure" || EXIT /b 1
+ ) ELSE IF "%BE%"=="mingw-gcc" (
+ SET PATH=%PATH%;C:\Program Files\cmake\bin;C:\ProgramData\chocolatey\lib\mingw\tools\install\mingw64\bin
+ MKDIR build_ci\cmake
+ CD build_ci\cmake
+ cmake -G "MinGW Makefiles" ..\.. || EXIT /b 1
+ ) ELSE IF "%BE%"=="msvc" (
+ SET PATH=%PATH%;C:\Program Files\cmake\bin;C:\ProgramData\chocolatey\lib\mingw\tools\install\mingw64\bin
+ MKDIR build_ci\cmake
+ CD build_ci\cmake
+ cmake -G "Visual Studio 15 2017" -D CMAKE_BUILD_TYPE="Release" ..\.. || EXIT /b 1
+ )
+) ELSE IF "%1%"=="build" (
+ IF "%BE%"=="cygwin-gcc" (
+ SET BS=cmake
+ C:\tools\cygwin\bin\bash.exe --login -c "cd '%cd%'; ./build/ci/build.sh -a build"
+ ) ELSE IF "%BE%"=="mingw-gcc" (
+ SET PATH=%PATH%;C:\Program Files\cmake\bin;C:\ProgramData\chocolatey\lib\mingw\tools\install\mingw64\bin
+ CD build_ci\cmake
+ mingw32-make || EXIT /b 1
+ ) ELSE IF "%BE%"=="msvc" (
+ SET PATH=%PATH%;C:\Program Files\cmake\bin;C:\ProgramData\chocolatey\lib\mingw\tools\install\mingw64\bin
+ CD build_ci\cmake
+ cmake --build . --target ALL_BUILD --config Release
+ )
+) ELSE IF "%1%"=="test" (
+ IF "%BE%"=="cygwin-gcc" (
+ ECHO "Skipping tests on this platform"
+ EXIT /b 0
+ REM SET BS=cmake
+ REM SET SKIP_TEST_SPARSE=1
+ REM C:\tools\cygwin\bin\bash.exe --login -c "cd '%cd%'; ./build/ci/build.sh -a test"
+ ) ELSE IF "%BE%"=="mingw-gcc" (
+ SET PATH=%PATH%;C:\Program Files\cmake\bin;C:\ProgramData\chocolatey\lib\mingw\tools\install\mingw64\bin
+ COPY "C:\Program Files (x86)\zlib\bin\libzlib.dll" build_ci\cmake\bin\
+ CD build_ci\cmake
+ SET SKIP_TEST_SPARSE=1
+ mingw32-make test
+ ) ELSE IF "%BE%"=="msvc" (
+ SET PATH=%PATH%;C:\Program Files\cmake\bin;C:\ProgramData\chocolatey\lib\mingw\tools\install\mingw64\bin
+ ECHO "Skipping tests on this platform"
+ EXIT /b 0
+ REM CD build_ci\cmake
+ REM cmake --build . --target RUN_TESTS --config Release
+ )
+) ELSE IF "%1%"=="install" (
+ IF "%BE%"=="cygwin-gcc" (
+ SET BS=cmake
+ C:\tools\cygwin\bin\bash.exe --login -c "cd '%cd%'; ./build/ci/build.sh -a install"
+ ) ELSE IF "%BE%"=="mingw-gcc" (
+ SET PATH=%PATH%;C:\Program Files\cmake\bin;C:\ProgramData\chocolatey\lib\mingw\tools\install\mingw64\bin
+ CD build_ci\cmake
+ mingw32-make install DESTDIR=%cd%\destdir
+ ) ELSE IF "%BE%"=="msvc" (
+ SET PATH=%PATH%;C:\Program Files\cmake\bin;C:\ProgramData\chocolatey\lib\mingw\tools\install\mingw64\bin
+ cmake --build . --target INSTALL --config Release
+ )
+) ELSE (
+ ECHO "Usage: %0% prepare|deplibs|configure|build|test|install"
+ @EXIT /b 0
+)
+ at EXIT /b 0
Added: vendor/libarchive/dist/build/ci/cirrus_ci/ci.sh
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ vendor/libarchive/dist/build/ci/cirrus_ci/ci.sh Mon May 20 12:32:00 2019 (r347989)
@@ -0,0 +1,56 @@
+#!/bin/sh
+UNAME=`uname`
+if [ "$1" = "prepare" ]
+then
+ if [ "${UNAME}" = "FreeBSD" ]
+ then
+ set -x -e
+ sed -i.bak -e 's,pkg+http://pkg.FreeBSD.org/\${ABI}/quarterly,pkg+http://pkg.FreeBSD.org/\${ABI}/latest,' /etc/pkg/FreeBSD.conf
+ mount -u -o acls /
+ mkdir /tmp_acl_nfsv4
+ MD=`mdconfig -a -t swap -s 128M`
+ newfs /dev/$MD
+ tunefs -N enable /dev/$MD
+ mount /dev/$MD /tmp_acl_nfsv4
+ chmod 1777 /tmp_acl_nfsv4
+ pkg install -y autoconf automake cmake libiconv libtool pkgconf expat libxml2 liblz4 zstd
+ elif [ "${UNAME}" = "Darwin" ]
+ then
+ set -x -e
+ brew update > /dev/null
+ for pkg in autoconf automake libtool pkg-config cmake xz lz4 zstd
+ do
+ brew list $pkg > /dev/null && brew upgrade $pkg || brew install $pkg
+ done
+ elif [ "${UNAME}" = "Linux" ]
+ then
+ if [ -f "/etc/debian_version" ]
+ then
+ apt-get -y update
+ apt-get -y install build-essential locales automake libtool bison sharutils pkgconf libacl1-dev libbz2-dev libzip-dev zlib1g-dev liblzma-dev liblz4-dev libzstd-dev libssl-dev lrzip cmake
+ elif [ -f "/etc/fedora-release" ]
+ then
+ dnf -y install make cmake gcc gcc-c++ kernel-devel automake libtool bison sharutils pkgconf libacl-devel librichacl-devel bzip2-devel libzip-devel zlib-devel xz-devel lz4-devel libzstd-devel openssl-devel
+ fi
+ fi
+elif [ "$1" = "test" ]
+then
+ if [ "${UNAME}" = "FreeBSD" ]
+ then
+ set -e
+ echo "Additional NFSv4 ACL tests"
+ CURDIR=`pwd`
+ if [ "${BS}" = "cmake" ]
+ then
+ BIN_SUBDIR="bin"
+ else
+ BIN_SUBDIR=.
+ fi
+ BUILDDIR="${CURDIR}/build_ci/${BS}"
+ cd "$BUILDDIR"
+ TMPDIR=/tmp_acl_nfsv4 ${BIN_SUBDIR}/libarchive_test -r "${CURDIR}/libarchive/test" -v test_acl_platform_nfs4
+ fi
+else
+ echo "Usage $0 prepare | test_nfsv4_acls"
+ exit 1
+fi
Modified: vendor/libarchive/dist/build/ci/travis_ci.sh
==============================================================================
--- vendor/libarchive/dist/build/ci/travis_ci.sh Mon May 20 08:52:11 2019 (r347988)
+++ vendor/libarchive/dist/build/ci/travis_ci.sh Mon May 20 12:32:00 2019 (r347989)
@@ -15,13 +15,14 @@ case "$UNAME" in
cmake -G "Visual Studio 15 2017" -D CMAKE_BUILD_TYPE="Release" "${SRCDIR}"
cmake --build . --target ALL_BUILD
# Until fixed, we don't run tests on Windows (lots of fails + timeout)
+ #export SKIP_TEST_FUZZ=1
#cmake --build . --target RUN_TESTS
set +x
elif [ "${BS}" = "mingw" ]; then
set -x
cmake -G "MSYS Makefiles" -D CMAKE_C_COMPILER="${CC}" -D CMAKE_MAKE_PROGRAM="mingw32-make" -D CMAKE_BUILD_TYPE="Release" "${SRCDIR}"
mingw32-make
- # The MinGW tests time out on Travis CI, disable for now
+ #export SKIP_TEST_FUZZ=1
#mingw32-make test
set +x
else
Added: vendor/libarchive/dist/contrib/archivetest.c
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ vendor/libarchive/dist/contrib/archivetest.c Mon May 20 12:32:00 2019 (r347989)
@@ -0,0 +1,218 @@
+/*-
+ * Copyright (c) 2019 Martin Matuska
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+/*
+ * Archivetest verifies reading archives with libarchive
+ *
+ * It may be used to reproduce failures in testcases discovered by OSS-Fuzz
+ * https://github.com/google/oss-fuzz/blob/master/projects/libarchive
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <stdarg.h>
+#include <ctype.h>
+#include <archive.h>
+#include <archive_entry.h>
+
+const char *errnostr(int errno)
+{
+ char *estr;
+ switch(errno) {
+ case ARCHIVE_EOF:
+ estr = "ARCHIVE_EOF";
+ break;
+ case ARCHIVE_OK:
+ estr = "ARCHIVE_OK";
+ break;
+ case ARCHIVE_WARN:
+ estr = "ARCHIVE_WARN";
+ break;
+ case ARCHIVE_RETRY:
+ estr = "ARCHIVE_RETRY";
+ break;
+ case ARCHIVE_FAILED:
+ estr = "ARCHIVE_FAILED";
+ break;
+ case ARCHIVE_FATAL:
+ estr = "ARCHIVE_FATAL";
+ break;
+ default:
+ estr = "Unknown";
+ break;
+ }
+ return (estr);
+}
+
+void usage(const char *prog)
+{
+ fprintf(stderr, "Usage: %s [-f filename] [-h] [-q] [-s]\n", prog);
+}
+
+void printhelp()
+{
+ fprintf(stdout, "archivetest: verify reading archives with "
+ "libarchive\n\n"
+ "Options:\n"
+ " -f filename Filename to verify\n"
+ " -h Show this help\n"
+ " -q Quiet mode\n"
+ " -s Verify only headers (skip data)\n\n"
+ "If no filename is specified, data is read from standard input.\n"
+ "\n%s\n", archive_version_details());
+}
+
+int v_print(int verbose, const char *format, ...)
+{
+ int r = 0;
+
+ if (verbose) {
+ va_list args;
+
+ va_start(args, format);
+ r = vfprintf(stdout, format, args);
+ va_end(args);
+ }
+ return (r);
+}
+
+int main(int argc, char *argv[])
+{
+ struct archive *a;
+ struct archive_entry *entry;
+ char *filename;
+ const char *p;
+ char buffer[4096];
+ int c;
+ int v, skip_data;
+ int r = ARCHIVE_OK;
+ int format_printed;
+
+ filename = NULL;
+ skip_data = 0;
+ v = 1;
+
+ while ((c = getopt (argc, argv, "f:hqs")) != -1) {
+ switch (c) {
+ case 'f':
+ filename = optarg;
+ break;
+ case 'h':
+ printhelp();
+ exit(0);
+ case 'q':
+ v = 0;
+ break;
+ case 's':
+ skip_data = 1;
+ break;
+ case '?':
+ if (optopt == 'f')
+ fprintf(stderr, "Option -%c requires "
+ "an argument.\n", optopt);
+ else if (isprint(optopt))
+ fprintf(stderr, "Unknown option '-%c'"
+ ".\n", optopt);
+ else
+ fprintf(stderr, "Unknown option "
+ "character '\\x%x'.\n", optopt);
+ usage(argv[0]);
+ default:
+ exit(1);
+ }
+ }
+
+ a = archive_read_new();
+
+ archive_read_support_filter_all(a);
+ archive_read_support_format_all(a);
+
+ v_print(v, "Data source: ");
+
+ if (filename == NULL) {
+ v_print(v, "standard input\n");
+ r = archive_read_open_fd(a, STDIN_FILENO, 4096);
+ } else {
+ v_print(v, "filename: %s\n", filename);
+ r = archive_read_open_filename(a, filename, 4096);
+ }
+
+ if (r != ARCHIVE_OK) {
+ archive_read_free(a);
+ fprintf(stderr, "Invalid or unsupported data source\n");
+ exit(1);
+ }
+
+ format_printed = 0;
+ c = 1;
+
+ while (1) {
+ r = archive_read_next_header(a, &entry);
+ if (r == ARCHIVE_FATAL) {
+ v_print(v, "Entry %d: fatal error reading "
+ "header\n", c);
+ break;
+ }
+ if (!format_printed) {
+ v_print(v, "Filter: %s\nFormat: %s\n",
+ archive_filter_name(a, 0), archive_format_name(a));
+ format_printed = 1;
+ }
+ if (r == ARCHIVE_RETRY)
+ continue;
+ if (r == ARCHIVE_EOF)
+ break;
+ p = archive_entry_pathname(entry);
+ v_print(v, "Entry %d: %s, pathname", c, errnostr(r));
+ if (p == NULL || p[0] == '\0')
+ v_print(v, " unreadable");
+ else
+ v_print(v, ": %s", p);
+ v_print(v, ", data: ");
+ if (skip_data) {
+ v_print(v, "skipping");
+ } else {
+ while ((r = archive_read_data(a, buffer, 4096) > 0))
+ ;
+ if (r == ARCHIVE_FATAL) {
+ v_print(v, "ERROR\nError string: %s\n",
+ archive_error_string(a));
+ break;
+ }
+ v_print(v, "OK");
+ }
+ v_print(v, "\n");
+ c++;
+ }
+
+ v_print(v, "Last return code: %s (%d)\n", errnostr(r), r);
+ if (r == ARCHIVE_EOF || r == ARCHIVE_OK) {
+ archive_read_free(a);
+ exit(0);
+ }
+ v_print(v, "Error string: %s\n", archive_error_string(a));
+ archive_read_free(a);
+ exit(2);
+}
Modified: vendor/libarchive/dist/cpio/test/test_basic.c
==============================================================================
--- vendor/libarchive/dist/cpio/test/test_basic.c Mon May 20 08:52:11 2019 (r347988)
+++ vendor/libarchive/dist/cpio/test/test_basic.c Mon May 20 12:32:00 2019 (r347989)
@@ -46,7 +46,7 @@ verify_files(const char *msg)
/* Symlink */
if (canSymlink())
- assertIsSymlink("symlink", "file");
+ assertIsSymlink("symlink", "file", 0);
/* Another file with 1 link and different permissions. */
failure(msg);
@@ -173,7 +173,7 @@ DEFINE_TEST(test_basic)
/* Symlink to above file. */
if (canSymlink()) {
- assertMakeSymlink("symlink", "file");
+ assertMakeSymlink("symlink", "file", 0);
fprintf(filelist, "symlink\n");
if (is_LargeInode("symlink")) {
strncat(result,
Modified: vendor/libarchive/dist/cpio/test/test_format_newc.c
==============================================================================
--- vendor/libarchive/dist/cpio/test/test_format_newc.c Mon May 20 08:52:11 2019 (r347988)
+++ vendor/libarchive/dist/cpio/test/test_format_newc.c Mon May 20 12:32:00 2019 (r347989)
@@ -114,7 +114,7 @@ DEFINE_TEST(test_format_newc)
/* "symlink" */
if (canSymlink()) {
- assertMakeSymlink("symlink", "file1");
+ assertMakeSymlink("symlink", "file1", 0);
fprintf(list, "symlink\n");
}
@@ -233,7 +233,12 @@ DEFINE_TEST(test_format_newc)
assert(is_hex(e, 110));
assertEqualMem(e + 0, "070701", 6); /* Magic */
assert(is_hex(e + 6, 8)); /* ino */
+#if defined(_WIN32) && !defined(CYGWIN)
+ /* Mode: Group members bits and others bits do not work. */
+ assertEqualInt(0xa180, from_hex(e + 14, 8) & 0xffc0);
+#else
assertEqualInt(0xa1ff, from_hex(e + 14, 8)); /* Mode */
+#endif
assertEqualInt(from_hex(e + 22, 8), uid); /* uid */
assertEqualInt(gid, from_hex(e + 30, 8)); /* gid */
assertEqualMem(e + 38, "00000001", 8); /* nlink */
Modified: vendor/libarchive/dist/cpio/test/test_gcpio_compat.c
==============================================================================
--- vendor/libarchive/dist/cpio/test/test_gcpio_compat.c Mon May 20 08:52:11 2019 (r347988)
+++ vendor/libarchive/dist/cpio/test/test_gcpio_compat.c Mon May 20 12:32:00 2019 (r347989)
@@ -71,7 +71,7 @@ unpack_test(const char *from, const char *options, con
/* Symlink */
if (canSymlink())
- assertIsSymlink("symlink", "file");
+ assertIsSymlink("symlink", "file", 0);
/* dir */
assertIsDir("dir", 0775);
Modified: vendor/libarchive/dist/cpio/test/test_option_L_upper.c
==============================================================================
--- vendor/libarchive/dist/cpio/test/test_option_L_upper.c Mon May 20 08:52:11 2019 (r347988)
+++ vendor/libarchive/dist/cpio/test/test_option_L_upper.c Mon May 20 12:32:00 2019 (r347989)
@@ -30,8 +30,10 @@ __FBSDID("$FreeBSD: src/usr.bin/cpio/test/test_option_
* tests won't run on Windows. */
#if defined(_WIN32) && !defined(__CYGWIN__)
#define CAT "type"
+#define SEP "\\"
#else
#define CAT "cat"
+#define SEP "/"
#endif
DEFINE_TEST(test_option_L_upper)
@@ -51,7 +53,7 @@ DEFINE_TEST(test_option_L_upper)
fprintf(filelist, "file\n");
/* Symlink to above file. */
- assertMakeSymlink("symlink", "file");
+ assertMakeSymlink("symlink", "file", 0);
fprintf(filelist, "symlink\n");
fclose(filelist);
@@ -61,7 +63,7 @@ DEFINE_TEST(test_option_L_upper)
assertTextFileContents("1 block\n", "copy.err");
failure("Regular -p without -L should preserve symlinks.");
- assertIsSymlink("copy/symlink", NULL);
+ assertIsSymlink("copy/symlink", NULL, 0);
r = systemf(CAT " filelist | %s -pd -L copy-L >copy-L.out 2>copy-L.err", testprog);
assertEqualInt(r, 0);
@@ -77,13 +79,14 @@ DEFINE_TEST(test_option_L_upper)
assertMakeDir("unpack", 0755);
assertChdir("unpack");
- r = systemf(CAT " ../archive.out | %s -i >unpack.out 2>unpack.err", testprog);
*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
More information about the svn-src-all
mailing list