git: 61c70dc16a79 - main - libarchive: merge from vendor branch

From: Martin Matuska <mm_at_FreeBSD.org>
Date: Mon, 26 Oct 2026 21:58:07 UTC
The branch main has been updated by mm:

URL: https://cgit.FreeBSD.org/src/commit/?id=61c70dc16a79efcb9db732d37706cd311f555d9a

commit 61c70dc16a79efcb9db732d37706cd311f555d9a
Merge: 5250c9890848 a8dfdb79eb00
Author:     Martin Matuska <mm@FreeBSD.org>
AuthorDate: 2026-10-26 21:47:32 +0000
Commit:     Martin Matuska <mm@FreeBSD.org>
CommitDate: 2026-10-26 21:47:32 +0000

    libarchive: merge from vendor branch
    
    libarchive 3.8.10
    
    ChangeLog:
    https://github.com/libarchive/libarchive/compare/v3.8.9...v3.8.10
    
    Obtained from:  libarchive
    Vendor commit:  0c48412be2d94afe1859a807ea7896a18d8900bd
    MFC after:      3 days

 contrib/libarchive/NEWS                            |    2 +
 contrib/libarchive/build/autoconf/visibility.m4    |   84 ++
 contrib/libarchive/cpio/bsdcpio.1                  |   25 +-
 contrib/libarchive/cpio/cpio.c                     |   80 +-
 contrib/libarchive/cpio/cpio.h                     |    1 -
 contrib/libarchive/cpio/test/test_basic.c          |   74 +-
 contrib/libarchive/cpio/test/test_cmdline.c        |   10 +-
 contrib/libarchive/cpio/test/test_format_newc.c    |   40 +-
 contrib/libarchive/cpio/test/test_option_l.c       |    7 +
 contrib/libarchive/libarchive/archive.h            |   10 +-
 contrib/libarchive/libarchive/archive_blake2.h     |   13 +
 .../libarchive/libarchive/archive_check_magic.c    |    1 +
 contrib/libarchive/libarchive/archive_crc32.c      |  192 +++
 contrib/libarchive/libarchive/archive_cryptor.c    |   17 +-
 .../libarchive/archive_cryptor_private.h           |   12 +-
 contrib/libarchive/libarchive/archive_digest.c     |   64 +-
 .../libarchive/libarchive/archive_digest_private.h |   16 +-
 contrib/libarchive/libarchive/archive_entry.3      |    2 +-
 contrib/libarchive/libarchive/archive_entry.c      |   37 +-
 contrib/libarchive/libarchive/archive_entry.h      |    2 +-
 contrib/libarchive/libarchive/archive_entry_acl.3  |   20 +-
 .../libarchive/libarchive/archive_entry_linkify.3  |    8 +-
 .../libarchive/libarchive/archive_entry_locale.h   |   58 +-
 .../libarchive/libarchive/archive_entry_perms.3    |    2 +-
 contrib/libarchive/libarchive/archive_entry_stat.3 |   14 +-
 contrib/libarchive/libarchive/archive_hmac.c       |   16 +-
 .../libarchive/libarchive/archive_hmac_private.h   |   12 +-
 contrib/libarchive/libarchive/archive_match.c      |    5 +-
 contrib/libarchive/libarchive/archive_pack_dev.c   |    5 +-
 contrib/libarchive/libarchive/archive_pack_dev.h   |    3 +-
 contrib/libarchive/libarchive/archive_private.h    |   18 +-
 contrib/libarchive/libarchive/archive_random.c     |    8 +-
 contrib/libarchive/libarchive/archive_rb.c         |   10 +-
 contrib/libarchive/libarchive/archive_read.3       |    2 +-
 contrib/libarchive/libarchive/archive_read.c       |  493 +++---
 .../libarchive/archive_read_add_passphrase.3       |    4 +-
 .../libarchive/archive_read_append_filter.c        |   73 +-
 contrib/libarchive/libarchive/archive_read_data.3  |   15 +
 .../libarchive/archive_read_data_into_fd.c         |    2 +-
 contrib/libarchive/libarchive/archive_read_disk.3  |   28 +-
 .../libarchive/archive_read_disk_posix.c           |   15 +-
 .../archive_read_disk_set_standard_lookup.c        |    6 +-
 contrib/libarchive/libarchive/archive_read_free.3  |    2 +-
 contrib/libarchive/libarchive/archive_read_open.3  |    4 +-
 .../libarchive/libarchive/archive_read_open_fd.c   |    5 +-
 .../libarchive/libarchive/archive_read_open_file.c |    5 +-
 .../libarchive/archive_read_open_memory.c          |   22 +-
 .../libarchive/libarchive/archive_read_private.h   |    7 -
 .../libarchive/archive_read_set_options.3          |    2 +-
 .../libarchive/archive_read_support_filter_bzip2.c |    2 +-
 .../archive_read_support_filter_compress.c         |    2 +-
 .../libarchive/archive_read_support_filter_grzip.c |    2 +-
 .../libarchive/archive_read_support_filter_gzip.c  |   10 +-
 .../libarchive/archive_read_support_filter_lrzip.c |    8 +-
 .../libarchive/archive_read_support_filter_lz4.c   |   12 +-
 .../libarchive/archive_read_support_filter_lzop.c  |    8 +-
 .../archive_read_support_filter_program.c          |   36 +-
 .../libarchive/archive_read_support_filter_rpm.c   |    2 +-
 .../libarchive/archive_read_support_filter_uu.c    |  502 +++----
 .../libarchive/archive_read_support_filter_xz.c    |    6 +-
 .../libarchive/archive_read_support_filter_zstd.c  |   16 +-
 .../libarchive/archive_read_support_format_7zip.c  |  690 +++++++--
 .../libarchive/archive_read_support_format_ar.c    |   88 +-
 .../libarchive/archive_read_support_format_cab.c   |   99 +-
 .../libarchive/archive_read_support_format_cpio.c  |   23 +-
 .../libarchive/archive_read_support_format_empty.c |    7 +-
 .../archive_read_support_format_iso9660.c          |   85 +-
 .../libarchive/archive_read_support_format_lha.c   |  131 +-
 .../libarchive/archive_read_support_format_mtree.c |   50 +-
 .../libarchive/archive_read_support_format_rar.c   |  109 +-
 .../libarchive/archive_read_support_format_rar5.c  |  489 ++++--
 .../libarchive/archive_read_support_format_raw.c   |   13 +-
 .../libarchive/archive_read_support_format_tar.c   |  174 ++-
 .../libarchive/archive_read_support_format_warc.c  |  151 +-
 .../libarchive/archive_read_support_format_xar.c   |   78 +-
 .../libarchive/archive_read_support_format_zip.c   |  286 +++-
 contrib/libarchive/libarchive/archive_string.c     |   63 +-
 .../libarchive/libarchive/archive_string_sprintf.c |   19 +-
 contrib/libarchive/libarchive/archive_time.c       |   20 +-
 .../libarchive/libarchive/archive_time_private.h   |   10 +-
 contrib/libarchive/libarchive/archive_umask.c      |  101 ++
 .../libarchive/libarchive/archive_umask_private.h  |   49 +
 contrib/libarchive/libarchive/archive_util.c       |   24 +-
 .../libarchive/archive_version_details.c           |   26 +-
 contrib/libarchive/libarchive/archive_write.3      |    4 +-
 contrib/libarchive/libarchive/archive_write.c      |   23 +-
 .../libarchive/archive_write_add_filter_compress.c |   18 +-
 .../libarchive/archive_write_add_filter_gzip.c     |    8 +-
 .../libarchive/archive_write_add_filter_lz4.c      |   14 +-
 .../libarchive/archive_write_add_filter_program.c  |   58 +
 .../libarchive/archive_write_add_filter_zstd.c     |    2 -
 contrib/libarchive/libarchive/archive_write_data.3 |    2 +-
 contrib/libarchive/libarchive/archive_write_disk.3 |    4 +-
 .../libarchive/archive_write_disk_posix.c          |   22 +-
 .../archive_write_disk_set_standard_lookup.c       |    4 +
 contrib/libarchive/libarchive/archive_write_open.3 |    2 +-
 .../libarchive/libarchive/archive_write_open_fd.c  |    4 +
 .../libarchive/archive_write_open_file.c           |    4 +
 .../libarchive/archive_write_open_filename.c       |    3 +
 .../libarchive/archive_write_open_memory.c         |    4 +
 .../libarchive/archive_write_set_format_7zip.c     |   18 +-
 .../archive_write_set_format_cpio_binary.c         |   24 +-
 .../archive_write_set_format_cpio_newc.c           |  122 +-
 .../libarchive/archive_write_set_format_cpio_odc.c |   24 +-
 .../archive_write_set_format_filter_by_ext.c       |   31 +-
 .../libarchive/archive_write_set_format_gnutar.c   |   24 +-
 .../libarchive/archive_write_set_format_iso9660.c  |   94 +-
 .../libarchive/archive_write_set_format_mtree.c    |   17 +-
 .../libarchive/archive_write_set_format_private.h  |    5 +
 .../libarchive/archive_write_set_format_shar.c     |    8 +-
 .../libarchive/archive_write_set_format_ustar.c    |   24 +-
 .../libarchive/archive_write_set_format_v7tar.c    |   24 +-
 .../libarchive/archive_write_set_format_xar.c      |   39 +-
 .../libarchive/archive_write_set_format_zip.c      |   32 +-
 .../libarchive/archive_write_set_options.3         |   10 +-
 .../libarchive/libarchive/archive_xml_private.h    |   83 +
 contrib/libarchive/libarchive/cpio.5               |    2 +-
 contrib/libarchive/libarchive/filter_fork_posix.c  |   42 +-
 contrib/libarchive/libarchive/libarchive-formats.5 |    2 +-
 contrib/libarchive/libarchive/libarchive.3         |    2 +-
 .../libarchive/libarchive/libarchive_internals.3   |    2 +-
 contrib/libarchive/libarchive/tar.5                |    2 +-
 .../libarchive/libarchive/test/read_open_memory.c  |   18 +-
 .../libarchive/test/test_archive_crc32.c           |   49 +
 .../libarchive/test/test_archive_ntfs_time.c       |   87 ++
 .../libarchive/libarchive/test/test_archive_read.c |  365 +++++
 .../test/test_archive_read_append_filter.c         |   54 +
 .../test/test_archive_read_open_filenames.c        |   89 ++
 ..._archive_read_open_filenames_split_uaf_1.tar.uu |    9 +
 ..._archive_read_open_filenames_split_uaf_2.tar.uu |   26 +
 .../libarchive/test/test_archive_read_support.c    |   42 +
 .../libarchive/test/test_archive_string.c          |   16 +
 .../test/test_archive_string_conversion.c          |   32 +-
 .../test_archive_write_set_format_filter_by_ext.c  |    9 +-
 .../test_compat_lz4_skippable_frames_B4.tar.lz4.uu |   10 +
 .../libarchive/test/test_compat_uudecode.c         |   33 +-
 .../libarchive/libarchive/test/test_compat_zstd.c  |    4 +
 .../libarchive/test/test_compat_zstd_3.tar.zst.uu  |   22 +
 .../test/test_create_child_environment.c           |  108 ++
 contrib/libarchive/libarchive/test/test_entry.c    |    9 +-
 .../test/test_gnutar_filename_encoding.c           |   69 +-
 .../libarchive/test/test_pax_filename_encoding.c   |   24 +-
 .../test/test_read_data_block_offset_at_eof.c      |  135 ++
 .../test_read_data_into_fd_no_offset_reported.c    |   92 ++
 .../libarchive/test/test_read_filter_uudecode.c    |   31 +
 .../test/test_read_filter_uudecode_newlines.c      |   76 +
 .../test/test_read_filter_uudecode_raw.c           |  107 +-
 .../test/test_read_filter_uudecode_raw.uu          |   14 +
 .../libarchive/test/test_read_format_7zip.c        |  524 ++++++-
 ...test_read_format_7zip_deflate_arm64_large.7z.uu | 1580 ++++++++++++++++++++
 .../test_read_format_7zip_deflate_arm_arm64.7z.uu  |  124 ++
 .../test_read_format_7zip_deflate_armthumb.7z.uu   |   46 +
 .../test/test_read_format_7zip_deflate_delta.7z.uu |   61 +
 .../test/test_read_format_7zip_deflate_ia64.7z.uu  |   69 +
 .../test/test_read_format_7zip_deflate_riscv.7z.uu |   62 +
 .../test/test_read_format_7zip_lzma1_arm.7z.uu     |   61 +
 .../test/test_read_format_7zip_lzma1_arm64.7z.uu   |   65 +
 .../test_read_format_7zip_lzma1_armthumb.7z.uu     |   45 +
 .../test/test_read_format_7zip_lzma1_ia64.7z.uu    |   66 +
 .../test/test_read_format_7zip_lzma1_powerpc.7z.uu |   58 +
 .../test/test_read_format_7zip_lzma1_riscv.7z.uu   |   59 +
 .../test/test_read_format_7zip_lzma1_sparc.7z.uu   |   62 +
 .../test_read_format_7zip_null_client_next.7z.uu   |   19 +
 .../test/test_read_format_7zip_ppmd_arm64.7z.uu    |   62 +
 .../test/test_read_format_7zip_ppmd_bcj.7z.uu      |   47 +
 .../test_read_format_7zip_ppmd_small_block.7z.uu   |  103 ++
 .../libarchive/test/test_read_format_ar.c          |   12 +-
 .../libarchive/test/test_read_format_cab.c         |   10 +-
 .../test/test_read_format_cab_filename.c           |    4 +-
 .../test_read_format_cab_lzx_invalid_history.c     |   45 +
 ...test_read_format_cab_lzx_invalid_history.cab.uu |    6 +
 ...test_read_format_cab_lzx_literal_control.cab.uu |    6 +
 .../libarchive/test/test_read_format_cab_lzx_oob.c |    2 +-
 .../libarchive/test/test_read_format_cab_multi.c   |    2 +-
 .../test_read_format_cab_skip_across_folders.c     |   92 ++
 ...test_read_format_cab_skip_across_folders.cab.uu |    6 +
 .../test/test_read_format_cab_skip_malformed.c     |    2 +-
 .../test/test_read_format_cpio_filename.c          |   80 +-
 .../test/test_read_format_gtar_filename.c          |   46 +-
 .../test_read_format_gtar_sparse_exceeds_length.c  |   48 +
 ...read_format_gtar_sparse_exceeds_length.tar.Z.uu |    9 +
 .../test_read_format_iso_rockridge_ce_overflow.c   |   83 +
 ..._read_format_iso_rockridge_ce_overflow.iso.Z.uu |   15 +
 ...ead_format_iso_rockridge_cl_re_control.iso.Z.uu |   18 +
 .../test_read_format_iso_rockridge_cl_re_cycle.c   |  101 ++
 ..._read_format_iso_rockridge_cl_re_cycle.iso.Z.uu |   22 +
 .../test/test_read_format_lha_amiga_script.c       |   70 +
 .../test/test_read_format_lha_amiga_script.lha.uu  |   20 +
 .../test/test_read_format_lha_filename.c           |    4 +-
 .../test/test_read_format_lha_filename_utf16.c     |    2 +-
 .../libarchive/test/test_read_format_mtree_size.c  |   79 +
 .../libarchive/test/test_read_format_rar.c         |    9 +-
 .../libarchive/test/test_read_format_rar5.c        |  134 ++
 ...ad_format_rar5_extra_data_size_toolong.rar.Z.uu |   18 +
 .../test_read_format_rar5_extra_field_underflow.c  |   47 +
 ...t_read_format_rar5_extra_field_underflow.rar.uu |    5 +
 ...test_read_format_rar5_group_name_toolong.rar.uu |    5 +
 .../test_read_format_rar5_header_size_wraparound.c |   63 +
 ...test_read_format_rar5_owner_name_toolong.rar.uu |    5 +
 .../test/test_read_format_rar5_redir_overflow.c    |   50 +
 .../test_read_format_rar5_redir_overflow.rar.uu    |    6 +
 ...test_read_format_rar5_redir_varint_2byte.rar.uu |    8 +
 .../test/test_read_format_rar5_truncated_htime.c   |   61 +
 .../test/test_read_format_rar5_varint_near_eof.c   |   68 +
 .../test/test_read_format_rar5_zip_in_rar.rar.uu   |   11 +
 .../test_read_format_rar_filter_incomplete_block.c |   50 +
 ..._read_format_rar_filter_incomplete_block.rar.uu |    8 +
 .../test/test_read_format_tar_filename.c           |   16 +-
 .../test/test_read_format_tar_pax_global_header.c  |   82 +
 .../test_read_format_tar_pax_global_header.tar.uu  |   72 +
 ...d_format_tar_pax_global_header_ignorable.tar.uu |   72 +
 .../test/test_read_format_ustar_filename.c         |   46 +-
 .../libarchive/test/test_read_format_warc.c        |   58 +
 .../test/test_read_format_warc_uri_nul.warc.uu     |    6 +
 .../libarchive/test/test_read_format_xar.c         |   97 ++
 .../test/test_read_format_xar_empty_xattr.xar.uu   |    9 +
 ...read_format_xar_toc_premature_stream_end.xar.uu |    7 +
 ...mat_xar_toc_premature_stream_end_control.xar.uu |    4 +
 .../test/test_read_format_zip_7075_utf8_paths.c    |    2 +-
 .../test_read_format_zip_ambiguous_timestamps.c    |  321 ++++
 .../test_read_format_zip_dos_mtime_precedence.c    |  365 +++++
 .../libarchive/test/test_read_format_zip_empty.c   |   56 +
 .../test/test_read_format_zip_filename.c           |   84 +-
 .../test_read_format_zip_lzma_alone_large_size.c   |   56 +
 ...st_read_format_zip_lzma_alone_large_size.zip.uu |   45 +
 .../test_read_format_zip_negative_timestamps.c     |  156 ++
 .../test/test_read_format_zip_ntfs_precedence.c    |  365 +++++
 .../test/test_read_format_zip_ntfs_timestamp.c     |  136 ++
 .../test/test_read_format_zip_unset_times.c        |  362 +++++
 .../test/test_read_format_zip_winzip_aes_large.c   |    5 +-
 .../test/test_read_format_zip_zipx_encrypted.c     |   14 +
 .../libarchive/test/test_read_set_format.c         |   50 +-
 .../libarchive/test/test_read_truncated_filter.c   |   90 ++
 .../libarchive/test/test_ustar_filename_encoding.c |   33 +-
 .../libarchive/test/test_write_disk_appledouble.c  |   55 +-
 .../test/test_write_disk_secure_physicaldrive.c    |   94 ++
 .../libarchive/test/test_write_filter_compress.c   |   80 +
 .../libarchive/test/test_write_filter_lz4.c        |   54 +
 .../libarchive/test/test_write_format_ar.c         |    5 -
 .../libarchive/test/test_write_format_cpio_newc.c  |   63 +
 .../test/test_write_format_iso9660_bugs.c          |   59 +
 .../test_write_format_iso9660_rr_moved_notdir.c    |  133 ++
 .../libarchive/test/test_write_format_mtree.c      |   31 +
 .../test/test_write_format_mtree_preset_digests.c  |   17 +-
 .../libarchive/test/test_write_format_pax.c        |   14 +
 .../libarchive/test/test_write_format_pax_align.c  |   26 +-
 .../libarchive/test/test_write_format_raw.c        |    4 +-
 .../libarchive/test/test_write_format_shar_empty.c |   37 +
 .../libarchive/test/test_write_format_xar.c        |    2 +-
 .../libarchive/test/test_zip_filename_encoding.c   |   20 +-
 .../libarchive/libarchive_fe/lafe_explicit_bzero.c |   52 +
 .../libarchive/libarchive_fe/lafe_explicit_bzero.h |   36 +
 contrib/libarchive/libarchive_fe/lafe_setmode.c    |  464 ++++++
 contrib/libarchive/libarchive_fe/lafe_setmode.h    |   41 +
 contrib/libarchive/tar/bsdtar.1                    |   60 +-
 contrib/libarchive/tar/bsdtar.c                    |   10 +
 contrib/libarchive/tar/bsdtar.h                    |   10 +-
 contrib/libarchive/tar/cmdline.c                   |    1 +
 contrib/libarchive/tar/read.c                      |   30 +-
 contrib/libarchive/tar/subst.c                     |   46 +-
 contrib/libarchive/tar/test/test_basic.c           |    3 +-
 contrib/libarchive/tar/test/test_copy.c            |    6 +-
 .../tar/test/test_edit_pathname_hardlink.c         |   46 +
 .../tar/test/test_edit_pathname_hardlink.tar.Z.uu  |    8 +
 contrib/libarchive/tar/test/test_option_P_upper.c  |   21 +-
 contrib/libarchive/tar/test/test_option_T_upper.c  |   16 +-
 contrib/libarchive/tar/test/test_option_b.c        |    2 +-
 .../libarchive/tar/test/test_option_gid_gname.c    |   33 +-
 contrib/libarchive/tar/test/test_option_group.c    |   18 +-
 .../libarchive/tar/test/test_option_ignore_zeros.c |   38 +-
 contrib/libarchive/tar/test/test_option_mode.c     |  120 ++
 contrib/libarchive/tar/test/test_option_owner.c    |   18 +-
 .../libarchive/tar/test/test_option_passphrase.c   |   19 +
 contrib/libarchive/tar/test/test_option_r.c        |   36 +-
 contrib/libarchive/tar/test/test_option_s.c        |   12 +
 .../libarchive/tar/test/test_option_uid_uname.c    |   31 +-
 contrib/libarchive/tar/util.c                      |  123 +-
 contrib/libarchive/tar/write.c                     |  124 +-
 contrib/libarchive/test_utils/test_common.h        |    9 +-
 contrib/libarchive/test_utils/test_main.c          |   45 +-
 contrib/libarchive/unzip/bsdunzip.1                |    4 +-
 contrib/libarchive/unzip/bsdunzip.c                |  125 +-
 contrib/libarchive/unzip/test/test_I.c             |   10 +-
 contrib/libarchive/unzip/test/test_Z1.c            |   14 +
 contrib/libarchive/unzip/test/test_windows_paths.c |   38 +
 .../unzip/test/test_windows_paths.zip.uu           |   16 +
 lib/libarchive/Makefile                            |    2 +
 lib/libarchive/tests/Makefile                      |   91 +-
 usr.bin/tar/Makefile                               |    1 +
 usr.bin/tar/tests/Makefile                         |    3 +
 290 files changed, 14052 insertions(+), 2759 deletions(-)

