test_read_format_zip_ppmd8_aes256_streaming (added in 3.8.9) fails
with 6 assertion failures because it attempts to decrypt an AES256
encrypted zipx file without first checking if a crypto library is
available. The default PACKAGECONFIG does not include openssl/nettle/mbedtls.

Add a patch to skip the test when no crypto library is present, using
the same guard as other encrypted zip tests in the same file.

Upstream: https://github.com/libarchive/libarchive/pull/3335

ptest results (qemux86-64):
                        3.8.8       3.8.9       diff
  Tests run:              797         847        +50
  Tests failed:             0           0          0
  Assertions checked:32184686    32472682   +287996
  Assertions failed:        0           0          0
  Skips reported:         237         244         +7

Signed-off-by: Jaipaul Cheernam <[email protected]>
---
 ...aes256-streaming-test-when-no-crypto.patch | 46 +++++++++++++++++++
 .../libarchive/libarchive_3.8.9.bb            |  1 +
 2 files changed, 47 insertions(+)
 create mode 100644 
meta/recipes-extended/libarchive/libarchive/0001-test-skip-ppmd8-aes256-streaming-test-when-no-crypto.patch

diff --git 
a/meta/recipes-extended/libarchive/libarchive/0001-test-skip-ppmd8-aes256-streaming-test-when-no-crypto.patch
 
b/meta/recipes-extended/libarchive/libarchive/0001-test-skip-ppmd8-aes256-streaming-test-when-no-crypto.patch
new file mode 100644
index 0000000000..fc96225141
--- /dev/null
+++ 
b/meta/recipes-extended/libarchive/libarchive/0001-test-skip-ppmd8-aes256-streaming-test-when-no-crypto.patch
@@ -0,0 +1,46 @@
+From c2b00a5fff659bbe8d70b5e00cb6abb831170aeb Mon Sep 17 00:00:00 2001
+From: Jaipaul Cheernam <[email protected]>
+Date: Wed, 29 Jul 2026 13:33:10 +0000
+Subject: [PATCH] test: skip ppmd8 aes256 streaming test when no crypto library
+ is present
+
+test_read_format_zip_ppmd8_aes256_streaming fails with 6 assertion
+failures on systems without a crypto library (openssl/nettle/mbedtls)
+because it tries to decrypt a pre-built encrypted zipx file without
+checking crypto availability first.
+
+Add the same guard used by the other encrypted zip tests in this file.
+
+Upstream-Status: Submitted [https://github.com/libarchive/libarchive/pull/3335]
+Signed-off-by: Jaipaul Cheernam <[email protected]>
+---
+ .../test/test_read_format_zip_zipx_encrypted.c     | 14 ++++++++++++++
+ 1 file changed, 14 insertions(+)
+
+diff --git a/libarchive/test/test_read_format_zip_zipx_encrypted.c 
b/libarchive/test/test_read_format_zip_zipx_encrypted.c
+index f07e1e5c..a0a431fb 100644
+--- a/libarchive/test/test_read_format_zip_zipx_encrypted.c
++++ b/libarchive/test/test_read_format_zip_zipx_encrypted.c
+@@ -257,8 +257,22 @@ 
DEFINE_TEST(test_read_format_zip_zipx_zstd_encrypted_streaming)
+ DEFINE_TEST(test_read_format_zip_ppmd8_aes256_streaming)
+ {
+       const char *refname = 
"test_read_format_zip_ppmd8_aes256_streaming.zipx";
++      struct archive *a;
+       size_t used;
+       char buff[600];
++
++      /* Check if running system has cryptographic functionality. */
++      assert((a = archive_write_new()) != NULL);
++      assertEqualIntA(a, ARCHIVE_OK, archive_write_set_format_zip(a));
++      assertEqualIntA(a, ARCHIVE_OK, archive_write_add_filter_none(a));
++      if (ARCHIVE_OK != archive_write_set_options(a,
++                      "zip:encryption=aes256")) {
++              skipping("This system does not have cryptographic library");
++              archive_write_free(a);
++              return;
++      }
++      archive_write_free(a);
++
+       extract_reference_file(refname);
+       FILE *f = fopen(refname, "rb");
+       used = fread(buff, 1, sizeof(buff), f);
diff --git a/meta/recipes-extended/libarchive/libarchive_3.8.9.bb 
b/meta/recipes-extended/libarchive/libarchive_3.8.9.bb
index da792374cf..63c66eea81 100644
--- a/meta/recipes-extended/libarchive/libarchive_3.8.9.bb
+++ b/meta/recipes-extended/libarchive/libarchive_3.8.9.bb
@@ -31,6 +31,7 @@ EXTRA_OECONF += "--enable-largefile --without-iconv"
 
 SRC_URI = "https://libarchive.org/downloads/libarchive-${PV}.tar.gz \
            file://run-ptest \
+           
file://0001-test-skip-ppmd8-aes256-streaming-test-when-no-crypto.patch \
           "
 UPSTREAM_CHECK_URI = "https://www.libarchive.org/";
 
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#242283): 
https://lists.openembedded.org/g/openembedded-core/message/242283
Mute This Topic: https://lists.openembedded.org/mt/120506647/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to