From 3e6b2af79a15c070032b6c77bb17a75ac9c24136 Mon Sep 17 00:00:00 2001 From: Elie Gambache Date: Sun, 11 Oct 2026 17:37:01 +0300 Subject: [PATCH] feat(packaging): add a zstd frame checksum to the bundle The decoder then detects a corrupted or misordered bundle by itself, even for offline installs without the manifest. Signed-off-by: Elie Gambache --- .../kdroidfilter/seforimlibrary/packaging/PackageArtifacts.kt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/generator/packaging/src/jvmMain/kotlin/io/github/kdroidfilter/seforimlibrary/packaging/PackageArtifacts.kt b/generator/packaging/src/jvmMain/kotlin/io/github/kdroidfilter/seforimlibrary/packaging/PackageArtifacts.kt index 22ecd9e8..ae60559b 100644 --- a/generator/packaging/src/jvmMain/kotlin/io/github/kdroidfilter/seforimlibrary/packaging/PackageArtifacts.kt +++ b/generator/packaging/src/jvmMain/kotlin/io/github/kdroidfilter/seforimlibrary/packaging/PackageArtifacts.kt @@ -140,6 +140,8 @@ fun main(args: Array) { Files.newOutputStream(bundleOutputPath).use { fos -> BufferedOutputStream(fos, 1 shl 20).use { bos -> ZstdOutputStream(bos, zstdLevel).use { zstd -> + // Frame checksum: the decoder detects a corrupted or misordered bundle by itself + zstd.setChecksum(true) runCatching { zstd.setWorkers(workers) } .onFailure { logger.w(it) { "zstd setWorkers($workers) failed; continuing single-threaded" } } TarArchiveOutputStream(zstd).use { tar ->