diff --cc contrib/libarchive/build/autoconf/visibility.m4
index 000000000000,55ceb67219be..55ceb67219be
mode 000000,100644..100644
--- a/contrib/libarchive/build/autoconf/visibility.m4
+++ b/contrib/libarchive/build/autoconf/visibility.m4
diff --cc contrib/libarchive/libarchive/archive_crc32.c
index 000000000000,0b0055784943..0b0055784943
mode 000000,100644..100644
--- a/contrib/libarchive/libarchive/archive_crc32.c
+++ b/contrib/libarchive/libarchive/archive_crc32.c
diff --cc contrib/libarchive/libarchive/archive_umask.c
index 000000000000,23b8aeda965a..23b8aeda965a
mode 000000,100644..100644
--- a/contrib/libarchive/libarchive/archive_umask.c
+++ b/contrib/libarchive/libarchive/archive_umask.c
diff --cc contrib/libarchive/libarchive/archive_umask_private.h
index 000000000000,98e41a49c2a9..98e41a49c2a9
mode 000000,100644..100644
--- a/contrib/libarchive/libarchive/archive_umask_private.h
+++ b/contrib/libarchive/libarchive/archive_umask_private.h
diff --cc contrib/libarchive/libarchive/archive_xml_private.h
index 000000000000,bb20ec876600..bb20ec876600
mode 000000,100644..100644
--- a/contrib/libarchive/libarchive/archive_xml_private.h
+++ b/contrib/libarchive/libarchive/archive_xml_private.h
diff --cc contrib/libarchive/libarchive/test/test_archive_crc32.c
index 000000000000,f6525cccce72..f6525cccce72
mode 000000,100644..100644
--- a/contrib/libarchive/libarchive/test/test_archive_crc32.c
+++ b/contrib/libarchive/libarchive/test/test_archive_crc32.c
diff --cc contrib/libarchive/libarchive/test/test_archive_ntfs_time.c
index 000000000000,ed65fce8e32a..ed65fce8e32a
mode 000000,100644..100644
--- a/contrib/libarchive/libarchive/test/test_archive_ntfs_time.c
+++ b/contrib/libarchive/libarchive/test/test_archive_ntfs_time.c
diff --cc contrib/libarchive/libarchive/test/test_archive_read_append_filter.c
index 000000000000,5c301d5207ae..5c301d5207ae
mode 000000,100644..100644
--- a/contrib/libarchive/libarchive/test/test_archive_read_append_filter.c
+++ b/contrib/libarchive/libarchive/test/test_archive_read_append_filter.c
diff --cc contrib/libarchive/libarchive/test/test_archive_read_open_filenames.c
index 000000000000,4c23b152f504..4c23b152f504
mode 000000,100644..100644
--- a/contrib/libarchive/libarchive/test/test_archive_read_open_filenames.c
+++ b/contrib/libarchive/libarchive/test/test_archive_read_open_filenames.c
diff --cc contrib/libarchive/libarchive/test/test_archive_read_open_filenames_split_uaf_1.tar.uu
index 000000000000,5a5bf6bdab2a..5a5bf6bdab2a
mode 000000,100644..100644
--- a/contrib/libarchive/libarchive/test/test_archive_read_open_filenames_split_uaf_1.tar.uu
+++ b/contrib/libarchive/libarchive/test/test_archive_read_open_filenames_split_uaf_1.tar.uu
diff --cc contrib/libarchive/libarchive/test/test_archive_read_open_filenames_split_uaf_2.tar.uu
index 000000000000,c0a7abd7794a..c0a7abd7794a
mode 000000,100644..100644
--- a/contrib/libarchive/libarchive/test/test_archive_read_open_filenames_split_uaf_2.tar.uu
+++ b/contrib/libarchive/libarchive/test/test_archive_read_open_filenames_split_uaf_2.tar.uu
diff --cc contrib/libarchive/libarchive/test/test_compat_zstd_3.tar.zst.uu
index 000000000000,79b53716f190..79b53716f190
mode 000000,100644..100644
--- a/contrib/libarchive/libarchive/test/test_compat_zstd_3.tar.zst.uu
+++ b/contrib/libarchive/libarchive/test/test_compat_zstd_3.tar.zst.uu
diff --cc contrib/libarchive/libarchive/test/test_create_child_environment.c
index 000000000000,1b937fd50152..1b937fd50152
mode 000000,100644..100644
--- a/contrib/libarchive/libarchive/test/test_create_child_environment.c
+++ b/contrib/libarchive/libarchive/test/test_create_child_environment.c
diff --cc contrib/libarchive/libarchive/test/test_read_data_block_offset_at_eof.c
index 000000000000,82e2f9703adc..82e2f9703adc
mode 000000,100644..100644
--- a/contrib/libarchive/libarchive/test/test_read_data_block_offset_at_eof.c
+++ b/contrib/libarchive/libarchive/test/test_read_data_block_offset_at_eof.c
diff --cc contrib/libarchive/libarchive/test/test_read_data_into_fd_no_offset_reported.c
index 000000000000,8711ccf085b9..8711ccf085b9
mode 000000,100644..100644
--- a/contrib/libarchive/libarchive/test/test_read_data_into_fd_no_offset_reported.c
+++ b/contrib/libarchive/libarchive/test/test_read_data_into_fd_no_offset_reported.c
diff --cc contrib/libarchive/libarchive/test/test_read_filter_uudecode_newlines.c
index 000000000000,dd017548ce8f..dd017548ce8f
mode 000000,100644..100644
--- a/contrib/libarchive/libarchive/test/test_read_filter_uudecode_newlines.c
+++ b/contrib/libarchive/libarchive/test/test_read_filter_uudecode_newlines.c
diff --cc contrib/libarchive/libarchive/test/test_read_format_7zip_deflate_arm64_large.7z.uu
index 000000000000,408159308cf2..408159308cf2
mode 000000,100644..100644
--- a/contrib/libarchive/libarchive/test/test_read_format_7zip_deflate_arm64_large.7z.uu
+++ b/contrib/libarchive/libarchive/test/test_read_format_7zip_deflate_arm64_large.7z.uu
diff --cc contrib/libarchive/libarchive/test/test_read_format_7zip_deflate_arm_arm64.7z.uu
index 000000000000,61afc1f6da5c..61afc1f6da5c
mode 000000,100644..100644
--- a/contrib/libarchive/libarchive/test/test_read_format_7zip_deflate_arm_arm64.7z.uu
+++ b/contrib/libarchive/libarchive/test/test_read_format_7zip_deflate_arm_arm64.7z.uu
diff --cc contrib/libarchive/libarchive/test/test_read_format_7zip_deflate_armthumb.7z.uu
index 000000000000,b7bd75501f64..b7bd75501f64
mode 000000,100644..100644
--- a/contrib/libarchive/libarchive/test/test_read_format_7zip_deflate_armthumb.7z.uu
+++ b/contrib/libarchive/libarchive/test/test_read_format_7zip_deflate_armthumb.7z.uu
diff --cc contrib/libarchive/libarchive/test/test_read_format_7zip_deflate_delta.7z.uu
index 000000000000,5e4b00438f64..5e4b00438f64
mode 000000,100644..100644
--- a/contrib/libarchive/libarchive/test/test_read_format_7zip_deflate_delta.7z.uu
+++ b/contrib/libarchive/libarchive/test/test_read_format_7zip_deflate_delta.7z.uu
diff --cc contrib/libarchive/libarchive/test/test_read_format_7zip_deflate_ia64.7z.uu
index 000000000000,0088d4e5ea28..0088d4e5ea28
mode 000000,100644..100644
--- a/contrib/libarchive/libarchive/test/test_read_format_7zip_deflate_ia64.7z.uu
+++ b/contrib/libarchive/libarchive/test/test_read_format_7zip_deflate_ia64.7z.uu
diff --cc contrib/libarchive/libarchive/test/test_read_format_7zip_deflate_riscv.7z.uu
index 000000000000,3dc608ff7f85..3dc608ff7f85
mode 000000,100644..100644
--- a/contrib/libarchive/libarchive/test/test_read_format_7zip_deflate_riscv.7z.uu
+++ b/contrib/libarchive/libarchive/test/test_read_format_7zip_deflate_riscv.7z.uu
diff --cc contrib/libarchive/libarchive/test/test_read_format_7zip_lzma1_arm.7z.uu
index 000000000000,1772f57259f7..1772f57259f7
mode 000000,100644..100644
--- a/contrib/libarchive/libarchive/test/test_read_format_7zip_lzma1_arm.7z.uu
+++ b/contrib/libarchive/libarchive/test/test_read_format_7zip_lzma1_arm.7z.uu
diff --cc contrib/libarchive/libarchive/test/test_read_format_7zip_lzma1_arm64.7z.uu
index 000000000000,dcb180849b1b..dcb180849b1b
mode 000000,100644..100644
--- a/contrib/libarchive/libarchive/test/test_read_format_7zip_lzma1_arm64.7z.uu
+++ b/contrib/libarchive/libarchive/test/test_read_format_7zip_lzma1_arm64.7z.uu
diff --cc contrib/libarchive/libarchive/test/test_read_format_7zip_lzma1_armthumb.7z.uu
index 000000000000,2e10966a6694..2e10966a6694
mode 000000,100644..100644
--- a/contrib/libarchive/libarchive/test/test_read_format_7zip_lzma1_armthumb.7z.uu
+++ b/contrib/libarchive/libarchive/test/test_read_format_7zip_lzma1_armthumb.7z.uu
diff --cc contrib/libarchive/libarchive/test/test_read_format_7zip_lzma1_ia64.7z.uu
index 000000000000,a201a15685e3..a201a15685e3
mode 000000,100644..100644
--- a/contrib/libarchive/libarchive/test/test_read_format_7zip_lzma1_ia64.7z.uu
+++ b/contrib/libarchive/libarchive/test/test_read_format_7zip_lzma1_ia64.7z.uu
diff --cc contrib/libarchive/libarchive/test/test_read_format_7zip_lzma1_powerpc.7z.uu
index 000000000000,5336e65caf74..5336e65caf74
mode 000000,100644..100644
--- a/contrib/libarchive/libarchive/test/test_read_format_7zip_lzma1_powerpc.7z.uu
+++ b/contrib/libarchive/libarchive/test/test_read_format_7zip_lzma1_powerpc.7z.uu
diff --cc contrib/libarchive/libarchive/test/test_read_format_7zip_lzma1_riscv.7z.uu
index 000000000000,167771d6086a..167771d6086a
mode 000000,100644..100644
--- a/contrib/libarchive/libarchive/test/test_read_format_7zip_lzma1_riscv.7z.uu
+++ b/contrib/libarchive/libarchive/test/test_read_format_7zip_lzma1_riscv.7z.uu
diff --cc contrib/libarchive/libarchive/test/test_read_format_7zip_lzma1_sparc.7z.uu
index 000000000000,e3c31307b583..e3c31307b583
mode 000000,100644..100644
--- a/contrib/libarchive/libarchive/test/test_read_format_7zip_lzma1_sparc.7z.uu
+++ b/contrib/libarchive/libarchive/test/test_read_format_7zip_lzma1_sparc.7z.uu
diff --cc contrib/libarchive/libarchive/test/test_read_format_7zip_null_client_next.7z.uu
index 000000000000,4c6179a7ec8e..4c6179a7ec8e
mode 000000,100644..100644
--- a/contrib/libarchive/libarchive/test/test_read_format_7zip_null_client_next.7z.uu
+++ b/contrib/libarchive/libarchive/test/test_read_format_7zip_null_client_next.7z.uu
diff --cc contrib/libarchive/libarchive/test/test_read_format_7zip_ppmd_arm64.7z.uu
index 000000000000,a16427aeff4c..a16427aeff4c
mode 000000,100644..100644
--- a/contrib/libarchive/libarchive/test/test_read_format_7zip_ppmd_arm64.7z.uu
+++ b/contrib/libarchive/libarchive/test/test_read_format_7zip_ppmd_arm64.7z.uu
diff --cc contrib/libarchive/libarchive/test/test_read_format_7zip_ppmd_bcj.7z.uu
index 000000000000,a9ce2d477a3e..a9ce2d477a3e
mode 000000,100644..100644
--- a/contrib/libarchive/libarchive/test/test_read_format_7zip_ppmd_bcj.7z.uu
+++ b/contrib/libarchive/libarchive/test/test_read_format_7zip_ppmd_bcj.7z.uu
diff --cc contrib/libarchive/libarchive/test/test_read_format_7zip_ppmd_small_block.7z.uu
index 000000000000,26e0839bd435..26e0839bd435
mode 000000,100644..100644
--- a/contrib/libarchive/libarchive/test/test_read_format_7zip_ppmd_small_block.7z.uu
+++ b/contrib/libarchive/libarchive/test/test_read_format_7zip_ppmd_small_block.7z.uu
diff --cc contrib/libarchive/libarchive/test/test_read_format_cab_lzx_invalid_history.c
index 000000000000,1cfcb15c7071..1cfcb15c7071
mode 000000,100644..100644
--- a/contrib/libarchive/libarchive/test/test_read_format_cab_lzx_invalid_history.c
+++ b/contrib/libarchive/libarchive/test/test_read_format_cab_lzx_invalid_history.c
diff --cc contrib/libarchive/libarchive/test/test_read_format_cab_lzx_invalid_history.cab.uu
index 000000000000,a6bc436c9e1f..a6bc436c9e1f
mode 000000,100644..100644
--- a/contrib/libarchive/libarchive/test/test_read_format_cab_lzx_invalid_history.cab.uu
+++ b/contrib/libarchive/libarchive/test/test_read_format_cab_lzx_invalid_history.cab.uu
diff --cc contrib/libarchive/libarchive/test/test_read_format_cab_lzx_literal_control.cab.uu
index 000000000000,272d840ed595..272d840ed595
mode 000000,100644..100644
--- a/contrib/libarchive/libarchive/test/test_read_format_cab_lzx_literal_control.cab.uu
+++ b/contrib/libarchive/libarchive/test/test_read_format_cab_lzx_literal_control.cab.uu
diff --cc contrib/libarchive/libarchive/test/test_read_format_cab_skip_across_folders.c
index 000000000000,9caf43387fc5..9caf43387fc5
mode 000000,100644..100644
--- a/contrib/libarchive/libarchive/test/test_read_format_cab_skip_across_folders.c
+++ b/contrib/libarchive/libarchive/test/test_read_format_cab_skip_across_folders.c
diff --cc contrib/libarchive/libarchive/test/test_read_format_cab_skip_across_folders.cab.uu
index 000000000000,5474b25f5364..5474b25f5364
mode 000000,100644..100644
--- a/contrib/libarchive/libarchive/test/test_read_format_cab_skip_across_folders.cab.uu
+++ b/contrib/libarchive/libarchive/test/test_read_format_cab_skip_across_folders.cab.uu
diff --cc contrib/libarchive/libarchive/test/test_read_format_gtar_sparse_exceeds_length.c
index 000000000000,11b5c9a60758..11b5c9a60758
mode 000000,100644..100644
--- a/contrib/libarchive/libarchive/test/test_read_format_gtar_sparse_exceeds_length.c
+++ b/contrib/libarchive/libarchive/test/test_read_format_gtar_sparse_exceeds_length.c
diff --cc contrib/libarchive/libarchive/test/test_read_format_gtar_sparse_exceeds_length.tar.Z.uu
index 000000000000,a4c4cc06f839..a4c4cc06f839
mode 000000,100644..100644
--- a/contrib/libarchive/libarchive/test/test_read_format_gtar_sparse_exceeds_length.tar.Z.uu
+++ b/contrib/libarchive/libarchive/test/test_read_format_gtar_sparse_exceeds_length.tar.Z.uu
diff --cc contrib/libarchive/libarchive/test/test_read_format_iso_rockridge_ce_overflow.c
index 000000000000,3876e486d21a..3876e486d21a
mode 000000,100644..100644
--- a/contrib/libarchive/libarchive/test/test_read_format_iso_rockridge_ce_overflow.c
+++ b/contrib/libarchive/libarchive/test/test_read_format_iso_rockridge_ce_overflow.c
diff --cc contrib/libarchive/libarchive/test/test_read_format_iso_rockridge_ce_overflow.iso.Z.uu
index 000000000000,b4cc23c8ec84..b4cc23c8ec84
mode 000000,100644..100644
--- a/contrib/libarchive/libarchive/test/test_read_format_iso_rockridge_ce_overflow.iso.Z.uu
+++ b/contrib/libarchive/libarchive/test/test_read_format_iso_rockridge_ce_overflow.iso.Z.uu
diff --cc contrib/libarchive/libarchive/test/test_read_format_iso_rockridge_cl_re_control.iso.Z.uu
index 000000000000,7b78b67d7ba7..7b78b67d7ba7
mode 000000,100644..100644
--- a/contrib/libarchive/libarchive/test/test_read_format_iso_rockridge_cl_re_control.iso.Z.uu
+++ b/contrib/libarchive/libarchive/test/test_read_format_iso_rockridge_cl_re_control.iso.Z.uu
diff --cc contrib/libarchive/libarchive/test/test_read_format_iso_rockridge_cl_re_cycle.c
index 000000000000,7b9586d783ff..7b9586d783ff
mode 000000,100644..100644
--- a/contrib/libarchive/libarchive/test/test_read_format_iso_rockridge_cl_re_cycle.c
+++ b/contrib/libarchive/libarchive/test/test_read_format_iso_rockridge_cl_re_cycle.c
diff --cc contrib/libarchive/libarchive/test/test_read_format_iso_rockridge_cl_re_cycle.iso.Z.uu
index 000000000000,f91a0fab4e83..f91a0fab4e83
mode 000000,100644..100644
--- a/contrib/libarchive/libarchive/test/test_read_format_iso_rockridge_cl_re_cycle.iso.Z.uu
+++ b/contrib/libarchive/libarchive/test/test_read_format_iso_rockridge_cl_re_cycle.iso.Z.uu
diff --cc contrib/libarchive/libarchive/test/test_read_format_lha_amiga_script.c
index 000000000000,81f16e452392..81f16e452392
mode 000000,100644..100644
--- a/contrib/libarchive/libarchive/test/test_read_format_lha_amiga_script.c
+++ b/contrib/libarchive/libarchive/test/test_read_format_lha_amiga_script.c
diff --cc contrib/libarchive/libarchive/test/test_read_format_lha_amiga_script.lha.uu
index 000000000000,ec53a5de870e..ec53a5de870e
mode 000000,100644..100644
--- a/contrib/libarchive/libarchive/test/test_read_format_lha_amiga_script.lha.uu
+++ b/contrib/libarchive/libarchive/test/test_read_format_lha_amiga_script.lha.uu
diff --cc contrib/libarchive/libarchive/test/test_read_format_mtree_size.c
index 000000000000,032615a39560..032615a39560
mode 000000,100644..100644
--- a/contrib/libarchive/libarchive/test/test_read_format_mtree_size.c
+++ b/contrib/libarchive/libarchive/test/test_read_format_mtree_size.c
diff --cc contrib/libarchive/libarchive/test/test_read_format_rar5_extra_data_size_toolong.rar.Z.uu
index 000000000000,b56e50507941..b56e50507941
mode 000000,100644..100644
--- a/contrib/libarchive/libarchive/test/test_read_format_rar5_extra_data_size_toolong.rar.Z.uu
+++ b/contrib/libarchive/libarchive/test/test_read_format_rar5_extra_data_size_toolong.rar.Z.uu
diff --cc contrib/libarchive/libarchive/test/test_read_format_rar5_extra_field_underflow.c
index 000000000000,a63ae19a48e9..a63ae19a48e9
mode 000000,100644..100644
--- a/contrib/libarchive/libarchive/test/test_read_format_rar5_extra_field_underflow.c
+++ b/contrib/libarchive/libarchive/test/test_read_format_rar5_extra_field_underflow.c
diff --cc contrib/libarchive/libarchive/test/test_read_format_rar5_extra_field_underflow.rar.uu
index 000000000000,423b905ed6c1..423b905ed6c1
mode 000000,100644..100644
--- a/contrib/libarchive/libarchive/test/test_read_format_rar5_extra_field_underflow.rar.uu
+++ b/contrib/libarchive/libarchive/test/test_read_format_rar5_extra_field_underflow.rar.uu
diff --cc contrib/libarchive/libarchive/test/test_read_format_rar5_group_name_toolong.rar.uu
index 000000000000,f21750dc09fe..f21750dc09fe
mode 000000,100644..100644
--- a/contrib/libarchive/libarchive/test/test_read_format_rar5_group_name_toolong.rar.uu
+++ b/contrib/libarchive/libarchive/test/test_read_format_rar5_group_name_toolong.rar.uu
diff --cc contrib/libarchive/libarchive/test/test_read_format_rar5_header_size_wraparound.c
index 000000000000,9f8c2ab304dd..9f8c2ab304dd
mode 000000,100644..100644
--- a/contrib/libarchive/libarchive/test/test_read_format_rar5_header_size_wraparound.c
+++ b/contrib/libarchive/libarchive/test/test_read_format_rar5_header_size_wraparound.c
diff --cc contrib/libarchive/libarchive/test/test_read_format_rar5_owner_name_toolong.rar.uu
index 000000000000,780c279376db..780c279376db
mode 000000,100644..100644
--- a/contrib/libarchive/libarchive/test/test_read_format_rar5_owner_name_toolong.rar.uu
+++ b/contrib/libarchive/libarchive/test/test_read_format_rar5_owner_name_toolong.rar.uu
diff --cc contrib/libarchive/libarchive/test/test_read_format_rar5_redir_overflow.c
index 000000000000,0f7cc8c9eb93..0f7cc8c9eb93
mode 000000,100644..100644
--- a/contrib/libarchive/libarchive/test/test_read_format_rar5_redir_overflow.c
+++ b/contrib/libarchive/libarchive/test/test_read_format_rar5_redir_overflow.c
diff --cc contrib/libarchive/libarchive/test/test_read_format_rar5_redir_overflow.rar.uu
index 000000000000,945ee9906a1c..945ee9906a1c
mode 000000,100644..100644
--- a/contrib/libarchive/libarchive/test/test_read_format_rar5_redir_overflow.rar.uu
+++ b/contrib/libarchive/libarchive/test/test_read_format_rar5_redir_overflow.rar.uu
diff --cc contrib/libarchive/libarchive/test/test_read_format_rar5_redir_varint_2byte.rar.uu
index 000000000000,415872945fb6..415872945fb6
mode 000000,100644..100644
--- a/contrib/libarchive/libarchive/test/test_read_format_rar5_redir_varint_2byte.rar.uu
+++ b/contrib/libarchive/libarchive/test/test_read_format_rar5_redir_varint_2byte.rar.uu
diff --cc contrib/libarchive/libarchive/test/test_read_format_rar5_truncated_htime.c
index 000000000000,135922f765b1..135922f765b1
mode 000000,100644..100644
--- a/contrib/libarchive/libarchive/test/test_read_format_rar5_truncated_htime.c
+++ b/contrib/libarchive/libarchive/test/test_read_format_rar5_truncated_htime.c
diff --cc contrib/libarchive/libarchive/test/test_read_format_rar5_varint_near_eof.c
index 000000000000,8377654bf43e..8377654bf43e
mode 000000,100644..100644
--- a/contrib/libarchive/libarchive/test/test_read_format_rar5_varint_near_eof.c
+++ b/contrib/libarchive/libarchive/test/test_read_format_rar5_varint_near_eof.c
diff --cc contrib/libarchive/libarchive/test/test_read_format_rar5_zip_in_rar.rar.uu
index 000000000000,107133f23e51..107133f23e51
mode 000000,100644..100644
--- a/contrib/libarchive/libarchive/test/test_read_format_rar5_zip_in_rar.rar.uu
+++ b/contrib/libarchive/libarchive/test/test_read_format_rar5_zip_in_rar.rar.uu
diff --cc contrib/libarchive/libarchive/test/test_read_format_rar_filter_incomplete_block.c
index 000000000000,5069c61bb4ec..5069c61bb4ec
mode 000000,100644..100644
--- a/contrib/libarchive/libarchive/test/test_read_format_rar_filter_incomplete_block.c
+++ b/contrib/libarchive/libarchive/test/test_read_format_rar_filter_incomplete_block.c
diff --cc contrib/libarchive/libarchive/test/test_read_format_rar_filter_incomplete_block.rar.uu
index 000000000000,27a7d489fff5..27a7d489fff5
mode 000000,100644..100644
--- a/contrib/libarchive/libarchive/test/test_read_format_rar_filter_incomplete_block.rar.uu
+++ b/contrib/libarchive/libarchive/test/test_read_format_rar_filter_incomplete_block.rar.uu
diff --cc contrib/libarchive/libarchive/test/test_read_format_tar_pax_global_header.c
index 000000000000,c19ec8f27216..c19ec8f27216
mode 000000,100644..100644
--- a/contrib/libarchive/libarchive/test/test_read_format_tar_pax_global_header.c
+++ b/contrib/libarchive/libarchive/test/test_read_format_tar_pax_global_header.c
diff --cc contrib/libarchive/libarchive/test/test_read_format_tar_pax_global_header.tar.uu
index 000000000000,5f5ffcf0b7a0..5f5ffcf0b7a0
mode 000000,100644..100644
--- a/contrib/libarchive/libarchive/test/test_read_format_tar_pax_global_header.tar.uu
+++ b/contrib/libarchive/libarchive/test/test_read_format_tar_pax_global_header.tar.uu
diff --cc contrib/libarchive/libarchive/test/test_read_format_tar_pax_global_header_ignorable.tar.uu
index 000000000000,0fb60e7c2144..0fb60e7c2144
mode 000000,100644..100644
--- a/contrib/libarchive/libarchive/test/test_read_format_tar_pax_global_header_ignorable.tar.uu
+++ b/contrib/libarchive/libarchive/test/test_read_format_tar_pax_global_header_ignorable.tar.uu
diff --cc contrib/libarchive/libarchive/test/test_read_format_warc_uri_nul.warc.uu
index 000000000000,61243a244e73..61243a244e73
mode 000000,100644..100644
--- a/contrib/libarchive/libarchive/test/test_read_format_warc_uri_nul.warc.uu
+++ b/contrib/libarchive/libarchive/test/test_read_format_warc_uri_nul.warc.uu
diff --cc contrib/libarchive/libarchive/test/test_read_format_xar_empty_xattr.xar.uu
index 000000000000,358ed3f0d249..358ed3f0d249
mode 000000,100644..100644
--- a/contrib/libarchive/libarchive/test/test_read_format_xar_empty_xattr.xar.uu
+++ b/contrib/libarchive/libarchive/test/test_read_format_xar_empty_xattr.xar.uu
diff --cc contrib/libarchive/libarchive/test/test_read_format_xar_toc_premature_stream_end.xar.uu
index 000000000000,8121e29c492a..8121e29c492a
mode 000000,100644..100644
--- a/contrib/libarchive/libarchive/test/test_read_format_xar_toc_premature_stream_end.xar.uu
+++ b/contrib/libarchive/libarchive/test/test_read_format_xar_toc_premature_stream_end.xar.uu
diff --cc contrib/libarchive/libarchive/test/test_read_format_xar_toc_premature_stream_end_control.xar.uu
index 000000000000,057cb37c3cfb..057cb37c3cfb
mode 000000,100644..100644
--- a/contrib/libarchive/libarchive/test/test_read_format_xar_toc_premature_stream_end_control.xar.uu
+++ b/contrib/libarchive/libarchive/test/test_read_format_xar_toc_premature_stream_end_control.xar.uu
diff --cc contrib/libarchive/libarchive/test/test_read_format_zip_ambiguous_timestamps.c
index 000000000000,11912cd7981b..11912cd7981b
mode 000000,100644..100644
--- a/contrib/libarchive/libarchive/test/test_read_format_zip_ambiguous_timestamps.c
+++ b/contrib/libarchive/libarchive/test/test_read_format_zip_ambiguous_timestamps.c
diff --cc contrib/libarchive/libarchive/test/test_read_format_zip_dos_mtime_precedence.c
index 000000000000,9274cee86e9a..9274cee86e9a
mode 000000,100644..100644
--- a/contrib/libarchive/libarchive/test/test_read_format_zip_dos_mtime_precedence.c
+++ b/contrib/libarchive/libarchive/test/test_read_format_zip_dos_mtime_precedence.c
diff --cc contrib/libarchive/libarchive/test/test_read_format_zip_empty.c
index 000000000000,eeaf8a767176..eeaf8a767176
mode 000000,100644..100644
--- a/contrib/libarchive/libarchive/test/test_read_format_zip_empty.c
+++ b/contrib/libarchive/libarchive/test/test_read_format_zip_empty.c
diff --cc contrib/libarchive/libarchive/test/test_read_format_zip_lzma_alone_large_size.c
index 000000000000,ca1b7b0d4899..ca1b7b0d4899
mode 000000,100644..100644
--- a/contrib/libarchive/libarchive/test/test_read_format_zip_lzma_alone_large_size.c
+++ b/contrib/libarchive/libarchive/test/test_read_format_zip_lzma_alone_large_size.c
diff --cc contrib/libarchive/libarchive/test/test_read_format_zip_lzma_alone_large_size.zip.uu
index 000000000000,8c71b3416683..8c71b3416683
mode 000000,100644..100644
--- a/contrib/libarchive/libarchive/test/test_read_format_zip_lzma_alone_large_size.zip.uu
+++ b/contrib/libarchive/libarchive/test/test_read_format_zip_lzma_alone_large_size.zip.uu
diff --cc contrib/libarchive/libarchive/test/test_read_format_zip_negative_timestamps.c
index 000000000000,055d89d7b2c3..055d89d7b2c3
mode 000000,100644..100644
--- a/contrib/libarchive/libarchive/test/test_read_format_zip_negative_timestamps.c
+++ b/contrib/libarchive/libarchive/test/test_read_format_zip_negative_timestamps.c
diff --cc contrib/libarchive/libarchive/test/test_read_format_zip_ntfs_precedence.c
index 000000000000,03c75dec8bb8..03c75dec8bb8
mode 000000,100644..100644
--- a/contrib/libarchive/libarchive/test/test_read_format_zip_ntfs_precedence.c
+++ b/contrib/libarchive/libarchive/test/test_read_format_zip_ntfs_precedence.c
diff --cc contrib/libarchive/libarchive/test/test_read_format_zip_ntfs_timestamp.c
index 000000000000,93dba1dbf907..93dba1dbf907
mode 000000,100644..100644
--- a/contrib/libarchive/libarchive/test/test_read_format_zip_ntfs_timestamp.c
+++ b/contrib/libarchive/libarchive/test/test_read_format_zip_ntfs_timestamp.c
diff --cc contrib/libarchive/libarchive/test/test_read_format_zip_unset_times.c
index 000000000000,de396e9f97d2..de396e9f97d2
mode 000000,100644..100644
--- a/contrib/libarchive/libarchive/test/test_read_format_zip_unset_times.c
+++ b/contrib/libarchive/libarchive/test/test_read_format_zip_unset_times.c
diff --cc contrib/libarchive/libarchive/test/test_write_disk_secure_physicaldrive.c
index 000000000000,6b4555ee2ec0..6b4555ee2ec0
mode 000000,100644..100644
--- a/contrib/libarchive/libarchive/test/test_write_disk_secure_physicaldrive.c
+++ b/contrib/libarchive/libarchive/test/test_write_disk_secure_physicaldrive.c
diff --cc contrib/libarchive/libarchive/test/test_write_format_iso9660_rr_moved_notdir.c
index 000000000000,a8f996638355..a8f996638355
mode 000000,100644..100644
--- a/contrib/libarchive/libarchive/test/test_write_format_iso9660_rr_moved_notdir.c
+++ b/contrib/libarchive/libarchive/test/test_write_format_iso9660_rr_moved_notdir.c
diff --cc contrib/libarchive/libarchive_fe/lafe_explicit_bzero.c
index 000000000000,6e50d1650a44..6e50d1650a44
mode 000000,100644..100644
--- a/contrib/libarchive/libarchive_fe/lafe_explicit_bzero.c
+++ b/contrib/libarchive/libarchive_fe/lafe_explicit_bzero.c
diff --cc contrib/libarchive/libarchive_fe/lafe_explicit_bzero.h
index 000000000000,e67f5873f702..e67f5873f702
mode 000000,100644..100644
--- a/contrib/libarchive/libarchive_fe/lafe_explicit_bzero.h
+++ b/contrib/libarchive/libarchive_fe/lafe_explicit_bzero.h
diff --cc contrib/libarchive/libarchive_fe/lafe_setmode.c
index 000000000000,3a14bf90c444..3a14bf90c444
mode 000000,100644..100644
--- a/contrib/libarchive/libarchive_fe/lafe_setmode.c
+++ b/contrib/libarchive/libarchive_fe/lafe_setmode.c
diff --cc contrib/libarchive/libarchive_fe/lafe_setmode.h
index 000000000000,efd2861d21bb..efd2861d21bb
mode 000000,100644..100644
--- a/contrib/libarchive/libarchive_fe/lafe_setmode.h
+++ b/contrib/libarchive/libarchive_fe/lafe_setmode.h
diff --cc contrib/libarchive/tar/test/test_edit_pathname_hardlink.c
index 000000000000,5f9bac70d8e8..5f9bac70d8e8
mode 000000,100644..100644
--- a/contrib/libarchive/tar/test/test_edit_pathname_hardlink.c
+++ b/contrib/libarchive/tar/test/test_edit_pathname_hardlink.c
diff --cc contrib/libarchive/tar/test/test_edit_pathname_hardlink.tar.Z.uu
index 000000000000,9988015d048a..9988015d048a
mode 000000,100644..100644
--- a/contrib/libarchive/tar/test/test_edit_pathname_hardlink.tar.Z.uu
+++ b/contrib/libarchive/tar/test/test_edit_pathname_hardlink.tar.Z.uu
diff --cc contrib/libarchive/tar/test/test_option_mode.c
index 000000000000,285ddbc677b2..285ddbc677b2
mode 000000,100644..100644
--- a/contrib/libarchive/tar/test/test_option_mode.c
+++ b/contrib/libarchive/tar/test/test_option_mode.c
diff --cc contrib/libarchive/unzip/test/test_windows_paths.c
index 000000000000,8cd08f66c39e..8cd08f66c39e
mode 000000,100644..100644
--- a/contrib/libarchive/unzip/test/test_windows_paths.c
+++ b/contrib/libarchive/unzip/test/test_windows_paths.c
diff --cc contrib/libarchive/unzip/test/test_windows_paths.zip.uu
index 000000000000,619a6fbb2557..619a6fbb2557
mode 000000,100644..100644
--- a/contrib/libarchive/unzip/test/test_windows_paths.zip.uu
+++ b/contrib/libarchive/unzip/test/test_windows_paths.zip.uu
diff --cc lib/libarchive/Makefile
index c4b4bc67ba33,000000000000..53c187ed18c2
mode 100644,000000..100644
--- a/lib/libarchive/Makefile
+++ b/lib/libarchive/Makefile
@@@ -1,412 -1,0 +1,414 @@@
 +.include <src.opts.mk>
 +
 +.include "Makefile.inc"
 +
 +PACKAGE=lib${LIB}
 +
 +LIB=	archive
 +
 +# FreeBSD SHLIB_MAJOR value is managed as part of the FreeBSD system.
 +# It has no real relation to the libarchive version number.
 +SHLIB_MAJOR= 7
 +
 +.if ${MACHINE_ARCH:Marm*} != "" || ${MACHINE_ARCH:Mpowerpc*} != ""
 +NO_WCAST_ALIGN=	yes
 +.if ${MACHINE_ARCH:M*64*} == ""
 +CFLAGS+=	-DPPMD_32BIT
 +.endif
 +.endif
 +NO_WCAST_ALIGN.clang=
 +
 +.PATH: ${_LIBARCHIVEDIR}/libarchive
 +
 +# Headers to be installed in /usr/include
 +INCS=	archive.h archive_entry.h
 +
 +# Sources to be compiled.
 +SRCS=	archive_acl.c					\
 +	archive_blake2sp_ref.c				\
 +	archive_blake2s_ref.c				\
 +	archive_check_magic.c				\
 +	archive_cmdline.c				\
