Markus Maiwald
482b5488e6
fix: Correct FeedEvent size 96 bytes, fix PNG types
...
- feed.zig: Fix @sizeOf from 104 to 96 (actual struct size)
- png.zig: Fix type cast in wrapping arithmetic
Refs: RFC-0015
2026-02-03 18:01:15 +01:00
Markus Maiwald
ef0b7b61f6
fix: Use wrapping arithmetic in PNG to avoid overflow
...
Use +% for wrapping addition to prevent debug panic on overflow.
Cast through u32 for multiplication to avoid u8 overflow.
Refs: RFC-0015
2026-02-03 17:50:08 +01:00
Markus Maiwald
44b37bc231
fix: Final Zig 0.15.2 syntax fixes
...
- duckdb.zig: Remove enum values (use default)
- png.zig: Mark unused bimodal params with _:
- transport_skins.zig: Mark probe params with _:
Refs: RFC-0015
2026-02-03 17:42:20 +01:00
Markus Maiwald
924b330396
fix: Zig 0.15.2 unused parameter warnings
...
- png.zig: Fix sampleGamma signature with _: prefix
- duckdb.zig: Use explicit enum(u32) with values
- transport_skins.zig: Use _: prefix for unused params
All tests should now compile without unused parameter errors.
Refs: RFC-0015
2026-02-03 17:37:43 +01:00
Markus Maiwald
5c04aa3a37
fix: Zig 0.15.2 type casts and enum syntax
...
- png.zig: Use @floatFromInt for u8->f64 conversions
- png.zig: Use @as(u32, ...) for enumFromInt
- png.zig: Mark unused Gamma parameters
- duckdb.zig: Simplify enum
Refs: RFC-0015
2026-02-03 17:30:48 +01:00
Markus Maiwald
5dce8e0880
fix: More Zig 0.15.2 syntax fixes
...
- png.zig: Remove crypto dependency, simple XOR key derivation
- png.zig: Fix type casts for u16/u32 calculations
- transport_skins.zig: Replace inline else in deinit
- duckdb.zig: Simplify enum definition
- build.zig: Remove crypto import for png module
Refs: RFC-0015
2026-02-03 17:29:07 +01:00
Markus Maiwald
0e21a5340c
fix: Zig 0.15.2 syntax errors in PNG, skins, feed
...
- png.zig: Replace @pow with std.math.pow, fix variable names
- png.zig: Add crypto module import via build.zig
- transport_skins.zig: Replace inline else with explicit arms
- duckdb.zig: Change c_uint to u32
- feed.zig: Fix hex escape syntax, mark unused params
Refs: RFC-0015, Sprint 5
2026-02-03 17:26:44 +01:00
Markus Maiwald
8e05835330
feat(l0): RFC-0015 Transport Skins + PNG implementation
...
- png.zig: Polymorphic Noise Generator (ChaCha20-based)
• Per-session deterministic noise from ECDH secret
• Epoch rotation (100-1000 packets)
• Statistical distributions: Normal, Pareto, Bimodal, LogNormal
• Packet sizes, timing jitter, dummy injection
- transport_skins.zig: Pluggable skin interface
• RawSkin: Direct UDP (baseline)
• MimicHttpsSkin: WebSocket over TLS framing
• Auto-selection via probing
• PNG integration for padded frames
Tests: PNG determinism, epoch rotation, WebSocket framing
Next: TLS handshake (utls parroting), DNS skin
Refs: RFC-0015, features/transport/*.feature
2026-02-03 17:21:05 +01:00