From owner-svn-src-head@freebsd.org Thu May 12 10:16:19 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 38885B3856B; Thu, 12 May 2016 10:16:19 +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 mx1.freebsd.org (Postfix) with ESMTPS id C4F5D1315; Thu, 12 May 2016 10:16:18 +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 u4CAGI46056702; Thu, 12 May 2016 10:16:18 GMT (envelope-from mm@FreeBSD.org) Received: (from mm@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u4CAGGTB056683; Thu, 12 May 2016 10:16:16 GMT (envelope-from mm@FreeBSD.org) Message-Id: <201605121016.u4CAGGTB056683@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mm set sender to mm@FreeBSD.org using -f From: Martin Matuska Date: Thu, 12 May 2016 10:16:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r299529 - in head: contrib/libarchive contrib/libarchive/cat contrib/libarchive/cat/test contrib/libarchive/cpio contrib/libarchive/cpio/test contrib/libarchive/libarchive contrib/libar... X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 May 2016 10:16:19 -0000 Author: mm Date: Thu May 12 10:16:16 2016 New Revision: 299529 URL: https://svnweb.freebsd.org/changeset/base/299529 Log: MFV r299425: Update libarchive to 3.2.0 New features: - new bsdcat command-line utility - LZ4 compression (in src only via external utility from ports) - Warc format support - 'Raw' format writer - Zip: Support archives >4GB, entries >4GB - Zip: Support encrypting and decrypting entries - Zip: Support experimental streaming extension - Identify encrypted entries in several formats - New --clear-nochange-flags option to bsdtar tries to remove noschg and similar flags before deleting files - New --ignore-zeros option to bsdtar to handle concatenated tar archives - Use multi-threaded LZMA decompression if liblzma supports it - Expose version info for libraries used by libarchive Patched files (fixed compiler warnings): contrib/libarchive/cat/bsdcat.c (vendor PR #702) contrib/libarchive/cat/bsdcat.h (vendor PR #702) contrib/libarchive/libarchive/archive_read_support_format_mtree.c (PR #701) contrib/libarchive/libarchive_fe/err.c (vendor PR #703) MFC after: 1 month Relnotes: yes Added: head/contrib/libarchive/cat/ - copied from r299425, vendor/libarchive/dist/cat/ head/contrib/libarchive/cpio/test/test_extract.cpio.lz4.uu - copied unchanged from r299425, vendor/libarchive/dist/cpio/test/test_extract.cpio.lz4.uu head/contrib/libarchive/cpio/test/test_extract_cpio_lz4.c - copied unchanged from r299425, vendor/libarchive/dist/cpio/test/test_extract_cpio_lz4.c head/contrib/libarchive/cpio/test/test_option_lz4.c - copied unchanged from r299425, vendor/libarchive/dist/cpio/test/test_option_lz4.c head/contrib/libarchive/cpio/test/test_option_passphrase.c - copied unchanged from r299425, vendor/libarchive/dist/cpio/test/test_option_passphrase.c head/contrib/libarchive/cpio/test/test_option_passphrase.zip.uu - copied unchanged from r299425, vendor/libarchive/dist/cpio/test/test_option_passphrase.zip.uu head/contrib/libarchive/libarchive/archive_cryptor.c - copied unchanged from r299425, vendor/libarchive/dist/libarchive/archive_cryptor.c head/contrib/libarchive/libarchive/archive_cryptor_private.h - copied unchanged from r299425, vendor/libarchive/dist/libarchive/archive_cryptor_private.h head/contrib/libarchive/libarchive/archive_digest.c - copied unchanged from r299425, vendor/libarchive/dist/libarchive/archive_digest.c head/contrib/libarchive/libarchive/archive_digest_private.h - copied unchanged from r299425, vendor/libarchive/dist/libarchive/archive_digest_private.h head/contrib/libarchive/libarchive/archive_getdate.h - copied unchanged from r299425, vendor/libarchive/dist/libarchive/archive_getdate.h head/contrib/libarchive/libarchive/archive_hmac.c - copied unchanged from r299425, vendor/libarchive/dist/libarchive/archive_hmac.c head/contrib/libarchive/libarchive/archive_hmac_private.h - copied unchanged from r299425, vendor/libarchive/dist/libarchive/archive_hmac_private.h head/contrib/libarchive/libarchive/archive_pack_dev.c - copied unchanged from r299425, vendor/libarchive/dist/libarchive/archive_pack_dev.c head/contrib/libarchive/libarchive/archive_pack_dev.h - copied unchanged from r299425, vendor/libarchive/dist/libarchive/archive_pack_dev.h head/contrib/libarchive/libarchive/archive_random.c - copied unchanged from r299425, vendor/libarchive/dist/libarchive/archive_random.c head/contrib/libarchive/libarchive/archive_random_private.h - copied unchanged from r299425, vendor/libarchive/dist/libarchive/archive_random_private.h head/contrib/libarchive/libarchive/archive_read_add_passphrase.3 - copied unchanged from r299425, vendor/libarchive/dist/libarchive/archive_read_add_passphrase.3 head/contrib/libarchive/libarchive/archive_read_add_passphrase.c - copied unchanged from r299425, vendor/libarchive/dist/libarchive/archive_read_add_passphrase.c head/contrib/libarchive/libarchive/archive_read_extract2.c - copied unchanged from r299425, vendor/libarchive/dist/libarchive/archive_read_extract2.c head/contrib/libarchive/libarchive/archive_read_support_filter_lz4.c - copied unchanged from r299425, vendor/libarchive/dist/libarchive/archive_read_support_filter_lz4.c head/contrib/libarchive/libarchive/archive_read_support_format_warc.c - copied unchanged from r299425, vendor/libarchive/dist/libarchive/archive_read_support_format_warc.c head/contrib/libarchive/libarchive/archive_write_add_filter_lz4.c - copied unchanged from r299425, vendor/libarchive/dist/libarchive/archive_write_add_filter_lz4.c head/contrib/libarchive/libarchive/archive_write_set_format_filter_by_ext.c - copied unchanged from r299425, vendor/libarchive/dist/libarchive/archive_write_set_format_filter_by_ext.c head/contrib/libarchive/libarchive/archive_write_set_format_raw.c - copied unchanged from r299425, vendor/libarchive/dist/libarchive/archive_write_set_format_raw.c head/contrib/libarchive/libarchive/archive_write_set_format_warc.c - copied unchanged from r299425, vendor/libarchive/dist/libarchive/archive_write_set_format_warc.c head/contrib/libarchive/libarchive/archive_write_set_passphrase.3 - copied unchanged from r299425, vendor/libarchive/dist/libarchive/archive_write_set_passphrase.3 head/contrib/libarchive/libarchive/archive_write_set_passphrase.c - copied unchanged from r299425, vendor/libarchive/dist/libarchive/archive_write_set_passphrase.c head/contrib/libarchive/libarchive/archive_xxhash.h - copied unchanged from r299425, vendor/libarchive/dist/libarchive/archive_xxhash.h head/contrib/libarchive/libarchive/test/test_archive_digest.c - copied unchanged from r299425, vendor/libarchive/dist/libarchive/test/test_archive_digest.c head/contrib/libarchive/libarchive/test/test_archive_read_add_passphrase.c - copied unchanged from r299425, vendor/libarchive/dist/libarchive/test/test_archive_read_add_passphrase.c head/contrib/libarchive/libarchive/test/test_archive_write_set_format_filter_by_ext.c - copied unchanged from r299425, vendor/libarchive/dist/libarchive/test/test_archive_write_set_format_filter_by_ext.c head/contrib/libarchive/libarchive/test/test_archive_write_set_passphrase.c - copied unchanged from r299425, vendor/libarchive/dist/libarchive/test/test_archive_write_set_passphrase.c head/contrib/libarchive/libarchive/test/test_compat_lz4.c - copied unchanged from r299425, vendor/libarchive/dist/libarchive/test/test_compat_lz4.c head/contrib/libarchive/libarchive/test/test_compat_lz4_1.tar.lz4.uu - copied unchanged from r299425, vendor/libarchive/dist/libarchive/test/test_compat_lz4_1.tar.lz4.uu head/contrib/libarchive/libarchive/test/test_compat_lz4_2.tar.lz4.uu - copied unchanged from r299425, vendor/libarchive/dist/libarchive/test/test_compat_lz4_2.tar.lz4.uu head/contrib/libarchive/libarchive/test/test_compat_lz4_3.tar.lz4.uu - copied unchanged from r299425, vendor/libarchive/dist/libarchive/test/test_compat_lz4_3.tar.lz4.uu head/contrib/libarchive/libarchive/test/test_compat_lz4_B4.tar.lz4.uu - copied unchanged from r299425, vendor/libarchive/dist/libarchive/test/test_compat_lz4_B4.tar.lz4.uu head/contrib/libarchive/libarchive/test/test_compat_lz4_B4BD.tar.lz4.uu - copied unchanged from r299425, vendor/libarchive/dist/libarchive/test/test_compat_lz4_B4BD.tar.lz4.uu head/contrib/libarchive/libarchive/test/test_compat_lz4_B4BDBX.tar.lz4.uu - copied unchanged from r299425, vendor/libarchive/dist/libarchive/test/test_compat_lz4_B4BDBX.tar.lz4.uu head/contrib/libarchive/libarchive/test/test_compat_lz4_B5.tar.lz4.uu - copied unchanged from r299425, vendor/libarchive/dist/libarchive/test/test_compat_lz4_B5.tar.lz4.uu head/contrib/libarchive/libarchive/test/test_compat_lz4_B5BD.tar.lz4.uu - copied unchanged from r299425, vendor/libarchive/dist/libarchive/test/test_compat_lz4_B5BD.tar.lz4.uu head/contrib/libarchive/libarchive/test/test_compat_lz4_B6.tar.lz4.uu - copied unchanged from r299425, vendor/libarchive/dist/libarchive/test/test_compat_lz4_B6.tar.lz4.uu head/contrib/libarchive/libarchive/test/test_compat_lz4_B6BD.tar.lz4.uu - copied unchanged from r299425, vendor/libarchive/dist/libarchive/test/test_compat_lz4_B6BD.tar.lz4.uu head/contrib/libarchive/libarchive/test/test_compat_lz4_B7.tar.lz4.uu - copied unchanged from r299425, vendor/libarchive/dist/libarchive/test/test_compat_lz4_B7.tar.lz4.uu head/contrib/libarchive/libarchive/test/test_compat_lz4_B7BD.tar.lz4.uu - copied unchanged from r299425, vendor/libarchive/dist/libarchive/test/test_compat_lz4_B7BD.tar.lz4.uu head/contrib/libarchive/libarchive/test/test_compat_uudecode_large.c - copied unchanged from r299425, vendor/libarchive/dist/libarchive/test/test_compat_uudecode_large.c head/contrib/libarchive/libarchive/test/test_compat_uudecode_large.tar.Z.uu - copied unchanged from r299425, vendor/libarchive/dist/libarchive/test/test_compat_uudecode_large.tar.Z.uu head/contrib/libarchive/libarchive/test/test_read_filter_compress.c - copied unchanged from r299425, vendor/libarchive/dist/libarchive/test/test_read_filter_compress.c head/contrib/libarchive/libarchive/test/test_read_format_7zip_encryption.7z.uu - copied unchanged from r299425, vendor/libarchive/dist/libarchive/test/test_read_format_7zip_encryption.7z.uu head/contrib/libarchive/libarchive/test/test_read_format_7zip_encryption_data.c - copied unchanged from r299425, vendor/libarchive/dist/libarchive/test/test_read_format_7zip_encryption_data.c head/contrib/libarchive/libarchive/test/test_read_format_7zip_encryption_header.7z.uu - copied unchanged from r299425, vendor/libarchive/dist/libarchive/test/test_read_format_7zip_encryption_header.7z.uu head/contrib/libarchive/libarchive/test/test_read_format_7zip_encryption_header.c - copied unchanged from r299425, vendor/libarchive/dist/libarchive/test/test_read_format_7zip_encryption_header.c head/contrib/libarchive/libarchive/test/test_read_format_7zip_encryption_partially.7z.uu - copied unchanged from r299425, vendor/libarchive/dist/libarchive/test/test_read_format_7zip_encryption_partially.7z.uu head/contrib/libarchive/libarchive/test/test_read_format_7zip_encryption_partially.c - copied unchanged from r299425, vendor/libarchive/dist/libarchive/test/test_read_format_7zip_encryption_partially.c head/contrib/libarchive/libarchive/test/test_read_format_7zip_malformed.7z.uu - copied unchanged from r299425, vendor/libarchive/dist/libarchive/test/test_read_format_7zip_malformed.7z.uu head/contrib/libarchive/libarchive/test/test_read_format_7zip_malformed.c - copied unchanged from r299425, vendor/libarchive/dist/libarchive/test/test_read_format_7zip_malformed.c head/contrib/libarchive/libarchive/test/test_read_format_7zip_malformed2.7z.uu - copied unchanged from r299425, vendor/libarchive/dist/libarchive/test/test_read_format_7zip_malformed2.7z.uu head/contrib/libarchive/libarchive/test/test_read_format_cpio_bin_le.c - copied unchanged from r299425, vendor/libarchive/dist/libarchive/test/test_read_format_cpio_bin_le.c head/contrib/libarchive/libarchive/test/test_read_format_cpio_bin_le.cpio.uu - copied unchanged from r299425, vendor/libarchive/dist/libarchive/test/test_read_format_cpio_bin_le.cpio.uu head/contrib/libarchive/libarchive/test/test_read_format_lha_bugfix_0.c - copied unchanged from r299425, vendor/libarchive/dist/libarchive/test/test_read_format_lha_bugfix_0.c head/contrib/libarchive/libarchive/test/test_read_format_lha_bugfix_0.lzh.uu - copied unchanged from r299425, vendor/libarchive/dist/libarchive/test/test_read_format_lha_bugfix_0.lzh.uu head/contrib/libarchive/libarchive/test/test_read_format_rar_encryption_data.c - copied unchanged from r299425, vendor/libarchive/dist/libarchive/test/test_read_format_rar_encryption_data.c head/contrib/libarchive/libarchive/test/test_read_format_rar_encryption_data.rar.uu - copied unchanged from r299425, vendor/libarchive/dist/libarchive/test/test_read_format_rar_encryption_data.rar.uu head/contrib/libarchive/libarchive/test/test_read_format_rar_encryption_header.c - copied unchanged from r299425, vendor/libarchive/dist/libarchive/test/test_read_format_rar_encryption_header.c head/contrib/libarchive/libarchive/test/test_read_format_rar_encryption_header.rar.uu - copied unchanged from r299425, vendor/libarchive/dist/libarchive/test/test_read_format_rar_encryption_header.rar.uu head/contrib/libarchive/libarchive/test/test_read_format_rar_encryption_partially.c - copied unchanged from r299425, vendor/libarchive/dist/libarchive/test/test_read_format_rar_encryption_partially.c head/contrib/libarchive/libarchive/test/test_read_format_rar_encryption_partially.rar.uu - copied unchanged from r299425, vendor/libarchive/dist/libarchive/test/test_read_format_rar_encryption_partially.rar.uu head/contrib/libarchive/libarchive/test/test_read_format_tar_concatenated.c - copied unchanged from r299425, vendor/libarchive/dist/libarchive/test/test_read_format_tar_concatenated.c head/contrib/libarchive/libarchive/test/test_read_format_tar_concatenated.tar.uu - copied unchanged from r299425, vendor/libarchive/dist/libarchive/test/test_read_format_tar_concatenated.tar.uu head/contrib/libarchive/libarchive/test/test_read_format_tar_empty_pax.c - copied unchanged from r299425, vendor/libarchive/dist/libarchive/test/test_read_format_tar_empty_pax.c head/contrib/libarchive/libarchive/test/test_read_format_tar_empty_pax.tar.Z.uu - copied unchanged from r299425, vendor/libarchive/dist/libarchive/test/test_read_format_tar_empty_pax.tar.Z.uu head/contrib/libarchive/libarchive/test/test_read_format_warc.c - copied unchanged from r299425, vendor/libarchive/dist/libarchive/test/test_read_format_warc.c head/contrib/libarchive/libarchive/test/test_read_format_warc.warc.uu - copied unchanged from r299425, vendor/libarchive/dist/libarchive/test/test_read_format_warc.warc.uu head/contrib/libarchive/libarchive/test/test_read_format_zip_encryption_data.c - copied unchanged from r299425, vendor/libarchive/dist/libarchive/test/test_read_format_zip_encryption_data.c head/contrib/libarchive/libarchive/test/test_read_format_zip_encryption_data.zip.uu - copied unchanged from r299425, vendor/libarchive/dist/libarchive/test/test_read_format_zip_encryption_data.zip.uu head/contrib/libarchive/libarchive/test/test_read_format_zip_encryption_header.c - copied unchanged from r299425, vendor/libarchive/dist/libarchive/test/test_read_format_zip_encryption_header.c head/contrib/libarchive/libarchive/test/test_read_format_zip_encryption_header.zip.uu - copied unchanged from r299425, vendor/libarchive/dist/libarchive/test/test_read_format_zip_encryption_header.zip.uu head/contrib/libarchive/libarchive/test/test_read_format_zip_encryption_partially.c - copied unchanged from r299425, vendor/libarchive/dist/libarchive/test/test_read_format_zip_encryption_partially.c head/contrib/libarchive/libarchive/test/test_read_format_zip_encryption_partially.zip.uu - copied unchanged from r299425, vendor/libarchive/dist/libarchive/test/test_read_format_zip_encryption_partially.zip.uu head/contrib/libarchive/libarchive/test/test_read_format_zip_malformed.c - copied unchanged from r299425, vendor/libarchive/dist/libarchive/test/test_read_format_zip_malformed.c head/contrib/libarchive/libarchive/test/test_read_format_zip_malformed1.zip.uu - copied unchanged from r299425, vendor/libarchive/dist/libarchive/test/test_read_format_zip_malformed1.zip.uu head/contrib/libarchive/libarchive/test/test_read_format_zip_msdos.c - copied unchanged from r299425, vendor/libarchive/dist/libarchive/test/test_read_format_zip_msdos.c head/contrib/libarchive/libarchive/test/test_read_format_zip_msdos.zip.uu - copied unchanged from r299425, vendor/libarchive/dist/libarchive/test/test_read_format_zip_msdos.zip.uu head/contrib/libarchive/libarchive/test/test_read_format_zip_nested.c - copied unchanged from r299425, vendor/libarchive/dist/libarchive/test/test_read_format_zip_nested.c head/contrib/libarchive/libarchive/test/test_read_format_zip_nested.zip.uu - copied unchanged from r299425, vendor/libarchive/dist/libarchive/test/test_read_format_zip_nested.zip.uu head/contrib/libarchive/libarchive/test/test_read_format_zip_nofiletype.c - copied unchanged from r299425, vendor/libarchive/dist/libarchive/test/test_read_format_zip_nofiletype.c head/contrib/libarchive/libarchive/test/test_read_format_zip_nofiletype.zip.uu - copied unchanged from r299425, vendor/libarchive/dist/libarchive/test/test_read_format_zip_nofiletype.zip.uu head/contrib/libarchive/libarchive/test/test_read_format_zip_padded.c - copied unchanged from r299425, vendor/libarchive/dist/libarchive/test/test_read_format_zip_padded.c head/contrib/libarchive/libarchive/test/test_read_format_zip_padded1.zip.uu - copied unchanged from r299425, vendor/libarchive/dist/libarchive/test/test_read_format_zip_padded1.zip.uu head/contrib/libarchive/libarchive/test/test_read_format_zip_padded2.zip.uu - copied unchanged from r299425, vendor/libarchive/dist/libarchive/test/test_read_format_zip_padded2.zip.uu head/contrib/libarchive/libarchive/test/test_read_format_zip_padded3.zip.uu - copied unchanged from r299425, vendor/libarchive/dist/libarchive/test/test_read_format_zip_padded3.zip.uu head/contrib/libarchive/libarchive/test/test_read_format_zip_traditional_encryption_data.c - copied unchanged from r299425, vendor/libarchive/dist/libarchive/test/test_read_format_zip_traditional_encryption_data.c head/contrib/libarchive/libarchive/test/test_read_format_zip_traditional_encryption_data.zip.uu - copied unchanged from r299425, vendor/libarchive/dist/libarchive/test/test_read_format_zip_traditional_encryption_data.zip.uu head/contrib/libarchive/libarchive/test/test_read_format_zip_winzip_aes.c - copied unchanged from r299425, vendor/libarchive/dist/libarchive/test/test_read_format_zip_winzip_aes.c head/contrib/libarchive/libarchive/test/test_read_format_zip_winzip_aes128.zip.uu - copied unchanged from r299425, vendor/libarchive/dist/libarchive/test/test_read_format_zip_winzip_aes128.zip.uu head/contrib/libarchive/libarchive/test/test_read_format_zip_winzip_aes256.zip.uu - copied unchanged from r299425, vendor/libarchive/dist/libarchive/test/test_read_format_zip_winzip_aes256.zip.uu head/contrib/libarchive/libarchive/test/test_read_format_zip_winzip_aes256_large.zip.uu - copied unchanged from r299425, vendor/libarchive/dist/libarchive/test/test_read_format_zip_winzip_aes256_large.zip.uu head/contrib/libarchive/libarchive/test/test_read_format_zip_winzip_aes256_stored.zip.uu - copied unchanged from r299425, vendor/libarchive/dist/libarchive/test/test_read_format_zip_winzip_aes256_stored.zip.uu head/contrib/libarchive/libarchive/test/test_read_format_zip_winzip_aes_large.c - copied unchanged from r299425, vendor/libarchive/dist/libarchive/test/test_read_format_zip_winzip_aes_large.c head/contrib/libarchive/libarchive/test/test_read_format_zip_zip64.c - copied unchanged from r299425, vendor/libarchive/dist/libarchive/test/test_read_format_zip_zip64.c head/contrib/libarchive/libarchive/test/test_read_format_zip_zip64a.zip.uu - copied unchanged from r299425, vendor/libarchive/dist/libarchive/test/test_read_format_zip_zip64a.zip.uu head/contrib/libarchive/libarchive/test/test_read_format_zip_zip64b.zip.uu - copied unchanged from r299425, vendor/libarchive/dist/libarchive/test/test_read_format_zip_zip64b.zip.uu head/contrib/libarchive/libarchive/test/test_read_too_many_filters.c - copied unchanged from r299425, vendor/libarchive/dist/libarchive/test/test_read_too_many_filters.c head/contrib/libarchive/libarchive/test/test_read_too_many_filters.gz.uu - copied unchanged from r299425, vendor/libarchive/dist/libarchive/test/test_read_too_many_filters.gz.uu head/contrib/libarchive/libarchive/test/test_warn_missing_hardlink_target.c - copied unchanged from r299425, vendor/libarchive/dist/libarchive/test/test_warn_missing_hardlink_target.c head/contrib/libarchive/libarchive/test/test_write_filter_lz4.c - copied unchanged from r299425, vendor/libarchive/dist/libarchive/test/test_write_filter_lz4.c head/contrib/libarchive/libarchive/test/test_write_format_raw.c - copied unchanged from r299425, vendor/libarchive/dist/libarchive/test/test_write_format_raw.c head/contrib/libarchive/libarchive/test/test_write_format_raw_b64.c - copied unchanged from r299425, vendor/libarchive/dist/libarchive/test/test_write_format_raw_b64.c head/contrib/libarchive/libarchive/test/test_write_format_warc.c - copied unchanged from r299425, vendor/libarchive/dist/libarchive/test/test_write_format_warc.c head/contrib/libarchive/libarchive/test/test_write_format_warc_empty.c - copied unchanged from r299425, vendor/libarchive/dist/libarchive/test/test_write_format_warc_empty.c head/contrib/libarchive/libarchive/test/test_write_format_zip_compression_store.c - copied unchanged from r299425, vendor/libarchive/dist/libarchive/test/test_write_format_zip_compression_store.c head/contrib/libarchive/libarchive/test/test_write_format_zip_empty_zip64.c - copied unchanged from r299425, vendor/libarchive/dist/libarchive/test/test_write_format_zip_empty_zip64.c head/contrib/libarchive/libarchive/test/test_write_format_zip_file.c - copied unchanged from r299425, vendor/libarchive/dist/libarchive/test/test_write_format_zip_file.c head/contrib/libarchive/libarchive/test/test_write_format_zip_file_zip64.c - copied unchanged from r299425, vendor/libarchive/dist/libarchive/test/test_write_format_zip_file_zip64.c head/contrib/libarchive/libarchive/test/test_write_format_zip_large.c - copied unchanged from r299425, vendor/libarchive/dist/libarchive/test/test_write_format_zip_large.c head/contrib/libarchive/libarchive/test/test_write_format_zip_zip64.c - copied unchanged from r299425, vendor/libarchive/dist/libarchive/test/test_write_format_zip_zip64.c head/contrib/libarchive/libarchive/test/test_write_read_format_zip.c - copied unchanged from r299425, vendor/libarchive/dist/libarchive/test/test_write_read_format_zip.c head/contrib/libarchive/libarchive/xxhash.c - copied unchanged from r299425, vendor/libarchive/dist/libarchive/xxhash.c head/contrib/libarchive/libarchive_fe/passphrase.c - copied unchanged from r299425, vendor/libarchive/dist/libarchive_fe/passphrase.c head/contrib/libarchive/libarchive_fe/passphrase.h - copied unchanged from r299425, vendor/libarchive/dist/libarchive_fe/passphrase.h head/contrib/libarchive/tar/test/test_extract.tar.lz4.uu - copied unchanged from r299425, vendor/libarchive/dist/tar/test/test_extract.tar.lz4.uu head/contrib/libarchive/tar/test/test_extract_tar_lz4.c - copied unchanged from r299425, vendor/libarchive/dist/tar/test/test_extract_tar_lz4.c head/contrib/libarchive/tar/test/test_leading_slash.c - copied unchanged from r299425, vendor/libarchive/dist/tar/test/test_leading_slash.c head/contrib/libarchive/tar/test/test_leading_slash.tar.uu - copied unchanged from r299425, vendor/libarchive/dist/tar/test/test_leading_slash.tar.uu head/contrib/libarchive/tar/test/test_option_lz4.c - copied unchanged from r299425, vendor/libarchive/dist/tar/test/test_option_lz4.c head/contrib/libarchive/tar/test/test_option_passphrase.c - copied unchanged from r299425, vendor/libarchive/dist/tar/test/test_option_passphrase.c head/contrib/libarchive/tar/test/test_option_passphrase.zip.uu - copied unchanged from r299425, vendor/libarchive/dist/tar/test/test_option_passphrase.zip.uu head/usr.bin/bsdcat/ head/usr.bin/bsdcat/Makefile (contents, props changed) head/usr.bin/bsdcat/tests/ head/usr.bin/bsdcat/tests/Makefile (contents, props changed) head/usr.bin/bsdcat/tests/functional_test.sh (contents, props changed) Deleted: head/contrib/libarchive/cat/CMakeLists.txt head/contrib/libarchive/cat/test/CMakeLists.txt head/contrib/libarchive/libarchive/archive_crypto.c head/contrib/libarchive/libarchive/archive_crypto_private.h head/contrib/libarchive/libarchive/test/test_archive_crypto.c head/contrib/libarchive/libarchive/test/test_write_format_zip_no_compression.c head/contrib/libarchive/libarchive/test/test_write_zip_set_compression_store.c Modified: head/contrib/libarchive/COPYING head/contrib/libarchive/FREEBSD-Xlist head/contrib/libarchive/FREEBSD-upgrade head/contrib/libarchive/NEWS head/contrib/libarchive/README head/contrib/libarchive/cat/bsdcat.c head/contrib/libarchive/cat/bsdcat.h head/contrib/libarchive/cpio/bsdcpio.1 head/contrib/libarchive/cpio/cmdline.c head/contrib/libarchive/cpio/cpio.c head/contrib/libarchive/cpio/cpio.h head/contrib/libarchive/cpio/cpio_platform.h head/contrib/libarchive/cpio/test/main.c head/contrib/libarchive/cpio/test/test.h head/contrib/libarchive/cpio/test/test_basic.c head/contrib/libarchive/cpio/test/test_extract_cpio_lzo.c head/contrib/libarchive/cpio/test/test_option_c.c head/contrib/libarchive/cpio/test/test_option_version.c head/contrib/libarchive/libarchive/archive.h head/contrib/libarchive/libarchive/archive_endian.h head/contrib/libarchive/libarchive/archive_entry.3 head/contrib/libarchive/libarchive/archive_entry.c head/contrib/libarchive/libarchive/archive_entry.h head/contrib/libarchive/libarchive/archive_entry_acl.3 head/contrib/libarchive/libarchive/archive_entry_copy_stat.c head/contrib/libarchive/libarchive/archive_entry_paths.3 head/contrib/libarchive/libarchive/archive_entry_perms.3 head/contrib/libarchive/libarchive/archive_entry_private.h head/contrib/libarchive/libarchive/archive_entry_sparse.c head/contrib/libarchive/libarchive/archive_entry_stat.3 head/contrib/libarchive/libarchive/archive_entry_time.3 head/contrib/libarchive/libarchive/archive_entry_xattr.c head/contrib/libarchive/libarchive/archive_getdate.c head/contrib/libarchive/libarchive/archive_match.c head/contrib/libarchive/libarchive/archive_options.c head/contrib/libarchive/libarchive/archive_pathmatch.c head/contrib/libarchive/libarchive/archive_platform.h head/contrib/libarchive/libarchive/archive_private.h head/contrib/libarchive/libarchive/archive_read.3 head/contrib/libarchive/libarchive/archive_read.c head/contrib/libarchive/libarchive/archive_read_append_filter.c head/contrib/libarchive/libarchive/archive_read_data.3 head/contrib/libarchive/libarchive/archive_read_disk_entry_from_file.c head/contrib/libarchive/libarchive/archive_read_disk_posix.c head/contrib/libarchive/libarchive/archive_read_disk_private.h head/contrib/libarchive/libarchive/archive_read_disk_set_standard_lookup.c head/contrib/libarchive/libarchive/archive_read_extract.c head/contrib/libarchive/libarchive/archive_read_filter.3 head/contrib/libarchive/libarchive/archive_read_open.3 head/contrib/libarchive/libarchive/archive_read_open_fd.c head/contrib/libarchive/libarchive/archive_read_open_file.c head/contrib/libarchive/libarchive/archive_read_open_filename.c head/contrib/libarchive/libarchive/archive_read_open_memory.c head/contrib/libarchive/libarchive/archive_read_private.h head/contrib/libarchive/libarchive/archive_read_set_options.3 head/contrib/libarchive/libarchive/archive_read_set_options.c head/contrib/libarchive/libarchive/archive_read_support_filter_all.c head/contrib/libarchive/libarchive/archive_read_support_filter_compress.c head/contrib/libarchive/libarchive/archive_read_support_filter_lzop.c head/contrib/libarchive/libarchive/archive_read_support_filter_uu.c head/contrib/libarchive/libarchive/archive_read_support_filter_xz.c head/contrib/libarchive/libarchive/archive_read_support_format_7zip.c head/contrib/libarchive/libarchive/archive_read_support_format_all.c head/contrib/libarchive/libarchive/archive_read_support_format_ar.c head/contrib/libarchive/libarchive/archive_read_support_format_cab.c head/contrib/libarchive/libarchive/archive_read_support_format_cpio.c head/contrib/libarchive/libarchive/archive_read_support_format_empty.c head/contrib/libarchive/libarchive/archive_read_support_format_iso9660.c head/contrib/libarchive/libarchive/archive_read_support_format_lha.c head/contrib/libarchive/libarchive/archive_read_support_format_mtree.c head/contrib/libarchive/libarchive/archive_read_support_format_rar.c head/contrib/libarchive/libarchive/archive_read_support_format_raw.c head/contrib/libarchive/libarchive/archive_read_support_format_tar.c head/contrib/libarchive/libarchive/archive_read_support_format_xar.c head/contrib/libarchive/libarchive/archive_read_support_format_zip.c head/contrib/libarchive/libarchive/archive_string.c head/contrib/libarchive/libarchive/archive_util.c head/contrib/libarchive/libarchive/archive_virtual.c head/contrib/libarchive/libarchive/archive_write.3 head/contrib/libarchive/libarchive/archive_write.c head/contrib/libarchive/libarchive/archive_write_add_filter.c head/contrib/libarchive/libarchive/archive_write_add_filter_by_name.c head/contrib/libarchive/libarchive/archive_write_add_filter_bzip2.c head/contrib/libarchive/libarchive/archive_write_add_filter_grzip.c head/contrib/libarchive/libarchive/archive_write_add_filter_gzip.c head/contrib/libarchive/libarchive/archive_write_add_filter_lrzip.c head/contrib/libarchive/libarchive/archive_write_add_filter_lzop.c head/contrib/libarchive/libarchive/archive_write_add_filter_program.c head/contrib/libarchive/libarchive/archive_write_add_filter_xz.c head/contrib/libarchive/libarchive/archive_write_data.3 head/contrib/libarchive/libarchive/archive_write_disk.3 head/contrib/libarchive/libarchive/archive_write_disk_acl.c head/contrib/libarchive/libarchive/archive_write_disk_posix.c head/contrib/libarchive/libarchive/archive_write_disk_set_standard_lookup.c head/contrib/libarchive/libarchive/archive_write_filter.3 head/contrib/libarchive/libarchive/archive_write_finish_entry.3 head/contrib/libarchive/libarchive/archive_write_format.3 head/contrib/libarchive/libarchive/archive_write_open.3 head/contrib/libarchive/libarchive/archive_write_open_filename.c head/contrib/libarchive/libarchive/archive_write_private.h head/contrib/libarchive/libarchive/archive_write_set_format.c head/contrib/libarchive/libarchive/archive_write_set_format_7zip.c head/contrib/libarchive/libarchive/archive_write_set_format_by_name.c head/contrib/libarchive/libarchive/archive_write_set_format_gnutar.c head/contrib/libarchive/libarchive/archive_write_set_format_iso9660.c head/contrib/libarchive/libarchive/archive_write_set_format_mtree.c head/contrib/libarchive/libarchive/archive_write_set_format_pax.c head/contrib/libarchive/libarchive/archive_write_set_format_shar.c head/contrib/libarchive/libarchive/archive_write_set_format_xar.c head/contrib/libarchive/libarchive/archive_write_set_format_zip.c head/contrib/libarchive/libarchive/archive_write_set_options.3 head/contrib/libarchive/libarchive/libarchive-formats.5 head/contrib/libarchive/libarchive/libarchive.3 head/contrib/libarchive/libarchive/libarchive_internals.3 head/contrib/libarchive/libarchive/tar.5 head/contrib/libarchive/libarchive/test/README head/contrib/libarchive/libarchive/test/main.c head/contrib/libarchive/libarchive/test/read_open_memory.c head/contrib/libarchive/libarchive/test/test.h head/contrib/libarchive/libarchive/test/test_archive_getdate.c head/contrib/libarchive/libarchive/test/test_archive_match_time.c head/contrib/libarchive/libarchive/test/test_archive_pathmatch.c head/contrib/libarchive/libarchive/test/test_archive_string.c head/contrib/libarchive/libarchive/test/test_archive_write_add_filter_by_name.c head/contrib/libarchive/libarchive/test/test_archive_write_set_format_by_name.c head/contrib/libarchive/libarchive/test/test_compat_mac.c head/contrib/libarchive/libarchive/test/test_compat_pax_libarchive_2x.c head/contrib/libarchive/libarchive/test/test_compat_zip.c head/contrib/libarchive/libarchive/test/test_fuzz.c head/contrib/libarchive/libarchive/test/test_gnutar_filename_encoding.c head/contrib/libarchive/libarchive/test/test_pax_filename_encoding.c head/contrib/libarchive/libarchive/test/test_read_data_large.c head/contrib/libarchive/libarchive/test/test_read_disk_directory_traversals.c head/contrib/libarchive/libarchive/test/test_read_format_7zip.c head/contrib/libarchive/libarchive/test/test_read_format_ar.c head/contrib/libarchive/libarchive/test/test_read_format_cab.c head/contrib/libarchive/libarchive/test/test_read_format_cab_filename.c head/contrib/libarchive/libarchive/test/test_read_format_cpio_afio.c head/contrib/libarchive/libarchive/test/test_read_format_cpio_bin.c head/contrib/libarchive/libarchive/test/test_read_format_cpio_bin_Z.c head/contrib/libarchive/libarchive/test/test_read_format_cpio_bin_be.c head/contrib/libarchive/libarchive/test/test_read_format_cpio_bin_bz2.c head/contrib/libarchive/libarchive/test/test_read_format_cpio_bin_gz.c head/contrib/libarchive/libarchive/test/test_read_format_cpio_bin_lzip.c head/contrib/libarchive/libarchive/test/test_read_format_cpio_bin_lzma.c head/contrib/libarchive/libarchive/test/test_read_format_cpio_bin_xz.c head/contrib/libarchive/libarchive/test/test_read_format_cpio_filename.c head/contrib/libarchive/libarchive/test/test_read_format_cpio_odc.c head/contrib/libarchive/libarchive/test/test_read_format_cpio_svr4_bzip2_rpm.c head/contrib/libarchive/libarchive/test/test_read_format_cpio_svr4_gzip.c head/contrib/libarchive/libarchive/test/test_read_format_cpio_svr4_gzip_rpm.c head/contrib/libarchive/libarchive/test/test_read_format_cpio_svr4c_Z.c head/contrib/libarchive/libarchive/test/test_read_format_empty.c head/contrib/libarchive/libarchive/test/test_read_format_gtar_filename.c head/contrib/libarchive/libarchive/test/test_read_format_gtar_gz.c head/contrib/libarchive/libarchive/test/test_read_format_gtar_lzma.c head/contrib/libarchive/libarchive/test/test_read_format_gtar_sparse.c head/contrib/libarchive/libarchive/test/test_read_format_gtar_sparse_skip_entry.c head/contrib/libarchive/libarchive/test/test_read_format_iso_Z.c head/contrib/libarchive/libarchive/test/test_read_format_iso_multi_extent.c head/contrib/libarchive/libarchive/test/test_read_format_iso_xorriso.c head/contrib/libarchive/libarchive/test/test_read_format_isojoliet_bz2.c head/contrib/libarchive/libarchive/test/test_read_format_isojoliet_long.c head/contrib/libarchive/libarchive/test/test_read_format_isojoliet_rr.c head/contrib/libarchive/libarchive/test/test_read_format_isojoliet_versioned.c head/contrib/libarchive/libarchive/test/test_read_format_isorr_bz2.c head/contrib/libarchive/libarchive/test/test_read_format_isorr_ce.c head/contrib/libarchive/libarchive/test/test_read_format_isorr_new_bz2.c head/contrib/libarchive/libarchive/test/test_read_format_isorr_rr_moved.c head/contrib/libarchive/libarchive/test/test_read_format_isozisofs_bz2.c head/contrib/libarchive/libarchive/test/test_read_format_lha.c head/contrib/libarchive/libarchive/test/test_read_format_lha_filename.c head/contrib/libarchive/libarchive/test/test_read_format_mtree.c head/contrib/libarchive/libarchive/test/test_read_format_mtree.mtree.uu head/contrib/libarchive/libarchive/test/test_read_format_pax_bz2.c head/contrib/libarchive/libarchive/test/test_read_format_rar.c head/contrib/libarchive/libarchive/test/test_read_format_raw.c head/contrib/libarchive/libarchive/test/test_read_format_tar.c head/contrib/libarchive/libarchive/test/test_read_format_tar_empty_filename.c head/contrib/libarchive/libarchive/test/test_read_format_tar_filename.c head/contrib/libarchive/libarchive/test/test_read_format_tbz.c head/contrib/libarchive/libarchive/test/test_read_format_tgz.c head/contrib/libarchive/libarchive/test/test_read_format_tlz.c head/contrib/libarchive/libarchive/test/test_read_format_txz.c head/contrib/libarchive/libarchive/test/test_read_format_tz.c head/contrib/libarchive/libarchive/test/test_read_format_ustar_filename.c head/contrib/libarchive/libarchive/test/test_read_format_xar.c head/contrib/libarchive/libarchive/test/test_read_format_zip.c head/contrib/libarchive/libarchive/test/test_read_format_zip_comment_stored.c head/contrib/libarchive/libarchive/test/test_read_format_zip_filename.c head/contrib/libarchive/libarchive/test/test_read_format_zip_mac_metadata.c head/contrib/libarchive/libarchive/test/test_read_format_zip_sfx.c head/contrib/libarchive/libarchive/test/test_read_truncated.c head/contrib/libarchive/libarchive/test/test_sparse_basic.c head/contrib/libarchive/libarchive/test/test_ustar_filename_encoding.c head/contrib/libarchive/libarchive/test/test_write_disk_appledouble.c head/contrib/libarchive/libarchive/test/test_write_disk_hfs_compression.c head/contrib/libarchive/libarchive/test/test_write_disk_mac_metadata.c head/contrib/libarchive/libarchive/test/test_write_disk_no_hfs_compression.c head/contrib/libarchive/libarchive/test/test_write_disk_perms.c head/contrib/libarchive/libarchive/test/test_write_disk_secure.c head/contrib/libarchive/libarchive/test/test_write_filter_lzop.c head/contrib/libarchive/libarchive/test/test_write_filter_program.c head/contrib/libarchive/libarchive/test/test_write_format_ar.c head/contrib/libarchive/libarchive/test/test_write_format_cpio_newc.c head/contrib/libarchive/libarchive/test/test_write_format_gnutar.c head/contrib/libarchive/libarchive/test/test_write_format_iso9660.c head/contrib/libarchive/libarchive/test/test_write_format_iso9660_boot.c head/contrib/libarchive/libarchive/test/test_write_format_mtree.c head/contrib/libarchive/libarchive/test/test_write_format_pax.c head/contrib/libarchive/libarchive/test/test_write_format_tar.c head/contrib/libarchive/libarchive/test/test_write_format_tar_sparse.c head/contrib/libarchive/libarchive/test/test_write_format_zip.c head/contrib/libarchive/libarchive/test/test_zip_filename_encoding.c head/contrib/libarchive/libarchive_fe/err.c head/contrib/libarchive/libarchive_fe/err.h head/contrib/libarchive/tar/bsdtar.1 head/contrib/libarchive/tar/bsdtar.c head/contrib/libarchive/tar/bsdtar.h head/contrib/libarchive/tar/bsdtar_platform.h head/contrib/libarchive/tar/cmdline.c head/contrib/libarchive/tar/creation_set.c head/contrib/libarchive/tar/read.c head/contrib/libarchive/tar/subst.c head/contrib/libarchive/tar/test/main.c head/contrib/libarchive/tar/test/test.h head/contrib/libarchive/tar/test/test_option_X_upper.c head/contrib/libarchive/tar/test/test_option_b.c head/contrib/libarchive/tar/test/test_option_s.c head/contrib/libarchive/tar/test/test_version.c head/contrib/libarchive/tar/util.c head/contrib/libarchive/tar/write.c head/etc/mtree/BSD.tests.dist head/lib/libarchive/Makefile head/lib/libarchive/config_freebsd.h head/lib/libarchive/tests/Makefile head/usr.bin/Makefile head/usr.bin/cpio/Makefile head/usr.bin/cpio/tests/Makefile head/usr.bin/tar/Makefile head/usr.bin/tar/tests/Makefile Directory Properties: head/contrib/libarchive/ (props changed) head/contrib/libarchive/cpio/ (props changed) head/contrib/libarchive/libarchive/ (props changed) head/contrib/libarchive/libarchive_fe/ (props changed) head/contrib/libarchive/tar/ (props changed) Modified: head/contrib/libarchive/COPYING ============================================================================== --- head/contrib/libarchive/COPYING Thu May 12 09:44:21 2016 (r299528) +++ head/contrib/libarchive/COPYING Thu May 12 10:16:16 2016 (r299529) @@ -17,12 +17,11 @@ the actual statements in the files are c files for details: libarchive/archive_entry.c libarchive/archive_read_support_filter_compress.c - libarchive/archive_write_set_filter_compress.c + libarchive/archive_write_add_filter_compress.c libarchive/mtree.5 - tar/matching.c * The following source files are in the public domain: - tar/getdate.c + libarchive/archive_getdate.c * The build files---including Makefiles, configure scripts, and auxiliary scripts used as part of the compile process---have Modified: head/contrib/libarchive/FREEBSD-Xlist ============================================================================== --- head/contrib/libarchive/FREEBSD-Xlist Thu May 12 09:44:21 2016 (r299528) +++ head/contrib/libarchive/FREEBSD-Xlist Thu May 12 10:16:16 2016 (r299529) @@ -1,11 +1,15 @@ .git .gitattributes .gitignore +.travis.yml CMakeLists.txt +CONTRIBUTING.md CTestConfig.cmake INSTALL Makefile.am build +cat/CMakeLists.txt +cat/test/CMakeLists.txt configure.ac contrib cpio/CMakeLists.txt Modified: head/contrib/libarchive/FREEBSD-upgrade ============================================================================== --- head/contrib/libarchive/FREEBSD-upgrade Thu May 12 09:44:21 2016 (r299528) +++ head/contrib/libarchive/FREEBSD-upgrade Thu May 12 10:16:16 2016 (r299529) @@ -4,13 +4,14 @@ libarchive The source code is pulled with git: - git clone -b release git://github.com/libarchive/libarchive.git + git clone git://github.com/libarchive/libarchive.git For the contrib directory files and directories were pruned by: sh -c 'for F in `cat FREEBSD-Xlist | grep -v FreeBSD`; do rm -rf ./$F ; done' -You may check if there are any new files that we don't need. +You may check if there are any new files that we don't need and add them to +FREEBSD-Xlist. The instructions for importing new release and merging to HEAD can be found at FreeBSD wiki: Modified: head/contrib/libarchive/NEWS ============================================================================== --- head/contrib/libarchive/NEWS Thu May 12 09:44:21 2016 (r299528) +++ head/contrib/libarchive/NEWS Thu May 12 10:16:16 2016 (r299529) @@ -1,3 +1,35 @@ +Apr 09, 2016: libarchive 3.1.901a released + Another test release in preparation for 3.2.0 + +Feb 13, 2016: libarchive 3.1.900a released + This is a test release in preparation for 3.2.0 + +Oct 21, 2015: Preliminary port to OSF + +Apr 11, 2015: libarchive's issue tracker is now hosted at GitHub. + https://github.com/libarchive/libarchive/issues + +Early 2015: Many fixes to crash and overflow bugs thanks to Hanno Boeck + +Oct 13, 2014: Zip encryption and decryption support + +Aug 13, 2014: Add support for lz4 compression. + +Jun 10, 2014: Add warc format support + +May 3, 2014: Add experimental Zip streaming extension + +Apr 6, 2014: Add bsdcat command-line tool + +Jan 12, 2014: Add Zip64 support + +Dec 1, 2013: Rewrite Zip write logic + +Jul 1, 2013: Add ability to detect encrypted entries for many formats + (This does not add the ability to *decrypt* those entries, however) + +Feb 23, 2013: "raw" write support added + Feb 09, 2013: libarchive 3.1.2 released Jan 28, 2013: libarchive's new website moved to http://www.libarchive.org. Modified: head/contrib/libarchive/README ============================================================================== --- head/contrib/libarchive/README Thu May 12 09:44:21 2016 (r299528) +++ head/contrib/libarchive/README Thu May 12 10:16:16 2016 (r299529) @@ -5,7 +5,7 @@ Questions? Issues? libarchive development, including documentation, and links to the libarchive mailing lists. * To report an issue, use the issue tracker at - http://code.google.com/p/libarchive/issues/list + https://github.com/libarchive/libarchive/issues * To submit an enhancement to libarchive, please submit a pull request via GitHub. https://github.com/libarchive/libarchive/pulls @@ -13,9 +13,11 @@ Questions? Issues? This distribution bundle includes the following components: * libarchive: a library for reading and writing streaming archives * tar: the 'bsdtar' program is a full-featured 'tar' - replacement built on libarchive + implementation built on libarchive * cpio: the 'bsdcpio' program is a different interface to essentially the same functionality + * cat: the 'bsdcat' program is a simple replacement tool for + zcat, bzcat, xzcat, and such * examples: Some small example programs that you may find useful. * examples/minitar: a compact sample demonstrating use of libarchive. * contrib: Various items sent to me by third parties; @@ -39,6 +41,7 @@ The following files in the top-level dir Guide to Documentation installed by this system: * bsdtar.1 explains the use of the bsdtar program * bsdcpio.1 explains the use of the bsdcpio program + * bsdcat.1 explains the use of the bsdcat program * libarchive.3 gives an overview of the library as a whole * archive_read.3, archive_write.3, archive_write_disk.3, and archive_read_disk.3 provide detailed calling sequences for the read @@ -84,6 +87,8 @@ The library also detects and handles any * bzip2 compression * compress/LZW compression * lzma, lzip, and xz compression + * lz4 compression + * lzop compression The library can create archives in any of the following formats: * POSIX ustar @@ -91,6 +96,7 @@ The library can create archives in any o * "restricted" pax format, which will create ustar archives except for entries that require pax extensions (for long filenames, ACLs, etc). * Old GNU tar format + * Old V7 tar format * POSIX octet-oriented cpio * SVR4 "newc" cpio * shar archives @@ -107,6 +113,8 @@ When creating archives, the result can b * bzip2 compression * compress/LZW compression * lzma, lzip, and xz compression + * lz4 compression + * lzop compression Notes about the library architecture: @@ -123,12 +131,12 @@ Notes about the library architecture: * I've attempted to minimize static link pollution. If you don't explicitly invoke a particular feature (such as support for a - particular compression or format), it won't get pulled in. - In particular, if you don't explicitly enable a particular - compression or decompression support, you won't need to link - against the corresponding compression or decompression libraries. - This also reduces the size of statically-linked binaries in - environments where that matters. + particular compression or format), it won't get pulled in to + statically-linked programs. In particular, if you don't explicitly + enable a particular compression or decompression support, you won't + need to link against the corresponding compression or decompression + libraries. This also reduces the size of statically-linked + binaries in environments where that matters. * On read, the library accepts whatever blocks you hand it. Your read callback is free to pass the library a byte at a time Modified: head/contrib/libarchive/cat/bsdcat.c ============================================================================== --- vendor/libarchive/dist/cat/bsdcat.c Wed May 11 10:19:44 2016 (r299425) +++ head/contrib/libarchive/cat/bsdcat.c Thu May 12 10:16:16 2016 (r299529) @@ -42,10 +42,10 @@ __FBSDID("$FreeBSD$"); #define BYTES_PER_BLOCK (20*512) -struct archive *a; -struct archive_entry *ae; -char *bsdcat_current_path; -int exit_status = 0; +static struct archive *a; +static struct archive_entry *ae; +static const char *bsdcat_current_path; +static int exit_status = 0; void @@ -68,7 +68,7 @@ version(void) } void -bsdcat_next() +bsdcat_next(void) { a = archive_read_new(); archive_read_support_filter_all(a); @@ -85,7 +85,7 @@ bsdcat_print_error(void) } void -bsdcat_read_to_stdout(char* filename) +bsdcat_read_to_stdout(const char* filename) { int r; Modified: head/contrib/libarchive/cat/bsdcat.h ============================================================================== --- vendor/libarchive/dist/cat/bsdcat.h Wed May 11 10:19:44 2016 (r299425) +++ head/contrib/libarchive/cat/bsdcat.h Thu May 12 10:16:16 2016 (r299529) @@ -53,4 +53,4 @@ int bsdcat_getopt(struct bsdcat *); void usage(FILE *stream, int eval); void bsdcat_next(void); void bsdcat_print_error(void); -void bsdcat_read_to_stdout(char* filename); +void bsdcat_read_to_stdout(const char* filename); Modified: head/contrib/libarchive/cpio/bsdcpio.1 ============================================================================== --- head/contrib/libarchive/cpio/bsdcpio.1 Thu May 12 09:44:21 2016 (r299528) +++ head/contrib/libarchive/cpio/bsdcpio.1 Thu May 12 10:16:16 2016 (r299529) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd October 7, 2012 +.Dd September 16, 2014 .Dt CPIO 1 .Os .Sh NAME @@ -32,17 +32,17 @@ .Nd copy files to and from archives .Sh SYNOPSIS .Nm -.Brq Fl i +.Fl i .Op Ar options .Op Ar pattern ... .Op Ar < archive .Nm -.Brq Fl o +.Fl o .Op Ar options .Ar < name-list .Op Ar > archive .Nm -.Brq Fl p +.Fl p .Op Ar options .Ar dest-dir .Ar < name-list @@ -156,7 +156,8 @@ See above for description. .It Fl Fl insecure (i and p mode only) Disable security checks during extraction or copying. -This allows extraction via symbolic links and path names containing +This allows extraction via symbolic links, absolute paths, +and path names containing .Sq .. in the name. .It Fl J , Fl Fl xz @@ -181,6 +182,11 @@ instead of copying. Compress the resulting archive with .Xr lrzip 1 . In input mode, this option is ignored. +.It Fl Fl lz4 +(o mode only) +Compress the archive with lz4-compatible compression before writing it. +In input mode, this option is ignored; lz4 compression is recognized +automatically on input. .It Fl Fl lzma (o mode only) Compress the file with lzma-compatible compression before writing it. @@ -191,6 +197,15 @@ automatically on input. Compress the resulting archive with .Xr lzop 1 . In input mode, this option is ignored. +.It Fl Fl passphrase Ar passphrase +The +.Pa passphrase +is used to extract or create an encrypted archive. +Currently, zip is only a format that +.Nm +can handle encrypted archives. +You shouldn't use this option unless you realize how insecure +use of this option is. .It Fl m , Fl Fl preserve-modification-time (i and p modes) Set file modification time on created files to match Modified: head/contrib/libarchive/cpio/cmdline.c ============================================================================== --- head/contrib/libarchive/cpio/cmdline.c Thu May 12 09:44:21 2016 (r299528) +++ head/contrib/libarchive/cpio/cmdline.c Thu May 12 10:16:16 2016 (r299529) @@ -73,6 +73,7 @@ static const struct option { { "link", 0, 'l' }, { "list", 0, 't' }, { "lrzip", 0, OPTION_LRZIP }, + { "lz4", 0, OPTION_LZ4 }, { "lzma", 0, OPTION_LZMA }, { "lzop", 0, OPTION_LZOP }, { "make-directories", 0, 'd' }, @@ -80,6 +81,7 @@ static const struct option { { "null", 0, '0' }, { "numeric-uid-gid", 0, 'n' }, { "owner", 1, 'R' }, + { "passphrase", 1, OPTION_PASSPHRASE }, { "pass-through", 0, 'p' }, { "preserve-modification-time", 0, 'm' }, { "preserve-owner", 0, OPTION_PRESERVE_OWNER }, Modified: head/contrib/libarchive/cpio/cpio.c ============================================================================== --- head/contrib/libarchive/cpio/cpio.c Thu May 12 09:44:21 2016 (r299528) +++ head/contrib/libarchive/cpio/cpio.c Thu May 12 10:16:16 2016 (r299529) @@ -82,6 +82,7 @@ __FBSDID("$FreeBSD$"); #include "cpio.h" #include "err.h" #include "line_reader.h" +#include "passphrase.h" /* Fixed size of uname/gname caches. */ #define name_cache_size 101 @@ -123,6 +124,8 @@ static int restore_time(struct cpio *, s const char *, int fd); static void usage(void); static void version(void); +static const char * passphrase_callback(struct archive *, void *); +static void passphrase_free(char *); int main(int argc, char *argv[]) @@ -149,20 +152,9 @@ main(int argc, char *argv[]) } #endif - /* Need lafe_progname before calling lafe_warnc. */ - if (*argv == NULL) - lafe_progname = "bsdcpio"; - else { -#if defined(_WIN32) && !defined(__CYGWIN__) - lafe_progname = strrchr(*argv, '\\'); - if (strrchr(*argv, '/') > lafe_progname) -#endif - lafe_progname = strrchr(*argv, '/'); - if (lafe_progname != NULL) - lafe_progname++; - else - lafe_progname = *argv; - } + /* Set lafe_progname before calling lafe_warnc. */ + lafe_setprogname(*argv, "bsdcpio"); + #if HAVE_SETLOCALE if (setlocale(LC_ALL, "") == NULL) lafe_warnc(0, "Failed to set default locale"); @@ -179,6 +171,7 @@ main(int argc, char *argv[]) cpio->extract_flags |= ARCHIVE_EXTRACT_NO_OVERWRITE_NEWER; cpio->extract_flags |= ARCHIVE_EXTRACT_SECURE_SYMLINKS; cpio->extract_flags |= ARCHIVE_EXTRACT_SECURE_NODOTDOT; + cpio->extract_flags |= ARCHIVE_EXTRACT_SECURE_NOABSOLUTEPATHS; cpio->extract_flags |= ARCHIVE_EXTRACT_PERM; cpio->extract_flags |= ARCHIVE_EXTRACT_FFLAGS; cpio->extract_flags |= ARCHIVE_EXTRACT_ACL; @@ -264,6 +257,7 @@ main(int argc, char *argv[]) case OPTION_INSECURE: cpio->extract_flags &= ~ARCHIVE_EXTRACT_SECURE_SYMLINKS; cpio->extract_flags &= ~ARCHIVE_EXTRACT_SECURE_NODOTDOT; + cpio->extract_flags &= ~ARCHIVE_EXTRACT_SECURE_NOABSOLUTEPATHS; break; case 'L': /* GNU cpio */ cpio->option_follow_links = 1; @@ -272,6 +266,7 @@ main(int argc, char *argv[]) cpio->option_link = 1; break; case OPTION_LRZIP: + case OPTION_LZ4: case OPTION_LZMA: /* GNU tar, others */ case OPTION_LZOP: /* GNU tar, others */ cpio->compress = opt; @@ -301,6 +296,9 @@ main(int argc, char *argv[]) cpio->mode = opt; cpio->extract_flags &= ~ARCHIVE_EXTRACT_SECURE_NODOTDOT; break; + case OPTION_PASSPHRASE: + cpio->passphrase = cpio->argument; + break; case OPTION_PRESERVE_OWNER: cpio->extract_flags |= ARCHIVE_EXTRACT_OWNER; break; @@ -429,6 +427,7 @@ main(int argc, char *argv[]) free_cache(cpio->gname_cache); free_cache(cpio->uname_cache); free(cpio->destdir); + passphrase_free(cpio->ppbuff); return (cpio->return_value); } @@ -437,7 +436,7 @@ usage(void) { const char *p; - p = lafe_progname; + p = lafe_getprogname(); fprintf(stderr, "Brief Usage:\n"); fprintf(stderr, " List: %s -it < archive\n", p); @@ -475,7 +474,7 @@ long_help(void) const char *prog; const char *p; - prog = lafe_progname; + prog = lafe_getprogname(); fflush(stderr); @@ -500,7 +499,7 @@ version(void) { fprintf(stdout,"bsdcpio %s -- %s\n", BSDCPIO_VERSION_STRING, - archive_version_string()); + archive_version_details()); exit(0); } @@ -537,6 +536,9 @@ mode_out(struct cpio *cpio) case OPTION_LRZIP: r = archive_write_add_filter_lrzip(cpio->archive); break; + case OPTION_LZ4: + r = archive_write_add_filter_lz4(cpio->archive); + break; case OPTION_LZMA: r = archive_write_add_filter_lzma(cpio->archive); break; @@ -578,6 +580,14 @@ mode_out(struct cpio *cpio) cpio->linkresolver = archive_entry_linkresolver_new(); archive_entry_linkresolver_set_strategy(cpio->linkresolver, archive_format(cpio->archive)); + if (cpio->passphrase != NULL) + r = archive_write_set_passphrase(cpio->archive, + cpio->passphrase); + else + r = archive_write_set_passphrase_callback(cpio->archive, cpio, + &passphrase_callback); + if (r != ARCHIVE_OK) + lafe_errc(1, 0, "%s", archive_error_string(cpio->archive)); /* * The main loop: Copy each file into the output archive. @@ -944,6 +954,13 @@ mode_in(struct cpio *cpio) lafe_errc(1, 0, "Couldn't allocate archive object"); archive_read_support_filter_all(a); archive_read_support_format_all(a); + if (cpio->passphrase != NULL) + r = archive_read_add_passphrase(a, cpio->passphrase); + else + r = archive_read_set_passphrase_callback(a, cpio, + &passphrase_callback); + if (r != ARCHIVE_OK) + lafe_errc(1, 0, "%s", archive_error_string(a)); if (archive_read_open_filename(a, cpio->filename, cpio->bytes_per_block)) @@ -1047,6 +1064,13 @@ mode_list(struct cpio *cpio) lafe_errc(1, 0, "Couldn't allocate archive object"); archive_read_support_filter_all(a); archive_read_support_format_all(a); + if (cpio->passphrase != NULL) + r = archive_read_add_passphrase(a, cpio->passphrase); + else + r = archive_read_set_passphrase_callback(a, cpio, + &passphrase_callback); + if (r != ARCHIVE_OK) + lafe_errc(1, 0, "%s", archive_error_string(a)); if (archive_read_open_filename(a, cpio->filename, cpio->bytes_per_block)) @@ -1236,8 +1260,10 @@ cpio_rename(const char *name) if (t == NULL) return (name); to = fopen("CONOUT$", "w"); - if (to == NULL) + if (to == NULL) { + fclose(t); return (name); + } fprintf(to, "%s (Enter/./(new name))? ", name); fclose(to); #else @@ -1417,3 +1443,28 @@ cpio_i64toa(int64_t n0) *--p = '-'; return p; } + +#define PPBUFF_SIZE 1024 +static const char * +passphrase_callback(struct archive *a, void *_client_data) +{ + struct cpio *cpio = (struct cpio *)_client_data; + (void)a; /* UNUSED */ + + if (cpio->ppbuff == NULL) { + cpio->ppbuff = malloc(PPBUFF_SIZE); + if (cpio->ppbuff == NULL) + lafe_errc(1, errno, "Out of memory"); + } + return lafe_readpassphrase("Enter passphrase:", + cpio->ppbuff, PPBUFF_SIZE); +} + +static void +passphrase_free(char *ppbuff) +{ + if (ppbuff != NULL) { + memset(ppbuff, 0, PPBUFF_SIZE); + free(ppbuff); + } +} Modified: head/contrib/libarchive/cpio/cpio.h ============================================================================== --- head/contrib/libarchive/cpio/cpio.h Thu May 12 09:44:21 2016 (r299528) +++ head/contrib/libarchive/cpio/cpio.h Thu May 12 10:16:16 2016 (r299529) @@ -71,6 +71,7 @@ struct cpio { int gid_override; char *gname_override; int day_first; /* true if locale prefers day/mon */ + const char *passphrase; /* If >= 0, then close this when done. */ int fd; @@ -90,6 +91,7 @@ struct cpio { struct archive *matching; char *buff; size_t buff_size; + char *ppbuff; }; const char *owner_parse(const char *, int *, int *); @@ -101,8 +103,10 @@ enum { OPTION_GRZIP, OPTION_INSECURE, OPTION_LRZIP, + OPTION_LZ4, OPTION_LZMA, OPTION_LZOP, + OPTION_PASSPHRASE, OPTION_NO_PRESERVE_OWNER, OPTION_PRESERVE_OWNER, OPTION_QUIET, Modified: head/contrib/libarchive/cpio/cpio_platform.h ============================================================================== --- head/contrib/libarchive/cpio/cpio_platform.h Thu May 12 09:44:21 2016 (r299528) +++ head/contrib/libarchive/cpio/cpio_platform.h Thu May 12 10:16:16 2016 (r299529) @@ -42,6 +42,10 @@ #include "config.h" #endif +#if defined(_WIN32) && !defined(__CYGWIN__) +#include "cpio_windows.h" +#endif + /* Get a real definition for __FBSDID if we can */ #if HAVE_SYS_CDEFS_H #include @@ -70,8 +74,4 @@ #define __LA_DEAD #endif -#if defined(_WIN32) && !defined(__CYGWIN__) -#include "cpio_windows.h" -#endif - #endif /* !CPIO_PLATFORM_H_INCLUDED */ Modified: head/contrib/libarchive/cpio/test/main.c ============================================================================== --- head/contrib/libarchive/cpio/test/main.c Thu May 12 09:44:21 2016 (r299528) +++ head/contrib/libarchive/cpio/test/main.c Thu May 12 10:16:16 2016 (r299529) @@ -130,6 +130,16 @@ __FBSDID("$FreeBSD$"); # include #endif +/* Path to working directory for current test */ +const char *testworkdir; +#ifdef PROGRAM +/* Pathname of exe to be tested. */ +const char *testprogfile; +/* Name of exe to use in printf-formatted command strings. */ +/* On Windows, this includes leading/trailing quotes. */ +const char *testprog; +#endif + #if defined(_WIN32) && !defined(__CYGWIN__) static void *GetFunctionKernel32(const char *); static int my_CreateSymbolicLinkA(const char *, const char *, int); @@ -194,7 +204,7 @@ my_GetFileInformationByName(const char * } #endif -#if defined(HAVE__CrtSetReportMode) +#if defined(HAVE__CrtSetReportMode) && !defined(__WATCOMC__) static void invalid_parameter_handler(const wchar_t * expression, const wchar_t * function, const wchar_t * file, @@ -565,10 +575,10 @@ static void strdump(const char *e, const while (*p != '\0') { unsigned int c = 0xff & *p++; switch (c) { - case '\a': printf("\a"); break; - case '\b': printf("\b"); break; - case '\n': printf("\n"); break; - case '\r': printf("\r"); break; + case '\a': logprintf("\\a"); break; + case '\b': logprintf("\\b"); break; + case '\n': logprintf("\\n"); break; + case '\r': logprintf("\\r"); break; default: if (c >= 32 && c < 127) logprintf("%c", c); @@ -771,6 +781,34 @@ assertion_equal_mem(const char *file, in return (0); } +/* Verify that a block of memory is filled with the specified byte. */ +int +assertion_memory_filled_with(const char *file, int line, + const void *_v1, const char *vd, + size_t l, const char *ld, + char b, const char *bd, void *extra) +{ + const char *v1 = (const char *)_v1; + size_t c = 0; + size_t i; + (void)ld; /* UNUSED */ + + assertion_count(file, line); + + for (i = 0; i < l; ++i) { + if (v1[i] == b) { + ++c; + } + } + if (c == l) + return (1); + + failure_start(file, line, "%s (size %d) not filled with %s", vd, (int)l, bd); + logprintf(" Only %d bytes were correct\n", (int)c); + failure_finish(extra); + return (0); +} + /* Verify that the named file exists and is empty. */ int assertion_empty_file(const char *filename, int line, const char *f1) @@ -1036,6 +1074,7 @@ assertion_file_contains_lines_any_order( if (expected == NULL) { failure_start(pathname, line, "Can't allocate memory"); failure_finish(NULL); + free(expected); return (0); } for (i = 0; lines[i] != NULL; ++i) { @@ -1060,7 +1099,8 @@ assertion_file_contains_lines_any_order( free(expected); return (0); } - for (j = 0, p = buff; p < buff + buff_size; p += 1 + strlen(p)) { + for (j = 0, p = buff; p < buff + buff_size; + p += 1 + strlen(p)) { if (*p != '\0') { actual[j] = p; ++j; @@ -1912,6 +1952,18 @@ canGzip(void) * Can this platform run the lrzip program? */ int +canRunCommand(const char *cmd) +{ + static int tested = 0, value = 0; + if (!tested) { + tested = 1; + if (systemf("%s %s", cmd, redirectArgs) == 0) + value = 1; + } + return (value); +} + +int canLrzip(void) { static int tested = 0, value = 0; @@ -1924,6 +1976,21 @@ canLrzip(void) } /* + * Can this platform run the lz4 program? + */ +int +canLz4(void) +{ + static int tested = 0, value = 0; + if (!tested) { + tested = 1; + if (systemf("lz4 -V %s", redirectArgs) == 0) + value = 1; + } + return (value); +} + +/* * Can this platform run the lzip program? */ int @@ -2135,8 +2202,31 @@ slurpfile(size_t * sizep, const char *fm return (p); } +/* + * Slurp a file into memory for ease of comparison and testing. + * Returns size of file in 'sizep' if non-NULL, null-terminates + * data in memory for ease of use. + */ +void +dumpfile(const char *filename, void *data, size_t len) +{ + ssize_t bytes_written; + FILE *f; + + f = fopen(filename, "wb"); + if (f == NULL) { + logprintf("Can't open file %s for writing\n", filename); + return; + } + bytes_written = fwrite(data, 1, len, f); + if (bytes_written < (ssize_t)len) + logprintf("Can't write file %s\n", filename); + fclose(f); +} + /* Read a uuencoded file from the reference directory, decode, and * write the result into the current directory. */ +#define VALID_UUDECODE(c) (c >= 32 && c <= 96) #define UUDECODE(c) (((c) - 0x20) & 0x3f) void extract_reference_file(const char *name) @@ -2160,7 +2250,6 @@ extract_reference_file(const char *name) break; } /* Now, decode the rest and write it. */ - /* Not a lot of error checking here; the input better be right. */ out = fopen(name, "wb"); while (fgets(buff, sizeof(buff), in) != NULL) { char *p = buff; @@ -2174,17 +2263,21 @@ extract_reference_file(const char *name) int n = 0; /* Write out 1-3 bytes from that. */ if (bytes > 0) { + assert(VALID_UUDECODE(p[0])); + assert(VALID_UUDECODE(p[1])); n = UUDECODE(*p++) << 18; n |= UUDECODE(*p++) << 12; fputc(n >> 16, out); --bytes; } if (bytes > 0) { + assert(VALID_UUDECODE(p[0])); n |= UUDECODE(*p++) << 6; fputc((n >> 8) & 0xFF, out); --bytes; } if (bytes > 0) { + assert(VALID_UUDECODE(p[0])); n |= UUDECODE(*p++); fputc(n & 0xFF, out); --bytes; @@ -2195,6 +2288,32 @@ extract_reference_file(const char *name) fclose(in); } +void +copy_reference_file(const char *name) +{ + char buff[1024]; + FILE *in, *out; + size_t rbytes; + + sprintf(buff, "%s/%s", refdir, name); + in = fopen(buff, "rb"); + failure("Couldn't open reference file %s", buff); + assert(in != NULL); + if (in == NULL) + return; + /* Now, decode the rest and write it. */ + /* Not a lot of error checking here; the input better be right. */ + out = fopen(name, "wb"); + while ((rbytes = fread(buff, 1, sizeof(buff), in)) > 0) { + if (fwrite(buff, 1, rbytes, out) != rbytes) { + logprintf("Error: fwrite\n"); + break; + } + } + fclose(out); + fclose(in); +} + int is_LargeInode(const char *file) { @@ -2216,6 +2335,14 @@ is_LargeInode(const char *file) return (ino > 0xffffffff); #endif } + +void +extract_reference_files(const char **names) +{ + while (names && *names) + extract_reference_file(*names++); +} + /* * * TEST management @@ -2245,7 +2372,7 @@ struct test_list_t tests[] = { * Summarize repeated failures in the just-completed test. */ static void -test_summarize(int failed) +test_summarize(int failed, int skips_num) { unsigned int i; @@ -2255,7 +2382,7 @@ test_summarize(int failed) fflush(stdout); break; case VERBOSITY_PASSFAIL: - printf(failed ? "FAIL\n" : "ok\n"); + printf(failed ? "FAIL\n" : skips_num ? "ok (S)\n" : "ok\n"); break; } @@ -2280,13 +2407,14 @@ test_run(int i, const char *tmpdir) char workdir[1024]; char logfilename[64]; int failures_before = failures; + int skips_before = skips; int oldumask; switch (verbosity) { case VERBOSITY_SUMMARY_ONLY: /* No per-test reports at all */ break; case VERBOSITY_PASSFAIL: /* rest of line will include ok/FAIL marker */ - printf("%3d: %-50s", i, tests[i].name); + printf("%3d: %-64s", i, tests[i].name); fflush(stdout); break; default: /* Title of test, details will follow */ @@ -2336,7 +2464,7 @@ test_run(int i, const char *tmpdir) } /* Report per-test summaries. */ tests[i].failures = failures - failures_before; - test_summarize(tests[i].failures); + test_summarize(tests[i].failures, skips - skips_before); /* Close the per-test log file. */ fclose(logfile); logfile = NULL; @@ -2479,6 +2607,7 @@ get_refdir(const char *d) failure: printf("Unable to locate known reference file %s\n", KNOWNREF); printf(" Checked following directories:\n%s\n", tried); + printf("Use -r option to specify full path to reference directory\n"); #if defined(_WIN32) && !defined(__CYGWIN__) && defined(_DEBUG) DebugBreak(); #endif @@ -2515,7 +2644,7 @@ main(int argc, char **argv) while (pwd[strlen(pwd) - 1] == '\n') pwd[strlen(pwd) - 1] = '\0'; -#if defined(HAVE__CrtSetReportMode) +#if defined(HAVE__CrtSetReportMode) && !defined(__WATCOMC__) /* To stop to run the default invalid parameter handler. */ _set_invalid_parameter_handler(invalid_parameter_handler); /* Disable annoying assertion message box. */ @@ -2562,7 +2691,7 @@ main(int argc, char **argv) exit(1); } memmove(testprogdir + strlen(pwd) + 1, testprogdir, - strlen(testprogdir)); + strlen(testprogdir) + 1); memcpy(testprogdir, pwd, strlen(pwd)); testprogdir[strlen(pwd)] = '/'; } Modified: head/contrib/libarchive/cpio/test/test.h ============================================================================== --- head/contrib/libarchive/cpio/test/test.h Thu May 12 09:44:21 2016 (r299528) +++ head/contrib/libarchive/cpio/test/test.h Thu May 12 10:16:16 2016 (r299529) @@ -66,6 +66,7 @@ #include #include #include +#include #include #ifdef HAVE_UNISTD_H #include @@ -84,12 +85,14 @@ /* Windows (including Visual Studio and MinGW but not Cygwin) */ #if defined(_WIN32) && !defined(__CYGWIN__) #if !defined(__BORLANDC__) +#undef chdir +#define chdir _chdir #define strdup _strdup #endif #endif /* Visual Studio */ -#ifdef _MSC_VER +#if defined(_MSC_VER) && _MSC_VER < 1900 #define snprintf sprintf_s #endif @@ -142,6 +145,9 @@ /* As above, but raw blocks of bytes. */ #define assertEqualMem(v1, v2, l) \ assertion_equal_mem(__FILE__, __LINE__, (v1), #v1, (v2), #v2, (l), #l, NULL) +/* Assert that memory is full of a specified byte */ +#define assertMemoryFilledWith(v1, l, b) \ + assertion_memory_filled_with(__FILE__, __LINE__, (v1), #v1, (l), #l, (b), #b, NULL) /* Assert two files are the same. */ #define assertEqualFile(f1, f2) \ assertion_equal_file(__FILE__, __LINE__, (f1), (f2)) @@ -225,6 +231,7 @@ int assertion_empty_file(const char *, i int assertion_equal_file(const char *, int, const char *, const char *); int assertion_equal_int(const char *, int, long long, const char *, long long, const char *, void *); int assertion_equal_mem(const char *, int, const void *, const char *, const void *, const char *, size_t, const char *, void *); +int assertion_memory_filled_with(const char *, int, const void *, const char *, size_t, const char *, char, const char *, void *); int assertion_equal_string(const char *, int, const char *v1, const char *, const char *v2, const char *, void *, int); int assertion_equal_wstring(const char *, int, const wchar_t *v1, const char *, const wchar_t *v2, const char *, void *); int assertion_file_atime(const char *, int, const char *, long, long); @@ -275,9 +282,15 @@ int canGrzip(void); /* Return true if this platform can run the "gzip" program. */ int canGzip(void); +/* Return true if this platform can run the specified command. */ +int canRunCommand(const char *); + /* Return true if this platform can run the "lrzip" program. */ int canLrzip(void); +/* Return true if this platform can run the "lz4" program. */ +int canLz4(void); + /* Return true if this platform can run the "lzip" program. */ int canLzip(void); @@ -300,21 +313,31 @@ int is_LargeInode(const char *); /* Supports printf-style args: slurpfile(NULL, "%s/myfile", refdir); */ char *slurpfile(size_t *, const char *fmt, ...); +/* Dump block of bytes to a file. */ +void dumpfile(const char *filename, void *, size_t); + /* Extracts named reference file to the current directory. */ void extract_reference_file(const char *); +/* Copies named reference file to the current directory. */ +void copy_reference_file(const char *); + +/* Extracts a list of files to the current directory. + * List must be NULL terminated. + */ +void extract_reference_files(const char **); /* Path to working directory for current test */ -const char *testworkdir; +extern const char *testworkdir; /* * Special interfaces for program test harness. */ /* Pathname of exe to be tested. */ -const char *testprogfile; +extern const char *testprogfile; /* Name of exe to use in printf-formatted command strings. */ /* On Windows, this includes leading/trailing quotes. */ -const char *testprog; +extern const char *testprog; #ifdef USE_DMALLOC #include Modified: head/contrib/libarchive/cpio/test/test_basic.c ============================================================================== --- head/contrib/libarchive/cpio/test/test_basic.c Thu May 12 09:44:21 2016 (r299528) +++ head/contrib/libarchive/cpio/test/test_basic.c Thu May 12 10:16:16 2016 (r299529) @@ -72,7 +72,7 @@ basic_cpio(const char *target, return; /* Use the cpio program to create an archive. */ - r = systemf("%s -o %s < filelist >%s/archive 2>%s/pack.err", + r = systemf("%s -R 1000:1000 -o %s < filelist >%s/archive 2>%s/pack.err", testprog, pack_options, target, target); failure("Error invoking %s -o %s", testprog, pack_options); assertEqualInt(r, 0); Copied: head/contrib/libarchive/cpio/test/test_extract.cpio.lz4.uu (from r299425, vendor/libarchive/dist/cpio/test/test_extract.cpio.lz4.uu) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/contrib/libarchive/cpio/test/test_extract.cpio.lz4.uu Thu May 12 10:16:16 2016 (r299529, copy of r299425, vendor/libarchive/dist/cpio/test/test_extract.cpio.lz4.uu) @@ -0,0 +1,7 @@ +begin 644 test_extract.cpio.lz4 +M!")-&&1PN9$````A,#<"`&`P-#`P,3`!`&`Q,3`P-C8/`#0W-3`&```)``$& +M`,$P,3(P,S(W-#`R,S01`!$V!@```@#Q!3(S9FEL93$`8V]N=&5N=',@;V8@ +M$@`A+@IC``AE`!\R90`4$#2#``YE`!TR90`6,F4`#P(`#@+H``P"`"