++	archive_crc32.c					\
 +	archive_cryptor.c				\
 +	archive_disk_acl_freebsd.c			\
 +	archive_digest.c				\
 +	archive_entry.c					\
 +	archive_entry_copy_stat.c			\
 +	archive_entry_link_resolver.c			\
 +	archive_entry_sparse.c				\
 +	archive_entry_stat.c				\
 +	archive_entry_strmode.c				\
 +	archive_entry_xattr.c				\
 +	archive_hmac.c					\
 +	archive_match.c					\
 +	archive_options.c				\
 +	archive_pack_dev.c				\
 +	archive_parse_date.c				\
 +	archive_pathmatch.c				\
 +	archive_ppmd7.c					\
 +	archive_ppmd8.c					\
 +	archive_random.c				\
 +	archive_rb.c					\
 +	archive_read.c					\
 +	archive_read_add_passphrase.c			\
 +	archive_read_append_filter.c			\
 +	archive_read_data_into_fd.c			\
 +	archive_read_disk_entry_from_file.c		\
 +	archive_read_disk_posix.c			\
 +	archive_read_disk_set_standard_lookup.c		\
 +	archive_read_extract.c				\
 +	archive_read_extract2.c				\
 +	archive_read_open_fd.c				\
 +	archive_read_open_file.c			\
 +	archive_read_open_filename.c			\
 +	archive_read_open_memory.c			\
 +	archive_read_set_format.c			\
 +	archive_read_set_options.c			\
 +	archive_read_support_filter_all.c		\
 +	archive_read_support_filter_bzip2.c		\
 +	archive_read_support_filter_by_code.c		\
 +	archive_read_support_filter_compress.c		\
 +	archive_read_support_filter_gzip.c		\
 +	archive_read_support_filter_grzip.c		\
 +	archive_read_support_filter_lrzip.c		\
 +	archive_read_support_filter_lz4.c		\
 +	archive_read_support_filter_lzop.c		\
 +	archive_read_support_filter_none.c		\
 +	archive_read_support_filter_program.c		\
 +	archive_read_support_filter_rpm.c		\
 +	archive_read_support_filter_uu.c		\
 +	archive_read_support_filter_xz.c		\
 +	archive_read_support_filter_zstd.c		\
 +	archive_read_support_format_7zip.c		\
 +	archive_read_support_format_all.c		\
 +	archive_read_support_format_ar.c		\
 +	archive_read_support_format_by_code.c		\
 +	archive_read_support_format_cab.c		\
 +	archive_read_support_format_cpio.c		\
 +	archive_read_support_format_empty.c		\
 +	archive_read_support_format_iso9660.c		\
 +	archive_read_support_format_lha.c		\
 +	archive_read_support_format_mtree.c		\
 +	archive_read_support_format_rar.c		\
 +	archive_read_support_format_rar5.c		\
 +	archive_read_support_format_raw.c		\
 +	archive_read_support_format_tar.c		\
 +	archive_read_support_format_warc.c		\
 +	archive_read_support_format_xar.c		\
 +	archive_read_support_format_zip.c		\
 +	archive_string.c				\
 +	archive_string_sprintf.c			\
 +	archive_time.c					\
