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 <sys/cdefs.h>
@@ -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 <crtdbg.h>
 #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 <stdio.h>
 #include <stdlib.h>
 #include <string.h>
+#include <ctype.h>
 #include <time.h>
 #ifdef HAVE_UNISTD_H
 #include <unistd.h>
@@ -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 <dmalloc.h>

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"`"<Q,Q(`
+=OU1204E,15(A(2$``0#'4````````````"BVD[$`
+`
+end

Copied: head/contrib/libarchive/cpio/test/test_extract_cpio_lz4.c (from 
r299425, vendor/libarchive/dist/cpio/test/test_extract_cpio_lz4.c)
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ head/contrib/libarchive/cpio/test/test_extract_cpio_lz4.c   Thu May 12 
10:16:16 2016        (r299529, copy of r299425, 
vendor/libarchive/dist/cpio/test/test_extract_cpio_lz4.c)
@@ -0,0 +1,48 @@
+/*-
+ * Copyright (c) 2012,2014 Michihiro NAKAJIMA
+ * 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

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to