From nobody Sun Oct 20 09:30:52 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XWY8X5VTvz5b2b9; Sun, 20 Oct 2024 09:30:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XWY8X4mHrz4M6Q; Sun, 20 Oct 2024 09:30:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1729416652; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ArZWQEpbQBQXUK4QBSnDPWF4H8+RTbzAHgSA/xLjXfk=; b=QUaaJm0IJQC8AFny9dQukqKzXcvv4C18IwhWAs1S+xFZ/S3eQ/WF1CpXTcvl5RzHsyY0bb GsLwoQRMQKXfDUMPA/yN5XJLPuFUzsxEQnHHFA//5ofSQDjOvuG7m30lfDRieg7QMI7Uxv 5NnB8w+crfQfQEIFBmUiWFDmV+oHtS0Ahp0y3GqPgHZNRUMrCNlWNkX0pEeKeF2Uw4r15p Z9O7sX3HS8oeh6Jr9bZNjaIP0bdyTRLRh0E47ZV9WT7rqkB1G93lEapRK0v9pa31V508mE hziGHHO+5lBuAhoK89Am8c0j3VfGiaJNnM+uuw2NkeLK1gbml9QVy35B01uFTw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1729416652; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ArZWQEpbQBQXUK4QBSnDPWF4H8+RTbzAHgSA/xLjXfk=; b=lCiWR40r0QeR3CmJp+ibLSCVP6G/k4yTtVq+daugwJAnu0R53dhkofw/V7hriARODRFEFy kKHEYtDKlHyyeZr+2wGLzO6s0v6yXZKrEJW/02l8ppvEM8hKTgyS33sV3PmOlmTekB2tOl LRUz1pjWkHWdOBk0hHOiJEUR4Abn8Pw6f+MBawUoFNoSTI8utcGsZ6Vy5k279bJppAozpg 6E1wfAUkMirjo2KUpUTyEGIcYRxR5y0uWLsOvJwjrbx+XA1nxGeOXM5088l4UWKuZDpeej ehetQSGPMFmQN6tekoq6KIVHh972AHNKEAlLishzLG7iHPFMX7VQoCKliouINg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1729416652; a=rsa-sha256; cv=none; b=Yv1gL9w0qf3hyzaTCVbuRh91uHgFkBTh2qENPljYOXIKauAubdzeTlD1KbORombFV/nziR GXpfZ+LYMKUV2wwpY5fd9HnDckt8fs9/XdU0aJ6xebU+oAY4E3/IFwsiHeYngnrQ04MFHW waMtFI+4bMFUEGVBbvUxomFx3hSF1rseo3EqD1dEdHZyCCXqEZ/yGUTqub1h11uAHBTapZ b95xKJRaZBV3J1l7TDr7KmaRTCMEpBMNVVD4I/c4dAPicFIjorsZAi+2LkI1XDWkP2PX3v 2dZCoHb2rt/pxcB86UIk+8BQCKzminlBVeCsgoVgm5CLi8Yc7VMI3nGgUPTbYQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XWY8X4M8bzw3M; Sun, 20 Oct 2024 09:30:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49K9Uq0G053055; Sun, 20 Oct 2024 09:30:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49K9Uq5p053052; Sun, 20 Oct 2024 09:30:52 GMT (envelope-from git) Date: Sun, 20 Oct 2024 09:30:52 GMT Message-Id: <202410200930.49K9Uq5p053052@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Martin Matuska Subject: git: bd66c1b43e33 - main - libarchive: merge from vendor branch List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mm X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: bd66c1b43e33540205dbc1187c2f2a15c58b57ba Auto-Submitted: auto-generated The branch main has been updated by mm: URL: https://cgit.FreeBSD.org/src/commit/?id=bd66c1b43e33540205dbc1187c2f2a15c58b57ba commit bd66c1b43e33540205dbc1187c2f2a15c58b57ba Merge: 5ca8c28cd8c7 eff4ff4791c8 Author: Martin Matuska AuthorDate: 2024-10-20 08:22:09 +0000 Commit: Martin Matuska CommitDate: 2024-10-20 08:24:02 +0000 libarchive: merge from vendor branch Libarchive 3.7.7 Security fixes: #2158 rpm: calculate huge header sizes correctly #2160 util: fix out of boundary access in mktemp functions #2168 uu: stop processing if lines are too long #2174 lzop: prevent integer overflow #2172 rar4: protect copy_from_lzss_window_to_unp() (CVE-2024-20696) #2175 unzip: unify EOF handling #2179 rar4: fix out of boundary access with large files #2203 rar4: fix OOB access with unicode filenames #2210 rar4: add boundary checks to rgb filter #2248 rar4: fix OOB in delta filter #2249 rar4: fix OOB in audio filter #2256 fix multiple vulnerabilities identified by SAST #2258 cpio: ignore out-of-range gid/uid/size/ino and harden AFIO parsing #2265 rar5: clear 'data ready' cache on window buffer reallocs #2269 rar4: fix CVE-2024-26256 (CVE-2024-26256) #2330 iso: be more cautious about parsing ISO-9660 timestamps #2343 tar: clean up linkpath between entries #2364 tar: don't crash on truncated tar archives #2366 gzip: prevent a hang when processing a malformed gzip inside a gzip #2377 tar: fix two leaks in tar header parsing Important bugfixes: #2096 rar5: report encrypted entries #2150 xar: fix another infinite loop and expat error handling #2173 shar: check strdup return value #2161 lha: fix integer truncation on 32-bit systems #2338 tar: fix memory leaks when processing symlinks or parsing pax headers #2245 7zip: fix issue when skipping first file in 7zip archive that is a multiple of 65536 bytes #2252 7-zip: read/write symlink paths as UTF-8 #2259 rar5: don't try to read rediculously long names #2290 ar: fix archive entries having no type #2360 tar: fix truncation of entry pathnames in specific archives CVE: CVE-2024-20696, CVE-2024-26256 PR: 282047 (exp-run) MFC after: 1 week contrib/libarchive/NEWS | 6 + contrib/libarchive/cat/bsdcat.1 | 26 +- contrib/libarchive/cat/bsdcat.c | 22 +- contrib/libarchive/cat/bsdcat.h | 22 +- contrib/libarchive/cat/bsdcat_platform.h | 24 +- contrib/libarchive/cat/cmdline.c | 22 +- contrib/libarchive/cat/test/test.h | 22 +- contrib/libarchive/cat/test/test_0.c | 22 +- contrib/libarchive/cat/test/test_empty_gz.c | 22 +- contrib/libarchive/cat/test/test_empty_lz4.c | 22 +- contrib/libarchive/cat/test/test_empty_xz.c | 22 +- contrib/libarchive/cat/test/test_empty_zstd.c | 22 +- contrib/libarchive/cat/test/test_error.c | 22 +- contrib/libarchive/cat/test/test_error_mixed.c | 22 +- contrib/libarchive/cat/test/test_expand_Z.c | 22 +- contrib/libarchive/cat/test/test_expand_bz2.c | 22 +- contrib/libarchive/cat/test/test_expand_gz.c | 22 +- contrib/libarchive/cat/test/test_expand_lz4.c | 22 +- contrib/libarchive/cat/test/test_expand_mixed.c | 22 +- contrib/libarchive/cat/test/test_expand_plain.c | 22 +- contrib/libarchive/cat/test/test_expand_xz.c | 22 +- contrib/libarchive/cat/test/test_expand_zstd.c | 22 +- contrib/libarchive/cat/test/test_help.c | 22 +- contrib/libarchive/cat/test/test_stdin.c | 22 +- contrib/libarchive/cat/test/test_version.c | 22 +- contrib/libarchive/cpio/bsdcpio.1 | 24 +- contrib/libarchive/cpio/cmdline.c | 76 +- contrib/libarchive/cpio/cpio.c | 70 +- contrib/libarchive/cpio/cpio.h | 30 +- contrib/libarchive/cpio/cpio_platform.h | 22 +- contrib/libarchive/cpio/test/test.h | 22 +- contrib/libarchive/cpio/test/test_0.c | 22 +- contrib/libarchive/cpio/test/test_basic.c | 22 +- contrib/libarchive/cpio/test/test_cmdline.c | 22 +- contrib/libarchive/cpio/test/test_extract_cpio_Z.c | 22 +- .../cpio/test/test_extract_cpio_absolute_paths.c | 53 + .../libarchive/cpio/test/test_extract_cpio_bz2.c | 22 +- .../libarchive/cpio/test/test_extract_cpio_grz.c | 22 +- .../libarchive/cpio/test/test_extract_cpio_gz.c | 22 +- .../libarchive/cpio/test/test_extract_cpio_lrz.c | 22 +- .../libarchive/cpio/test/test_extract_cpio_lz.c | 22 +- .../libarchive/cpio/test/test_extract_cpio_lz4.c | 22 +- .../libarchive/cpio/test/test_extract_cpio_lzma.c | 22 +- .../libarchive/cpio/test/test_extract_cpio_lzo.c | 22 +- .../libarchive/cpio/test/test_extract_cpio_xz.c | 22 +- .../libarchive/cpio/test/test_extract_cpio_zstd.c | 22 +- contrib/libarchive/cpio/test/test_format_newc.c | 28 +- contrib/libarchive/cpio/test/test_gcpio_compat.c | 22 +- contrib/libarchive/cpio/test/test_missing_file.c | 22 +- contrib/libarchive/cpio/test/test_option_0.c | 22 +- contrib/libarchive/cpio/test/test_option_B_upper.c | 22 +- contrib/libarchive/cpio/test/test_option_C_upper.c | 22 +- contrib/libarchive/cpio/test/test_option_J_upper.c | 22 +- contrib/libarchive/cpio/test/test_option_L_upper.c | 22 +- contrib/libarchive/cpio/test/test_option_Z_upper.c | 22 +- contrib/libarchive/cpio/test/test_option_a.c | 22 +- .../libarchive/cpio/test/test_option_b64encode.c | 22 +- contrib/libarchive/cpio/test/test_option_c.c | 30 +- contrib/libarchive/cpio/test/test_option_d.c | 24 +- contrib/libarchive/cpio/test/test_option_f.c | 22 +- contrib/libarchive/cpio/test/test_option_grzip.c | 22 +- contrib/libarchive/cpio/test/test_option_help.c | 22 +- contrib/libarchive/cpio/test/test_option_l.c | 22 +- contrib/libarchive/cpio/test/test_option_lrzip.c | 22 +- contrib/libarchive/cpio/test/test_option_lz4.c | 22 +- contrib/libarchive/cpio/test/test_option_lzma.c | 22 +- contrib/libarchive/cpio/test/test_option_lzop.c | 22 +- contrib/libarchive/cpio/test/test_option_m.c | 22 +- .../libarchive/cpio/test/test_option_passphrase.c | 22 +- contrib/libarchive/cpio/test/test_option_t.c | 29 +- contrib/libarchive/cpio/test/test_option_u.c | 22 +- .../libarchive/cpio/test/test_option_uuencode.c | 22 +- contrib/libarchive/cpio/test/test_option_version.c | 22 +- contrib/libarchive/cpio/test/test_option_xz.c | 22 +- contrib/libarchive/cpio/test/test_option_y.c | 22 +- contrib/libarchive/cpio/test/test_option_z.c | 22 +- contrib/libarchive/cpio/test/test_option_zstd.c | 22 +- contrib/libarchive/cpio/test/test_owner_parse.c | 112 +- .../libarchive/cpio/test/test_passthrough_dotdot.c | 22 +- .../cpio/test/test_passthrough_reverse.c | 22 +- contrib/libarchive/libarchive/archive.h | 4 +- contrib/libarchive/libarchive/archive_acl.c | 71 +- .../libarchive/libarchive/archive_acl_private.h | 2 + contrib/libarchive/libarchive/archive_crc32.h | 5 + contrib/libarchive/libarchive/archive_cryptor.c | 4 +- .../libarchive/archive_cryptor_private.h | 2 +- contrib/libarchive/libarchive/archive_entry.c | 300 ++- contrib/libarchive/libarchive/archive_entry.h | 8 +- .../libarchive/archive_entry_link_resolver.c | 15 + .../libarchive/libarchive/archive_entry_perms.3 | 1 + .../libarchive/libarchive/archive_entry_private.h | 4 +- .../libarchive/libarchive/archive_entry_sparse.c | 2 +- .../libarchive/libarchive/archive_entry_xattr.c | 2 +- contrib/libarchive/libarchive/archive_hmac.c | 2 +- .../libarchive/libarchive/archive_hmac_private.h | 2 +- contrib/libarchive/libarchive/archive_match.c | 2 +- .../libarchive/archive_openssl_evp_private.h | 2 +- .../libarchive/archive_openssl_hmac_private.h | 2 +- contrib/libarchive/libarchive/archive_ppmd7.c | 2 +- contrib/libarchive/libarchive/archive_ppmd8.c | 7 +- contrib/libarchive/libarchive/archive_private.h | 6 +- contrib/libarchive/libarchive/archive_read.c | 8 +- .../libarchive/archive_read_append_filter.c | 8 +- .../libarchive/archive_read_disk_entry_from_file.c | 1 + .../libarchive/archive_read_disk_posix.c | 2 +- .../libarchive/libarchive/archive_read_extract2.c | 2 +- .../libarchive/libarchive/archive_read_open_fd.c | 2 +- .../libarchive/libarchive/archive_read_open_file.c | 2 +- .../libarchive/archive_read_open_filename.c | 4 +- .../libarchive/archive_read_open_memory.c | 2 +- .../libarchive/archive_read_support_filter_bzip2.c | 4 +- .../archive_read_support_filter_compress.c | 2 +- .../libarchive/archive_read_support_filter_gzip.c | 18 +- .../libarchive/archive_read_support_filter_lz4.c | 6 +- .../libarchive/archive_read_support_filter_lzop.c | 5 +- .../archive_read_support_filter_program.c | 6 +- .../libarchive/archive_read_support_filter_rpm.c | 45 +- .../libarchive/archive_read_support_filter_uu.c | 16 +- .../libarchive/archive_read_support_filter_xz.c | 4 +- .../libarchive/archive_read_support_filter_zstd.c | 4 +- .../libarchive/archive_read_support_format_7zip.c | 93 +- .../libarchive/archive_read_support_format_ar.c | 10 +- .../libarchive/archive_read_support_format_cab.c | 12 +- .../libarchive/archive_read_support_format_cpio.c | 32 +- .../archive_read_support_format_iso9660.c | 305 ++- .../libarchive/archive_read_support_format_lha.c | 11 +- .../libarchive/archive_read_support_format_mtree.c | 2 +- .../libarchive/archive_read_support_format_rar.c | 128 +- .../libarchive/archive_read_support_format_rar5.c | 171 +- .../libarchive/archive_read_support_format_raw.c | 2 +- .../libarchive/archive_read_support_format_tar.c | 2221 +++++++++++++------- .../libarchive/archive_read_support_format_xar.c | 32 +- .../libarchive/archive_read_support_format_zip.c | 45 +- contrib/libarchive/libarchive/archive_string.c | 86 +- contrib/libarchive/libarchive/archive_util.c | 16 +- contrib/libarchive/libarchive/archive_write.c | 19 +- .../archive_write_add_filter_b64encode.c | 6 +- .../libarchive/archive_write_add_filter_bzip2.c | 5 +- .../libarchive/archive_write_add_filter_compress.c | 4 +- .../libarchive/archive_write_add_filter_gzip.c | 3 +- .../libarchive/archive_write_add_filter_uuencode.c | 2 +- .../libarchive/archive_write_add_filter_xz.c | 5 +- .../libarchive/archive_write_add_filter_zstd.c | 3 +- .../libarchive/archive_write_disk_posix.c | 16 +- .../libarchive/libarchive/archive_write_open_fd.c | 2 +- .../libarchive/archive_write_open_file.c | 2 +- .../libarchive/archive_write_open_filename.c | 2 +- .../libarchive/archive_write_open_memory.c | 2 +- .../libarchive/archive_write_set_format_7zip.c | 16 +- .../libarchive/archive_write_set_format_ar.c | 6 +- .../archive_write_set_format_cpio_binary.c | 5 +- .../archive_write_set_format_cpio_newc.c | 2 +- .../libarchive/archive_write_set_format_cpio_odc.c | 5 +- .../libarchive/archive_write_set_format_gnutar.c | 6 +- .../libarchive/archive_write_set_format_iso9660.c | 2 +- .../libarchive/archive_write_set_format_pax.c | 24 +- .../libarchive/archive_write_set_format_raw.c | 2 +- .../libarchive/archive_write_set_format_shar.c | 10 +- .../libarchive/archive_write_set_format_ustar.c | 8 +- .../libarchive/archive_write_set_format_v7tar.c | 4 +- .../libarchive/archive_write_set_format_xar.c | 26 +- .../libarchive/archive_write_set_format_zip.c | 10 +- .../libarchive/test/test_7zip_filename_encoding.c | 100 + contrib/libarchive/libarchive/test/test_ar_mode.c | 40 + .../libarchive/test/test_archive_match_time.c | 60 +- .../libarchive/libarchive/test/test_archive_read.c | 63 + .../test/test_archive_read_multiple_data_objects.c | 23 +- .../libarchive/test/test_archive_string.c | 2 +- .../test/test_archive_string_conversion.c | 135 ++ .../test/test_archive_write_add_filter_by_name.c | 2 +- .../libarchive/libarchive/test/test_compat_lzip.c | 2 +- .../test/test_compat_solaris_pax_sparse.c | 2 +- contrib/libarchive/libarchive/test/test_entry.c | 14 +- .../test/test_gnutar_filename_encoding.c | 102 + .../libarchive/test/test_link_resolver.c | 45 + .../libarchive/test/test_pax_filename_encoding.c | 152 ++ .../test/test_read_filter_gzip_recursive.c | 50 + .../test/test_read_filter_gzip_recursive.gz.uu | 19 + .../libarchive/test/test_read_format_7zip.c | 44 + .../test_read_format_7zip_extract_second.7z.uu | 11 + .../libarchive/test/test_read_format_cpio_afio.c | 30 +- .../libarchive/test/test_read_format_huge_rpm.c | 50 + .../test/test_read_format_huge_rpm.rpm.uu | 244 +++ .../test/test_read_format_iso_3.iso.Z.uu | 40 + .../libarchive/test/test_read_format_iso_Z.c | 122 +- .../libarchive/test/test_read_format_mtree.c | 2 +- .../test/test_read_format_rar4_encrypted.rar.uu | 10 + ...est_read_format_rar4_encrypted_filenames.rar.uu | 14 + .../test_read_format_rar4_solid_encrypted.rar.uu | 11 + ...ad_format_rar4_solid_encrypted_filenames.rar.uu | 13 + .../libarchive/test/test_read_format_rar5.c | 39 +- ...read_format_rar5_data_ready_pointer_leak.rar.uu | 28 + .../test/test_read_format_rar5_encrypted.rar.uu | 12 + ...est_read_format_rar5_encrypted_filenames.rar.uu | 19 + .../test_read_format_rar5_solid_encrypted.rar.uu | 14 + ...ad_format_rar5_solid_encrypted_filenames.rar.uu | 18 + .../test/test_read_format_rar_encryption.c | 176 ++ .../libarchive/test/test_read_format_tar.c | 2 +- .../test/test_read_format_tar_pax_large_attr.c | 65 + .../test_read_format_tar_pax_large_attr.tar.Z.uu | 149 ++ .../libarchive/test/test_read_format_xar.c | 37 +- ..._read_format_xar_duplicate_filename_node.xar.uu | 14 + .../libarchive/test/test_read_format_zip_nested.c | 2 +- ...t_read_format_zip_traditional_encryption_data.c | 2 +- .../test/test_read_format_zip_winzip_aes.c | 2 +- .../test/test_read_format_zip_winzip_aes_large.c | 2 +- .../libarchive/test/test_read_truncated_filter.c | 4 +- .../libarchive/libarchive/test/test_sparse_basic.c | 17 +- .../libarchive/libarchive/test/test_tar_large.c | 2 +- .../libarchive/test/test_ustar_filename_encoding.c | 102 + .../test/test_write_disk_secure_noabsolutepaths.c | 88 + .../libarchive/test/test_write_filter_b64encode.c | 4 +- .../libarchive/test/test_write_filter_bzip2.c | 4 +- .../libarchive/test/test_write_filter_compress.c | 4 +- .../libarchive/test/test_write_filter_gzip.c | 4 +- .../test/test_write_filter_gzip_timestamp.c | 4 +- .../libarchive/test/test_write_filter_lrzip.c | 4 +- .../libarchive/test/test_write_filter_lz4.c | 8 +- .../libarchive/test/test_write_filter_lzip.c | 4 +- .../libarchive/test/test_write_filter_lzma.c | 4 +- .../libarchive/test/test_write_filter_lzop.c | 4 +- .../libarchive/test/test_write_filter_uuencode.c | 4 +- .../libarchive/test/test_write_filter_xz.c | 4 +- .../libarchive/test/test_write_filter_zstd.c | 12 +- .../test/test_write_format_iso9660_filename.c | 2 +- .../libarchive/test/test_write_format_zip.c | 6 +- .../test/test_write_format_zip_entry_size_unset.c | 2 +- .../libarchive/test/test_write_format_zip_large.c | 2 +- .../libarchive/test/test_write_format_zip_stream.c | 5 + .../test/test_write_format_zip_windows_path.c | 100 + .../libarchive/test/test_zip_filename_encoding.c | 95 + contrib/libarchive/tar/bsdtar.1 | 24 +- contrib/libarchive/tar/bsdtar.c | 25 +- contrib/libarchive/tar/bsdtar.h | 22 +- contrib/libarchive/tar/bsdtar_platform.h | 24 +- contrib/libarchive/tar/cmdline.c | 22 +- contrib/libarchive/tar/creation_set.c | 24 +- contrib/libarchive/tar/read.c | 22 +- contrib/libarchive/tar/subst.c | 22 +- contrib/libarchive/tar/test/test.h | 22 +- contrib/libarchive/tar/test/test_0.c | 22 +- contrib/libarchive/tar/test/test_basic.c | 22 +- contrib/libarchive/tar/test/test_copy.c | 58 +- contrib/libarchive/tar/test/test_empty_mtree.c | 22 +- contrib/libarchive/tar/test/test_extract_tar_Z.c | 22 +- contrib/libarchive/tar/test/test_extract_tar_bz2.c | 22 +- contrib/libarchive/tar/test/test_extract_tar_grz.c | 22 +- contrib/libarchive/tar/test/test_extract_tar_gz.c | 22 +- contrib/libarchive/tar/test/test_extract_tar_lrz.c | 22 +- contrib/libarchive/tar/test/test_extract_tar_lz.c | 22 +- contrib/libarchive/tar/test/test_extract_tar_lz4.c | 22 +- .../libarchive/tar/test/test_extract_tar_lzma.c | 22 +- contrib/libarchive/tar/test/test_extract_tar_lzo.c | 22 +- contrib/libarchive/tar/test/test_extract_tar_xz.c | 22 +- .../libarchive/tar/test/test_extract_tar_zstd.c | 22 +- contrib/libarchive/tar/test/test_format_newc.c | 22 +- contrib/libarchive/tar/test/test_help.c | 22 +- contrib/libarchive/tar/test/test_leading_slash.c | 22 +- contrib/libarchive/tar/test/test_missing_file.c | 22 +- contrib/libarchive/tar/test/test_option_C_mtree.c | 30 +- contrib/libarchive/tar/test/test_option_C_upper.c | 22 +- contrib/libarchive/tar/test/test_option_H_upper.c | 40 +- contrib/libarchive/tar/test/test_option_L_upper.c | 40 +- contrib/libarchive/tar/test/test_option_O_upper.c | 22 +- contrib/libarchive/tar/test/test_option_P.c | 82 + contrib/libarchive/tar/test/test_option_T_upper.c | 22 +- contrib/libarchive/tar/test/test_option_U_upper.c | 22 +- contrib/libarchive/tar/test/test_option_X_upper.c | 22 +- contrib/libarchive/tar/test/test_option_a.c | 22 +- contrib/libarchive/tar/test/test_option_acls.c | 22 +- contrib/libarchive/tar/test/test_option_b.c | 22 +- .../libarchive/tar/test/test_option_b64encode.c | 22 +- contrib/libarchive/tar/test/test_option_exclude.c | 22 +- .../libarchive/tar/test/test_option_exclude_vcs.c | 24 +- contrib/libarchive/tar/test/test_option_fflags.c | 24 +- .../libarchive/tar/test/test_option_gid_gname.c | 22 +- contrib/libarchive/tar/test/test_option_group.c | 22 +- contrib/libarchive/tar/test/test_option_grzip.c | 22 +- .../libarchive/tar/test/test_option_ignore_zeros.c | 31 +- contrib/libarchive/tar/test/test_option_j.c | 22 +- contrib/libarchive/tar/test/test_option_k.c | 22 +- .../tar/test/test_option_keep_newer_files.c | 22 +- contrib/libarchive/tar/test/test_option_lrzip.c | 22 +- contrib/libarchive/tar/test/test_option_lz4.c | 22 +- contrib/libarchive/tar/test/test_option_lzma.c | 22 +- contrib/libarchive/tar/test/test_option_lzop.c | 22 +- contrib/libarchive/tar/test/test_option_n.c | 22 +- .../libarchive/tar/test/test_option_newer_than.c | 22 +- contrib/libarchive/tar/test/test_option_nodump.c | 22 +- .../libarchive/tar/test/test_option_older_than.c | 22 +- contrib/libarchive/tar/test/test_option_owner.c | 22 +- .../libarchive/tar/test/test_option_passphrase.c | 22 +- contrib/libarchive/tar/test/test_option_q.c | 22 +- contrib/libarchive/tar/test/test_option_r.c | 22 +- contrib/libarchive/tar/test/test_option_s.c | 22 +- .../libarchive/tar/test/test_option_safe_writes.c | 22 +- .../libarchive/tar/test/test_option_uid_uname.c | 22 +- contrib/libarchive/tar/test/test_option_uuencode.c | 22 +- contrib/libarchive/tar/test/test_option_xattrs.c | 24 +- contrib/libarchive/tar/test/test_option_xz.c | 22 +- contrib/libarchive/tar/test/test_option_z.c | 22 +- contrib/libarchive/tar/test/test_option_zstd.c | 22 +- contrib/libarchive/tar/test/test_patterns.c | 22 +- contrib/libarchive/tar/test/test_print_longpath.c | 22 +- contrib/libarchive/tar/test/test_stdio.c | 22 +- .../libarchive/tar/test/test_strip_components.c | 22 +- contrib/libarchive/tar/test/test_symlink_dir.c | 22 +- contrib/libarchive/tar/test/test_version.c | 22 +- contrib/libarchive/tar/util.c | 42 +- contrib/libarchive/tar/write.c | 35 +- contrib/libarchive/test_utils/test_common.h | 5 +- contrib/libarchive/test_utils/test_main.c | 101 +- contrib/libarchive/unzip/bsdunzip.1 | 25 +- contrib/libarchive/unzip/bsdunzip.c | 49 +- contrib/libarchive/unzip/bsdunzip.h | 22 +- contrib/libarchive/unzip/bsdunzip_platform.h | 24 +- contrib/libarchive/unzip/cmdline.c | 22 +- contrib/libarchive/unzip/la_getline.c | 26 +- contrib/libarchive/unzip/test/test.h | 22 +- contrib/libarchive/unzip/test/test_0.c | 22 +- contrib/libarchive/unzip/test/test_C.c | 23 +- contrib/libarchive/unzip/test/test_I.c | 40 +- contrib/libarchive/unzip/test/test_L.c | 23 +- contrib/libarchive/unzip/test/test_P_encryption.c | 25 +- contrib/libarchive/unzip/test/test_Z1.c | 23 +- contrib/libarchive/unzip/test/test_basic.c | 23 +- contrib/libarchive/unzip/test/test_d.c | 23 +- contrib/libarchive/unzip/test/test_doubledash.c | 23 +- contrib/libarchive/unzip/test/test_glob.c | 23 +- contrib/libarchive/unzip/test/test_j.c | 23 +- contrib/libarchive/unzip/test/test_n.c | 25 +- contrib/libarchive/unzip/test/test_not_exist.c | 25 +- contrib/libarchive/unzip/test/test_o.c | 25 +- contrib/libarchive/unzip/test/test_p.c | 23 +- contrib/libarchive/unzip/test/test_q.c | 23 +- contrib/libarchive/unzip/test/test_singlefile.c | 23 +- contrib/libarchive/unzip/test/test_t.c | 23 +- contrib/libarchive/unzip/test/test_t_bad.c | 23 +- contrib/libarchive/unzip/test/test_version.c | 22 +- contrib/libarchive/unzip/test/test_x.c | 23 +- lib/libarchive/tests/Makefile | 24 + usr.bin/cpio/tests/Makefile | 1 + usr.bin/tar/tests/Makefile | 1 + 343 files changed, 5857 insertions(+), 5333 deletions(-) diff --cc contrib/libarchive/cpio/test/test_extract_cpio_absolute_paths.c index 000000000000,66fc56641bd0..51650bc00f5a mode 000000,100644..100644 --- a/contrib/libarchive/cpio/test/test_extract_cpio_absolute_paths.c +++ b/contrib/libarchive/cpio/test/test_extract_cpio_absolute_paths.c @@@ -1,0 -1,53 +1,53 @@@ + /*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2024 Mostyn Bramley-Moore + */ + + #include "test.h" + + #include + #include + + #if defined(_WIN32) && !defined(__CYGWIN__) + #define UNLINK _unlink + #else + #define UNLINK unlink + #endif + + DEFINE_TEST(test_extract_cpio_absolute_paths) + { + int r; + + // Create an absolute path for a test file inside testworkdir. - char *entry_suffix = "/cpio-noabs"; ++ const char *entry_suffix = "/cpio-noabs"; + size_t entry_suffix_length = strlen(entry_suffix); + size_t testworkdir_length = strlen(testworkdir); + size_t temp_absolute_file_name_length = testworkdir_length + entry_suffix_length; + char *temp_absolute_file_name = calloc(1, temp_absolute_file_name_length + 1); // +1 for null character. + assertEqualInt(snprintf(temp_absolute_file_name, temp_absolute_file_name_length + 1, "%s%s", testworkdir, entry_suffix), + temp_absolute_file_name_length); + + // Create the file. + const char *sample_data = "test file from test_extract_cpio_absolute_paths"; + assertMakeFile(temp_absolute_file_name, 0644, sample_data); + + // Create an archive with the test file, using an absolute path. + assertMakeFile("filelist", 0644, temp_absolute_file_name); + r = systemf("%s -o < filelist > archive.cpio 2> stderr1.txt", testprog); + assertEqualInt(r, 0); + + // Ensure that the temp file does not exist. + UNLINK(temp_absolute_file_name); + + // We should refuse to create the absolute path without --insecure. + r = systemf("%s -i < archive.cpio 2> stderr2.txt", testprog); + assert(r != 0); + assertFileNotExists(temp_absolute_file_name); + UNLINK(temp_absolute_file_name); // Cleanup just in case. + + // But if we specify --insecure then the absolute path should be created. + r = systemf("%s -i --insecure < archive.cpio 2> stderr3.txt", testprog); + assert(r == 0); + assertFileExists(temp_absolute_file_name); + } diff --cc contrib/libarchive/libarchive/test/test_7zip_filename_encoding.c index 000000000000,cf562d39fda7..cf562d39fda7 mode 000000,100644..100644 --- a/contrib/libarchive/libarchive/test/test_7zip_filename_encoding.c +++ b/contrib/libarchive/libarchive/test/test_7zip_filename_encoding.c diff --cc contrib/libarchive/libarchive/test/test_ar_mode.c index 000000000000,4f9feb1210d2..4f9feb1210d2 mode 000000,100644..100644 --- a/contrib/libarchive/libarchive/test/test_ar_mode.c +++ b/contrib/libarchive/libarchive/test/test_ar_mode.c diff --cc contrib/libarchive/libarchive/test/test_archive_read.c index 000000000000,583e5166a0be..583e5166a0be mode 000000,100644..100644 --- a/contrib/libarchive/libarchive/test/test_archive_read.c +++ b/contrib/libarchive/libarchive/test/test_archive_read.c diff --cc contrib/libarchive/libarchive/test/test_read_filter_gzip_recursive.c index 000000000000,0042a0511d5a..0042a0511d5a mode 000000,100644..100644 --- a/contrib/libarchive/libarchive/test/test_read_filter_gzip_recursive.c +++ b/contrib/libarchive/libarchive/test/test_read_filter_gzip_recursive.c diff --cc contrib/libarchive/libarchive/test/test_read_filter_gzip_recursive.gz.uu index 000000000000,14b0476bed40..14b0476bed40 mode 000000,100644..100644 --- a/contrib/libarchive/libarchive/test/test_read_filter_gzip_recursive.gz.uu +++ b/contrib/libarchive/libarchive/test/test_read_filter_gzip_recursive.gz.uu diff --cc contrib/libarchive/libarchive/test/test_read_format_7zip_extract_second.7z.uu index 000000000000,aa3d6e235784..aa3d6e235784 mode 000000,100644..100644 --- a/contrib/libarchive/libarchive/test/test_read_format_7zip_extract_second.7z.uu +++ b/contrib/libarchive/libarchive/test/test_read_format_7zip_extract_second.7z.uu diff --cc contrib/libarchive/libarchive/test/test_read_format_huge_rpm.c index 000000000000,729c1e188d28..729c1e188d28 mode 000000,100644..100644 --- a/contrib/libarchive/libarchive/test/test_read_format_huge_rpm.c +++ b/contrib/libarchive/libarchive/test/test_read_format_huge_rpm.c diff --cc contrib/libarchive/libarchive/test/test_read_format_huge_rpm.rpm.uu index 000000000000,db2111859662..db2111859662 mode 000000,100644..100644 --- a/contrib/libarchive/libarchive/test/test_read_format_huge_rpm.rpm.uu +++ b/contrib/libarchive/libarchive/test/test_read_format_huge_rpm.rpm.uu diff --cc contrib/libarchive/libarchive/test/test_read_format_iso_3.iso.Z.uu index 000000000000,e7734ab33bf3..e7734ab33bf3 mode 000000,100644..100644 --- a/contrib/libarchive/libarchive/test/test_read_format_iso_3.iso.Z.uu +++ b/contrib/libarchive/libarchive/test/test_read_format_iso_3.iso.Z.uu diff --cc contrib/libarchive/libarchive/test/test_read_format_rar4_encrypted.rar.uu index 000000000000,584183b4a46f..584183b4a46f mode 000000,100644..100644 --- a/contrib/libarchive/libarchive/test/test_read_format_rar4_encrypted.rar.uu +++ b/contrib/libarchive/libarchive/test/test_read_format_rar4_encrypted.rar.uu diff --cc contrib/libarchive/libarchive/test/test_read_format_rar4_encrypted_filenames.rar.uu index 000000000000,3d7aa806a86d..3d7aa806a86d mode 000000,100644..100644 --- a/contrib/libarchive/libarchive/test/test_read_format_rar4_encrypted_filenames.rar.uu +++ b/contrib/libarchive/libarchive/test/test_read_format_rar4_encrypted_filenames.rar.uu diff --cc contrib/libarchive/libarchive/test/test_read_format_rar4_solid_encrypted.rar.uu index 000000000000,7d73ee86d9ef..7d73ee86d9ef mode 000000,100644..100644 --- a/contrib/libarchive/libarchive/test/test_read_format_rar4_solid_encrypted.rar.uu +++ b/contrib/libarchive/libarchive/test/test_read_format_rar4_solid_encrypted.rar.uu diff --cc contrib/libarchive/libarchive/test/test_read_format_rar4_solid_encrypted_filenames.rar.uu index 000000000000,6c28e955d0e1..6c28e955d0e1 mode 000000,100644..100644 --- a/contrib/libarchive/libarchive/test/test_read_format_rar4_solid_encrypted_filenames.rar.uu +++ b/contrib/libarchive/libarchive/test/test_read_format_rar4_solid_encrypted_filenames.rar.uu diff --cc contrib/libarchive/libarchive/test/test_read_format_rar5_data_ready_pointer_leak.rar.uu index 000000000000,8c8c90778b9d..8c8c90778b9d mode 000000,100644..100644 --- a/contrib/libarchive/libarchive/test/test_read_format_rar5_data_ready_pointer_leak.rar.uu +++ b/contrib/libarchive/libarchive/test/test_read_format_rar5_data_ready_pointer_leak.rar.uu diff --cc contrib/libarchive/libarchive/test/test_read_format_rar5_encrypted.rar.uu index 000000000000,0a52fa26bb3c..0a52fa26bb3c mode 000000,100644..100644 --- a/contrib/libarchive/libarchive/test/test_read_format_rar5_encrypted.rar.uu +++ b/contrib/libarchive/libarchive/test/test_read_format_rar5_encrypted.rar.uu diff --cc contrib/libarchive/libarchive/test/test_read_format_rar5_encrypted_filenames.rar.uu index 000000000000,931240a16d49..931240a16d49 mode 000000,100644..100644 --- a/contrib/libarchive/libarchive/test/test_read_format_rar5_encrypted_filenames.rar.uu +++ b/contrib/libarchive/libarchive/test/test_read_format_rar5_encrypted_filenames.rar.uu diff --cc contrib/libarchive/libarchive/test/test_read_format_rar5_solid_encrypted.rar.uu index 000000000000,d3113a305917..d3113a305917 mode 000000,100644..100644 --- a/contrib/libarchive/libarchive/test/test_read_format_rar5_solid_encrypted.rar.uu +++ b/contrib/libarchive/libarchive/test/test_read_format_rar5_solid_encrypted.rar.uu diff --cc contrib/libarchive/libarchive/test/test_read_format_rar5_solid_encrypted_filenames.rar.uu index 000000000000,4f3dbfb33127..4f3dbfb33127 mode 000000,100644..100644 --- a/contrib/libarchive/libarchive/test/test_read_format_rar5_solid_encrypted_filenames.rar.uu +++ b/contrib/libarchive/libarchive/test/test_read_format_rar5_solid_encrypted_filenames.rar.uu diff --cc contrib/libarchive/libarchive/test/test_read_format_rar_encryption.c index 000000000000,a184b86b5ffe..a184b86b5ffe mode 000000,100644..100644 --- a/contrib/libarchive/libarchive/test/test_read_format_rar_encryption.c +++ b/contrib/libarchive/libarchive/test/test_read_format_rar_encryption.c diff --cc contrib/libarchive/libarchive/test/test_read_format_tar_pax_large_attr.c index 000000000000,1c2b55f9c6fb..1c2b55f9c6fb mode 000000,100644..100644 --- a/contrib/libarchive/libarchive/test/test_read_format_tar_pax_large_attr.c +++ b/contrib/libarchive/libarchive/test/test_read_format_tar_pax_large_attr.c diff --cc contrib/libarchive/libarchive/test/test_read_format_tar_pax_large_attr.tar.Z.uu index 000000000000,01eb55588ea7..01eb55588ea7 mode 000000,100644..100644 --- a/contrib/libarchive/libarchive/test/test_read_format_tar_pax_large_attr.tar.Z.uu +++ b/contrib/libarchive/libarchive/test/test_read_format_tar_pax_large_attr.tar.Z.uu diff --cc contrib/libarchive/libarchive/test/test_read_format_xar_duplicate_filename_node.xar.uu index 000000000000,18cbcf5898df..18cbcf5898df mode 000000,100644..100644 --- a/contrib/libarchive/libarchive/test/test_read_format_xar_duplicate_filename_node.xar.uu +++ b/contrib/libarchive/libarchive/test/test_read_format_xar_duplicate_filename_node.xar.uu diff --cc contrib/libarchive/libarchive/test/test_write_disk_secure_noabsolutepaths.c index 000000000000,df244727fe44..1c9254a42093 mode 000000,100644..100644 --- a/contrib/libarchive/libarchive/test/test_write_disk_secure_noabsolutepaths.c +++ b/contrib/libarchive/libarchive/test/test_write_disk_secure_noabsolutepaths.c @@@ -1,0 -1,88 +1,88 @@@ + /*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2024 Mostyn Bramley-Moore + */ + + #include "test.h" + + #include + + #if defined(_WIN32) && !defined(__CYGWIN__) + #define UNLINK _unlink + #else + #include + #define UNLINK unlink + #endif + + /* + * Exercise security checks that should prevent writing absolute paths + * when extracting archives. + */ + DEFINE_TEST(test_write_disk_secure_noabsolutepaths) + { + struct archive *a, *ad; + struct archive_entry *ae; + + char buff[10000]; + + size_t used; + + // Create an archive_write object. + assert((a = archive_write_new()) != NULL); + assertEqualIntA(a, ARCHIVE_OK, archive_write_set_format_ustar(a)); + assertEqualIntA(a, ARCHIVE_OK, archive_write_add_filter_none(a)); + assertEqualIntA(a, ARCHIVE_OK, archive_write_open_memory(a, buff, sizeof(buff), &used)); + + // Create an absolute path for a test file inside testworkdir. - char *entry_suffix = "/badfile"; ++ const char *entry_suffix = "/badfile"; + size_t entry_suffix_length = strlen(entry_suffix); + size_t testworkdir_length = strlen(testworkdir); + size_t temp_absolute_file_name_length = testworkdir_length + entry_suffix_length; + char *temp_absolute_file_name = calloc(1, temp_absolute_file_name_length + 1); // +1 for null character. + assertEqualInt(snprintf(temp_absolute_file_name, temp_absolute_file_name_length + 1, "%s%s", testworkdir, entry_suffix), + temp_absolute_file_name_length); + + // Convert to a unix-style path, so we can compare it to the entry + // path when reading back the archive. + for (char *p = temp_absolute_file_name; *p != '\0'; p++) + if (*p == '\\') *p = '/'; + + // Add a regular file entry with an absolute path. + assert((ae = archive_entry_new()) != NULL); + archive_entry_copy_pathname(ae, temp_absolute_file_name); + archive_entry_set_mode(ae, S_IFREG | 0777); + archive_entry_set_size(ae, 6); + assertEqualIntA(a, ARCHIVE_OK, archive_write_header(a, ae)); + archive_entry_free(ae); + assertEqualInt(6, archive_write_data(a, "hello", 6)); + assertEqualIntA(a, ARCHIVE_OK, archive_write_close(a)); + assertEqualInt(ARCHIVE_OK, archive_write_free(a)); + + // Now try to extract the data. + assert((a = archive_read_new()) != NULL); + assertEqualIntA(a, ARCHIVE_OK, archive_read_support_format_all(a)); + assertEqualIntA(a, ARCHIVE_OK, archive_read_support_filter_all(a)); + assertEqualIntA(a, ARCHIVE_OK, archive_read_open_memory(a, buff, used)); + + assertEqualIntA(a, ARCHIVE_OK, archive_read_next_header(a, &ae)); + assertEqualString(temp_absolute_file_name, archive_entry_pathname(ae)); + assertEqualInt(AE_IFREG, archive_entry_filetype(ae)); + assertEqualInt(AE_IFREG | 0777, archive_entry_mode(ae)); + assertEqualInt(6, archive_entry_size(ae)); + + // This should succeed. + assertEqualInt(ARCHIVE_OK, archive_read_extract(a, ae, 0)); + UNLINK(temp_absolute_file_name); + + // This should fail, since the archive entry has an absolute path. + assert(ARCHIVE_OK != archive_read_extract(a, ae, ARCHIVE_EXTRACT_SECURE_NOABSOLUTEPATHS)); + + // This should also fail. + assert((ad = archive_write_new()) != NULL); + assertEqualInt(ARCHIVE_OK, archive_write_disk_set_options(a, ARCHIVE_EXTRACT_SECURE_NOABSOLUTEPATHS)); + assert(ARCHIVE_OK != archive_read_extract2(a, ae, ad)); + + assertEqualInt(ARCHIVE_OK, archive_write_free(ad)); + assertEqualInt(ARCHIVE_OK, archive_read_free(a)); + } diff --cc contrib/libarchive/libarchive/test/test_write_format_zip_windows_path.c index 000000000000,c8be48293638..c8be48293638 mode 000000,100644..100644 --- a/contrib/libarchive/libarchive/test/test_write_format_zip_windows_path.c +++ b/contrib/libarchive/libarchive/test/test_write_format_zip_windows_path.c diff --cc contrib/libarchive/tar/test/test_option_P.c index 000000000000,e63da3e0875c..e63da3e0875c mode 000000,100644..100644 --- a/contrib/libarchive/tar/test/test_option_P.c +++ b/contrib/libarchive/tar/test/test_option_P.c diff --cc lib/libarchive/tests/Makefile index dc3767c319c3,000000000000..2684d1661e57 mode 100644,000000..100644 --- a/lib/libarchive/tests/Makefile +++ b/lib/libarchive/tests/Makefile @@@ -1,689 -1,0 +1,713 @@@ +.include + +PACKAGE= tests + +WARNS?= 3 + +_LIBARCHIVEDIR= ${SRCTOP}/contrib/libarchive + +ATF_TESTS_SH+= functional_test + +TEST_METADATA.functional_test+= timeout="600" + +BINDIR= ${TESTSDIR} + +PROGS+= libarchive_test + +CFLAGS+= -I${.CURDIR} -I${.CURDIR:H} -I${.OBJDIR} +CFLAGS+= -I${_LIBARCHIVEDIR}/libarchive -I${_LIBARCHIVEDIR}/libarchive/test +CFLAGS+= -I${_LIBARCHIVEDIR}/test_utils + +CFLAGS.test_utils.c+= -Wno-cast-align + +# Uncomment to link against dmalloc +#LDADD+= -L/usr/local/lib -ldmalloc +#CFLAGS+= -I/usr/local/include -DUSE_DMALLOC + +.PATH: ${_LIBARCHIVEDIR}/libarchive/test +TESTS_SRCS= \ ++ test_7zip_filename_encoding.c \ + test_acl_nfs4.c \ + test_acl_pax.c \ + test_acl_platform_nfs4.c \ + test_acl_platform_posix1e.c \ + test_acl_posix1e.c \ + test_acl_text.c \ ++ test_ar_mode.c \ + test_archive_api_feature.c \ + test_archive_clear_error.c \ + test_archive_cmdline.c \ + test_archive_digest.c \ + test_archive_getdate.c \ + test_archive_match_time.c \ + test_archive_match_owner.c \ + test_archive_match_path.c \ + test_archive_pathmatch.c \ ++ test_archive_read.c \ + test_archive_read_add_passphrase.c \ + test_archive_read_close_twice.c \ + test_archive_read_close_twice_open_fd.c \ + test_archive_read_close_twice_open_filename.c \ + test_archive_read_multiple_data_objects.c \ + test_archive_read_next_header_empty.c \ + test_archive_read_next_header_raw.c \ + test_archive_read_open2.c \ + test_archive_read_set_filter_option.c \ + test_archive_read_set_format_option.c \ + test_archive_read_set_option.c \ + test_archive_read_set_options.c \ + test_archive_read_support.c \ + test_archive_set_error.c \ + test_archive_string.c \ + test_archive_string_conversion.c \ + test_archive_write_add_filter_by_name.c \ + test_archive_write_set_filter_option.c \ + test_archive_write_set_format_by_name.c \ + test_archive_write_set_format_filter_by_ext.c \ + test_archive_write_set_format_option.c \ + test_archive_write_set_option.c \ + test_archive_write_set_options.c \ + test_archive_write_set_passphrase.c \ + test_bad_fd.c \ + test_compat_bzip2.c \ + test_compat_cpio.c \ + test_compat_gtar.c \ + test_compat_gzip.c \ + test_compat_lz4.c \ + test_compat_lzip.c \ + test_compat_lzma.c \ + test_compat_lzop.c \ + test_compat_mac.c \ + test_compat_perl_archive_tar.c \ + test_compat_plexus_archiver_tar.c \ + test_compat_solaris_tar_acl.c \ + test_compat_solaris_pax_sparse.c \ + test_compat_star_acl.c \ + test_compat_tar_directory.c \ + test_compat_tar_hardlink.c \ + test_compat_uudecode.c \ + test_compat_uudecode_large.c \ + test_compat_xz.c \ + test_compat_zip.c \ + test_compat_zstd.c \ + test_empty_write.c \ + test_entry.c \ + test_entry_strmode.c \ + test_extattr_freebsd.c \ + test_filter_count.c \ + test_gnutar_filename_encoding.c \ + test_link_resolver.c \ + test_open_fd.c \ + test_open_failure.c \ + test_open_file.c \ + test_open_filename.c \ + test_pax_filename_encoding.c \ + test_pax_xattr_header.c \ + test_read_data_large.c \ + test_read_disk.c \ + test_read_disk_directory_traversals.c \ + test_read_disk_entry_from_file.c \ + test_read_extract.c \ + test_read_file_nonexistent.c \ + test_read_filter_compress.c \ + test_read_filter_grzip.c \ ++ test_read_filter_gzip_recursive.c \ + test_read_filter_lrzip.c \ + test_read_filter_lzop.c \ + test_read_filter_lzop_multiple_parts.c \ + test_read_filter_program.c \ + test_read_filter_program_signature.c \ + test_read_filter_uudecode.c \ + test_read_filter_uudecode_raw.c \ + test_read_format_7zip.c \ + test_read_format_7zip_encryption_data.c \ + test_read_format_7zip_encryption_header.c \ + test_read_format_7zip_encryption_partially.c \ + test_read_format_7zip_malformed.c \ + test_read_format_7zip_packinfo_digests.c \ + test_read_format_ar.c \ + test_read_format_cab.c \ + test_read_format_cab_filename.c \ + test_read_format_cpio_afio.c \ + test_read_format_cpio_bin.c \ + test_read_format_cpio_bin_Z.c \ + test_read_format_cpio_bin_be.c \ + test_read_format_cpio_bin_bz2.c \ + test_read_format_cpio_bin_gz.c \ + test_read_format_cpio_bin_le.c \ + test_read_format_cpio_bin_lzip.c \ + test_read_format_cpio_bin_lzma.c \ + test_read_format_cpio_bin_xz.c \ + test_read_format_cpio_filename.c \ + test_read_format_cpio_odc.c \ + test_read_format_cpio_svr4_gzip.c \ + test_read_format_cpio_svr4c_Z.c \ + test_read_format_cpio_svr4_bzip2_rpm.c \ + test_read_format_cpio_svr4_gzip_rpm.c \ + test_read_format_empty.c \ + test_read_format_gtar_filename.c \ + test_read_format_gtar_gz.c \ + test_read_format_gtar_lzma.c \ + test_read_format_gtar_sparse.c \ + test_read_format_gtar_sparse_skip_entry.c \ ++ test_read_format_huge_rpm.c \ + test_read_format_iso_Z.c \ + test_read_format_iso_multi_extent.c \ + test_read_format_iso_xorriso.c \ + test_read_format_isorr_rr_moved.c \ + test_read_format_isojoliet_bz2.c \ + test_read_format_isojoliet_long.c \ + test_read_format_isojoliet_rr.c \ + test_read_format_isojoliet_versioned.c \ + test_read_format_isorr_bz2.c \ + test_read_format_isorr_ce.c \ + test_read_format_isorr_new_bz2.c \ + test_read_format_isozisofs_bz2.c \ + test_read_format_lha.c \ + test_read_format_lha_bugfix_0.c \ + test_read_format_lha_filename.c \ + test_read_format_lha_filename_utf16.c \ + test_read_format_mtree.c \ + test_read_format_mtree_crash747.c \ + test_read_format_pax_bz2.c \ + test_read_format_rar.c \ + test_read_format_rar5.c \ ++ test_read_format_rar_encryption.c \ + test_read_format_rar_encryption_data.c \ + test_read_format_rar_encryption_header.c \ + test_read_format_rar_encryption_partially.c \ + test_read_format_rar_filter.c \ + test_read_format_rar_invalid1.c \ + test_read_format_raw.c \ + test_read_format_tar.c \ + test_read_format_tar_concatenated.c \ + test_read_format_tar_empty_filename.c \ + test_read_format_tar_empty_pax.c \ + test_read_format_tar_empty_with_gnulabel.c \ + test_read_format_tar_filename.c \ + test_read_format_tar_invalid_pax_size.c \ ++ test_read_format_tar_pax_large_attr.c \ + test_read_format_tbz.c \ + test_read_format_tgz.c \ + test_read_format_tlz.c \ + test_read_format_txz.c \ + test_read_format_tz.c \ + test_read_format_ustar_filename.c \ + test_read_format_warc.c \ + test_read_format_xar.c \ + test_read_format_xar_doublelink.c \ + test_read_format_zip.c \ + test_read_format_zip_7075_utf8_paths.c \ + test_read_format_zip_comment_stored.c \ + test_read_format_zip_encryption_data.c \ + test_read_format_zip_encryption_header.c \ + test_read_format_zip_encryption_partially.c \ + test_read_format_zip_extra_padding.c \ + test_read_format_zip_filename.c \ + test_read_format_zip_high_compression.c \ + test_read_format_zip_jar.c \ + test_read_format_zip_mac_metadata.c \ + test_read_format_zip_malformed.c \ + test_read_format_zip_msdos.c \ + test_read_format_zip_nested.c \ + test_read_format_zip_nofiletype.c \ + test_read_format_zip_padded.c \ + test_read_format_zip_sfx.c \ + test_read_format_zip_traditional_encryption_data.c \ + test_read_format_zip_winzip_aes.c \ + test_read_format_zip_winzip_aes_large.c \ + test_read_format_zip_with_invalid_traditional_eocd.c \ + test_read_format_zip_zip64.c \ + test_read_large.c \ + test_read_pax_xattr_rht_security_selinux.c \ + test_read_pax_xattr_schily.c \ + test_read_pax_truncated.c \ + test_read_position.c \ + test_read_set_format.c \ + test_read_too_many_filters.c \ + test_read_truncated.c \ + test_read_truncated_filter.c \ + test_short_writes.c \ + test_sparse_basic.c \ + test_tar_filenames.c \ + test_tar_large.c \ + test_warn_missing_hardlink_target.c \ + test_ustar_filenames.c \ + test_ustar_filename_encoding.c \ + test_write_disk.c \ + test_write_disk_appledouble.c \ + test_write_disk_failures.c \ + test_write_disk_fixup.c \ + test_write_disk_hardlink.c \ + test_write_disk_hfs_compression.c \ + test_write_disk_lookup.c \ + test_write_disk_mac_metadata.c \ + test_write_disk_no_hfs_compression.c \ + test_write_disk_perms.c \ + test_write_disk_secure.c \ ++ test_write_disk_secure_noabsolutepaths.c \ + test_write_disk_secure744.c \ + test_write_disk_secure745.c \ + test_write_disk_secure746.c \ + test_write_disk_sparse.c \ + test_write_disk_symlink.c \ + test_write_disk_times.c \ + test_write_filter_b64encode.c \ + test_write_filter_bzip2.c \ + test_write_filter_compress.c \ + test_write_filter_gzip.c \ + test_write_filter_gzip_timestamp.c \ + test_write_filter_lrzip.c \ + test_write_filter_lz4.c \ + test_write_filter_lzip.c \ + test_write_filter_lzma.c \ + test_write_filter_lzop.c \ + test_write_filter_program.c \ + test_write_filter_uuencode.c \ + test_write_filter_xz.c \ + test_write_filter_zstd.c \ + test_write_format_7zip.c \ + test_write_format_7zip_empty.c \ + test_write_format_7zip_large.c \ + test_write_format_ar.c \ + test_write_format_cpio.c \ + test_write_format_cpio_empty.c \ + test_write_format_cpio_newc.c \ + test_write_format_cpio_odc.c \ + test_write_format_gnutar.c \ + test_write_format_gnutar_filenames.c \ + test_write_format_iso9660.c \ + test_write_format_iso9660_boot.c \ + test_write_format_iso9660_empty.c \ + test_write_format_iso9660_filename.c \ + test_write_format_iso9660_zisofs.c \ + test_write_format_mtree.c \ + test_write_format_mtree_absolute_path.c \ + test_write_format_mtree_classic.c \ + test_write_format_mtree_classic_indent.c \ + test_write_format_mtree_fflags.c \ + test_write_format_mtree_no_separator.c \ + test_write_format_mtree_quoted_filename.c \ + test_write_format_pax.c \ + test_write_format_raw.c \ + test_write_format_raw_b64.c \ + test_write_format_shar_empty.c \ + test_write_format_tar.c \ + test_write_format_tar_empty.c \ + test_write_format_tar_sparse.c \ + test_write_format_tar_ustar.c \ + test_write_format_tar_v7tar.c \ + test_write_format_warc.c \ + test_write_format_warc_empty.c \ + test_write_format_xar.c \ + test_write_format_xar_empty.c \ + test_write_format_zip.c \ + test_write_format_zip_compression_store.c \ + test_write_format_zip_empty.c \ *** 675 LINES SKIPPED ***