From dbcf4734e7c43dea64a9be728b6866758e4462fa Mon Sep 17 00:00:00 2001 From: Markus Maiwald Date: Tue, 3 Feb 2026 17:22:03 +0100 Subject: [PATCH] build: Add PNG + Transport Skins to build system - png.zig module with tests - transport_skins.zig module with tests - Integrated into zig build test pipeline Refs: RFC-0015 --- build.zig | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/build.zig b/build.zig index 44706b5..1584db4 100644 --- a/build.zig +++ b/build.zig @@ -247,6 +247,33 @@ pub fn build(b: *std.Build) void { l4_feed_tests.linkLibC(); // Required for DuckDB C API const run_l4_feed_tests = b.addRunArtifact(l4_feed_tests); + // ======================================================================== + // RFC-0015: Transport Skins (DPI Resistance) + // ======================================================================== + const png_mod = b.createModule(.{ + .root_source_file = b.path("l0-transport/png.zig"), + .target = target, + .optimize = optimize, + }); + + const transport_skins_mod = b.createModule(.{ + .root_source_file = b.path("l0-transport/transport_skins.zig"), + .target = target, + .optimize = optimize, + }); + transport_skins_mod.addImport("png", png_mod); + + // Transport Skins tests + const png_tests = b.addTest(.{ + .root_module = png_mod, + }); + const run_png_tests = b.addRunArtifact(png_tests); + + const transport_skins_tests = b.addTest(.{ + .root_module = transport_skins_mod, + }); + const run_transport_skins_tests = b.addRunArtifact(transport_skins_tests); + // ======================================================================== // Tests (with C FFI support for Argon2 + liboqs) // ======================================================================== @@ -468,6 +495,8 @@ pub fn build(b: *std.Build) void { test_step.dependOn(&run_l1_qvl_ffi_tests.step); test_step.dependOn(&run_l2_policy_tests.step); test_step.dependOn(&run_l4_feed_tests.step); + test_step.dependOn(&run_png_tests.step); + test_step.dependOn(&run_transport_skins_tests.step); // ======================================================================== // Examples