++	archive_umask.c					\
 +	archive_util.c					\
 +	archive_version_details.c			\
 +	archive_virtual.c				\
 +	archive_write.c					\
 +	archive_write_add_filter.c			\
 +	archive_write_disk_set_standard_lookup.c	\
 +	archive_write_disk_posix.c			\
 +	archive_write_open_fd.c				\
 +	archive_write_open_file.c			\
 +	archive_write_open_filename.c			\
 +	archive_write_open_memory.c			\
 +	archive_write_add_filter_b64encode.c		\
 +	archive_write_add_filter_by_name.c		\
 +	archive_write_add_filter_bzip2.c		\
 +	archive_write_add_filter_compress.c		\
 +	archive_write_add_filter_grzip.c		\
 +	archive_write_add_filter_gzip.c			\
 +	archive_write_add_filter_lrzip.c		\
 +	archive_write_add_filter_lz4.c			\
 +	archive_write_add_filter_lzop.c			\
 +	archive_write_add_filter_none.c			\
 +	archive_write_add_filter_program.c		\
 +	archive_write_add_filter_uuencode.c		\
 +	archive_write_add_filter_xz.c			\
 +	archive_write_add_filter_zstd.c			\
 +	archive_write_set_format.c			\
 +	archive_write_set_format_7zip.c			\
 +	archive_write_set_format_ar.c			\
 +	archive_write_set_format_by_name.c		\
 +	archive_write_set_format_cpio.c			\
 +	archive_write_set_format_cpio_binary.c		\
 +	archive_write_set_format_cpio_newc.c		\
 +	archive_write_set_format_cpio_odc.c		\
 +	archive_write_set_format_filter_by_ext.c	\
 +	archive_write_set_format_gnutar.c		\
 +	archive_write_set_format_iso9660.c		\
 +	archive_write_set_format_mtree.c		\
 +	archive_write_set_format_pax.c			\
 +	archive_write_set_format_raw.c			\
 +	archive_write_set_format_shar.c			\
 +	archive_write_set_format_ustar.c		\
 +	archive_write_set_format_v7tar.c		\
 +	archive_write_set_format_warc.c			\
 +	archive_write_set_format_xar.c			\
 +	archive_write_set_format_zip.c			\
 +	archive_write_set_passphrase.c			\
 +	archive_write_set_options.c			\
 +	filter_fork_posix.c
 +
 +# Man pages to be installed.
 +MAN=	archive_entry.3					\
 +	archive_entry_acl.3				\
 +	archive_entry_linkify.3				\
 +	archive_entry_misc.3				\
 +	archive_entry_paths.3				\
 +	archive_entry_perms.3				\
 +	archive_entry_stat.3				\
 +	archive_entry_time.3				\
 +	archive_read.3					\
 +	archive_read_data.3				\
 +	archive_read_disk.3				\
 +	archive_read_extract.3				\
 +	archive_read_filter.3				\
 +	archive_read_format.3				\
 +	archive_read_free.3				\
 +	archive_read_header.3				\
 +	archive_read_new.3				\
 +	archive_read_open.3				\
 +	archive_read_set_options.3			\
 +	archive_util.3					\
 +	archive_write.3					\
 +	archive_write_blocksize.3			\
 +	archive_write_data.3				\
 +	archive_write_disk.3				\
 +	archive_write_filter.3				\
 +	archive_write_finish_entry.3			\
 +	archive_write_format.3				\
 +	archive_write_free.3				\
 +	archive_write_header.3				\
 +	archive_write_new.3				\
 +	archive_write_open.3				\
 +	archive_write_set_options.3			\
 +	libarchive.3					\
 +	libarchive_changes.3				\
 +	libarchive_internals.3
 +
 +MANNODEV=	cpio.5			\
 +		libarchive-formats.5	\
 +		tar.5
 +
 +# Symlink the man pages under each function name.
 +MLINKS+=	archive_entry.3 archive_entry_clear.3
 +MLINKS+=	archive_entry.3 archive_entry_clone.3
 +MLINKS+=	archive_entry.3 archive_entry_free.3
 +MLINKS+=	archive_entry.3 archive_entry_new.3
 +MLINKS+=	archive_entry_acl.3 archive_entry_acl_add_entry.3
 +MLINKS+=	archive_entry_acl.3 archive_entry_acl_add_entry_w.3
 +MLINKS+=	archive_entry_acl.3 archive_entry_acl_clear.3
 +MLINKS+=	archive_entry_acl.3 archive_entry_acl_count.3
 +MLINKS+=	archive_entry_acl.3 archive_entry_acl_next.3
 +MLINKS+=	archive_entry_acl.3 archive_entry_acl_next_w.3
 +MLINKS+=	archive_entry_acl.3 archive_entry_acl_reset.3
 +MLINKS+=	archive_entry_acl.3 archive_entry_acl_text_w.3
 +MLINKS+=	archive_entry_linkify.3 archive_entry_linkresolver.3
 +MLINKS+=	archive_entry_linkify.3 archive_entry_linkresolver_new.3
 +MLINKS+=	archive_entry_linkify.3 archive_entry_linkresolver_set_strategy.3
 +MLINKS+=	archive_entry_linkify.3 archive_entry_linkresolver_free.3
 +MLINKS+=	archive_entry_paths.3 archive_entry_copy_hardlink.3
 +MLINKS+=	archive_entry_paths.3 archive_entry_copy_hardlink_w.3
 +MLINKS+=	archive_entry_paths.3 archive_entry_copy_link.3
 +MLINKS+=	archive_entry_paths.3 archive_entry_copy_link_w.3
 +MLINKS+=	archive_entry_paths.3 archive_entry_copy_pathname.3
 +MLINKS+=	archive_entry_paths.3 archive_entry_copy_pathname_w.3
 +MLINKS+=	archive_entry_paths.3 archive_entry_copy_sourcepath.3
 +MLINKS+=	archive_entry_paths.3 archive_entry_copy_symlink.3
 +MLINKS+=	archive_entry_paths.3 archive_entry_copy_symlink_w.3
 +MLINKS+=	archive_entry_paths.3 archive_entry_hardlink.3
 +MLINKS+=	archive_entry_paths.3 archive_entry_hardlink_w.3
 +MLINKS+=	archive_entry_paths.3 archive_entry_pathname.3
*** 1342 LINES SKIPPED ***