From owner-svn-src-all@freebsd.org Mon May 20 12:32:06 2019 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 2C58715AC346; Mon, 20 May 2019 12:32:06 +0000 (UTC) (envelope-from mm@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id C355373C9D; Mon, 20 May 2019 12:32:05 +0000 (UTC) (envelope-from mm@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 671D51E439; Mon, 20 May 2019 12:32:05 +0000 (UTC) (envelope-from mm@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id x4KCW5i7094610; Mon, 20 May 2019 12:32:05 GMT (envelope-from mm@FreeBSD.org) Received: (from mm@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id x4KCW1kA094589; Mon, 20 May 2019 12:32:01 GMT (envelope-from mm@FreeBSD.org) Message-Id: <201905201232.x4KCW1kA094589@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mm set sender to mm@FreeBSD.org using -f From: Martin Matuska Date: Mon, 20 May 2019 12:32:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r347989 - in vendor/libarchive/dist: . build/ci build/ci/cirrus_ci contrib cpio/test libarchive libarchive/test tar tar/test test_utils X-SVN-Group: vendor X-SVN-Commit-Author: mm X-SVN-Commit-Paths: in vendor/libarchive/dist: . build/ci build/ci/cirrus_ci contrib cpio/test libarchive libarchive/test tar tar/test test_utils X-SVN-Commit-Revision: 347989 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: C355373C9D X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [-2.96 / 15.00]; local_wl_from(0.00)[FreeBSD.org]; NEURAL_HAM_MEDIUM(-1.00)[-0.999,0]; NEURAL_HAM_SHORT(-0.97)[-0.965,0]; ASN(0.00)[asn:11403, ipnet:2610:1c1:1::/48, country:US]; NEURAL_HAM_LONG(-1.00)[-1.000,0] X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 20 May 2019 12:32:06 -0000 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 @@ +@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 +) +@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 +#include +#include +#include +#include +#include + +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 ***