@@ -5,52 +5,52 @@ Tick an item once the corresponding test exists and passes in `dotnet test -c Re
55
66## Phase 1 - Persistence + filesystem hardening
77
8- - [ ] 1.1 Key normalization (rooted paths / ADS / NUL): ` ZTSharp.Tests ` (new: StateStore key normalization tests)
9- - [ ] 1.2 FileStateStore root confinement + planet/roots alias semantics + atomic writes: ` ZTSharp.Tests ` (new: FileStateStore security + alias tests)
10- - [ ] 1.3 AtomicFile helper + managed persistence atomicity: ` ZTSharp.Tests ` (new: persistence atomic write + size-cap tests)
11- - [ ] 1.4 List dedupe/case normalization: ` ZTSharp.Tests ` (extend existing StateStore list tests)
8+ - [x ] 1.1 Key normalization (rooted paths / ADS / NUL): ` ZTSharp.Tests ` (new: StateStore key normalization tests)
9+ - [x ] 1.2 FileStateStore root confinement + planet/roots alias semantics + atomic writes: ` ZTSharp.Tests ` (new: FileStateStore security + alias tests)
10+ - [x ] 1.3 AtomicFile helper + managed persistence atomicity: ` ZTSharp.Tests ` (new: persistence atomic write + size-cap tests)
11+ - [x ] 1.4 List dedupe/case normalization: ` ZTSharp.Tests ` (extend existing StateStore list tests)
1212
1313## Phase 2 - Managed user-space TCP correctness + robustness
1414
15- - [ ] 2.1 ACK-wait race + ACK wrap: ` ZTSharp.Tests ` (new: UserSpaceTcpSender ACK sequencing tests)
16- - [ ] 2.2 Receiver Pipe + out-of-order trimming: ` ZTSharp.Tests ` (new: receiver reassembly + trimming tests)
17- - [ ] 2.3 TCP checksum validation: ` ZTSharp.Tests ` (new: checksum fail drops segment)
18- - [ ] 2.4 MSS negotiation: ` ZTSharp.Tests ` (new: MSS clamp/negotiation tests)
15+ - [x ] 2.1 ACK-wait race + ACK wrap: ` ZTSharp.Tests ` (new: UserSpaceTcpSender ACK sequencing tests)
16+ - [x ] 2.2 Receiver Pipe + out-of-order trimming: ` ZTSharp.Tests ` (new: receiver reassembly + trimming tests)
17+ - [x ] 2.3 TCP checksum validation: ` ZTSharp.Tests ` (new: checksum fail drops segment)
18+ - [x ] 2.4 MSS negotiation: ` ZTSharp.Tests ` (new: MSS clamp/negotiation tests)
1919
2020## Phase 3 - Managed dataplane resilience + DoS hardening + perf
2121
22- - [ ] 3.1 Remove hot-path ToArray copies: ` ZTSharp.Benchmarks ` (bench) + ` ZTSharp.Tests ` (sanity)
23- - [ ] 3.2 Bound queues + drop policy: ` ZTSharp.Tests ` (new: bounded queue + no-loop-death tests)
24- - [ ] 3.3 Keep peer loop alive on faults: ` ZTSharp.Tests ` (new: fault isolation tests)
25- - [ ] 3.4 Avoid ingress HOL blocking on WHOIS: ` ZTSharp.Tests ` (new: WHOIS concurrency tests)
26- - [ ] 3.5 Harden HELLO CPU DoS: ` ZTSharp.Tests ` (new: HELLO bounds tests)
27- - [ ] 3.6 Root endpoint filtering: ` ZTSharp.Tests ` (new: root filtering correctness tests)
28- - [ ] 3.7 ResolveNodeId cache correctness: ` ZTSharp.Tests ` (new: cache invalidation test)
29- - [ ] 3.8 IPv6 scoped route key collision: ` ZTSharp.Tests ` (new: scoped route key tests)
22+ - [x ] 3.1 Remove hot-path ToArray copies: ` ZTSharp.Benchmarks ` (bench) + ` ZTSharp.Tests ` (sanity)
23+ - [x ] 3.2 Bound queues + drop policy: ` ZTSharp.Tests ` (new: bounded queue + no-loop-death tests)
24+ - [x ] 3.3 Keep peer loop alive on faults: ` ZTSharp.Tests ` (new: fault isolation tests)
25+ - [x ] 3.4 Avoid ingress HOL blocking on WHOIS: ` ZTSharp.Tests ` (new: WHOIS concurrency tests)
26+ - [x ] 3.5 Harden HELLO CPU DoS: ` ZTSharp.Tests ` (new: HELLO bounds tests)
27+ - [x ] 3.6 Root endpoint filtering: ` ZTSharp.Tests ` (new: root filtering correctness tests)
28+ - [x ] 3.7 ResolveNodeId cache correctness: ` ZTSharp.Tests ` (new: cache invalidation test)
29+ - [x ] 3.8 IPv6 scoped route key collision: ` ZTSharp.Tests ` (new: scoped route key tests)
3030
3131## Phase 4 - Managed socket surface + lifecycle semantics
3232
33- - [ ] 4.1 ZeroTierSocket disposal race: ` ZTSharp.Tests ` (new: dispose/receive race tests)
34- - [ ] 4.2 TcpListener dispose waits + AcceptAsync throws ODE: ` ZTSharp.Tests ` (new: listener dispose semantics tests)
35- - [ ] 4.3 Normalize Any/IPv6Any binding: ` ZTSharp.Tests ` (new: Any bind normalization tests)
36- - [ ] 4.4 Reject invalid remote endpoints: ` ZTSharp.Tests ` (new: endpoint validation tests)
37- - [ ] 4.5 Populate LocalEndPoint after connect: ` ZTSharp.Tests ` (new: LocalEndPoint populated test)
33+ - [x ] 4.1 ZeroTierSocket disposal race: ` ZTSharp.Tests ` (new: dispose/receive race tests)
34+ - [x ] 4.2 TcpListener dispose waits + AcceptAsync throws ODE: ` ZTSharp.Tests ` (new: listener dispose semantics tests)
35+ - [x ] 4.3 Normalize Any/IPv6Any binding: ` ZTSharp.Tests ` (new: Any bind normalization tests)
36+ - [x ] 4.4 Reject invalid remote endpoints: ` ZTSharp.Tests ` (new: endpoint validation tests)
37+ - [x ] 4.5 Populate LocalEndPoint after connect: ` ZTSharp.Tests ` (new: LocalEndPoint populated test)
3838
3939## Phase 5 - Managed protocol/crypto hardening
4040
41- - [ ] 5.1 Planet/world size guards + signature verification (when possible): ` ZTSharp.Tests ` (new: planet size + signature behavior tests)
42- - [ ] 5.2 Cap network config dictionary total length: ` ZTSharp.Tests ` (new: netconf size cap tests)
43- - [ ] 5.3 X25519 all-zero shared secret guard: ` ZTSharp.Tests ` (new: all-zero secret reject test)
44- - [ ] 5.4 Cap PUSH_DIRECT_PATHS parse output: ` ZTSharp.Tests ` (new: parse cap tests)
41+ - [x ] 5.1 Planet/world size guards + signature verification (when possible): ` ZTSharp.Tests ` (new: planet size + signature behavior tests)
42+ - [x ] 5.2 Cap network config dictionary total length: ` ZTSharp.Tests ` (new: netconf size cap tests)
43+ - [x ] 5.3 X25519 all-zero shared secret guard: ` ZTSharp.Tests ` (new: all-zero secret reject test)
44+ - [x ] 5.4 Cap PUSH_DIRECT_PATHS parse output: ` ZTSharp.Tests ` (new: parse cap tests)
4545
4646## Phase 6 - Legacy overlay stack fixes
4747
48- - [ ] 6.1 Serialize ops vs StopAsync interleaving: ` ZTSharp.Tests ` (new: lifecycle stop interleave tests)
49- - [ ] 6.2 Callback isolation (receive loop survives): ` ZTSharp.Tests ` (new: callback throws does not kill loop)
50- - [ ] 6.3 Discovery frame false positives/spoof mismatch: ` ZTSharp.Tests ` (new: discovery parsing tests)
51- - [ ] 6.4 Overlay TCP handshake buffering + bounded queues: ` ZTSharp.Tests ` (new: handshake data loss + bounds tests)
52- - [ ] 6.5 ZtUdpClient v2 directed delivery + bounds + unsubscribe: ` ZTSharp.Tests ` (new: directed delivery + dispose leak tests)
53- - [ ] 6.6 ActiveTaskSet wait correctness: ` ZTSharp.Tests ` (new: WaitAsync concurrency test)
54- - [ ] 6.7 Codec decode input validation: ` ZTSharp.Tests ` (new: decode rejects invalid inputs)
55- - [ ] 6.8 Timer cancellation set growth bounds: ` ZTSharp.Tests ` (new: cancelled set cap test)
48+ - [x ] 6.1 Serialize ops vs StopAsync interleaving: ` ZTSharp.Tests ` (new: lifecycle stop interleave tests)
49+ - [x ] 6.2 Callback isolation (receive loop survives): ` ZTSharp.Tests ` (new: callback throws does not kill loop)
50+ - [x ] 6.3 Discovery frame false positives/spoof mismatch: ` ZTSharp.Tests ` (new: discovery parsing tests)
51+ - [x ] 6.4 Overlay TCP handshake buffering + bounded queues: ` ZTSharp.Tests ` (new: handshake data loss + bounds tests)
52+ - [x ] 6.5 ZtUdpClient v2 directed delivery + bounds + unsubscribe: ` ZTSharp.Tests ` (new: directed delivery + dispose leak tests)
53+ - [x ] 6.6 ActiveTaskSet wait correctness: ` ZTSharp.Tests ` (new: WaitAsync concurrency test)
54+ - [x ] 6.7 Codec decode input validation: ` ZTSharp.Tests ` (new: decode rejects invalid inputs)
55+ - [x ] 6.8 Timer cancellation set growth bounds: ` ZTSharp.Tests ` (new: cancelled set cap test)
5656
0 commit comments