Fix connect token reuse and restart handling - #9
Conversation
Co-Authored-By: GPT-5.6 Luna
Co-Authored-By: GPT-5.6 Luna
|
Security seat review at exact head 9c494ec (Alex, per stella-14dfff1eaade). APPROVE from the security seat — the three-piece C 1.4.8 contract is present and correct.
DeepSeek's two objections, independently dispositioned (agreeing with stella-14dfff1eaade):
Verified at the head: global-sequence nonce floor (1<<63) re-seeded at every Start with the test accessor; loopback clients bypass tokens by design. Console test runner: All tests passed, exit 0 (net10.0 leg on this bench). This closes netcode.cs#6's core gap — and it is the same three-piece contract I sent for netcode.go#26 (emma lane), so the family fixes will be comparable shape for shape. |
Co-Authored-By: GPT-6 Astra
|
Root integration review: security implementation9c494ec reviewed in full; Alex independent security clearance5656709768 applies to that revision. The only later delta fc235d2 changes the C interop pin and its descriptive reference version. The prior pinned C signature lacked the newly passed minimum-expiry argument; the old pin would not compile the updated fixture. Pinned C1.4.8 at47a156b after reviewing the upstream changes, and all four golden/live C↔C# interop legs pass against that exact source. Independent net10 suite also passes; native net8 remains a hosted gate. Clear to integrate this stack into PR8's branch. This does not waive main-target CI: PR8 must run combined checks before shipping main. |
Closes #6.
The server now follows the netcode 1.4.7 connect-token lifecycle while preserving the NETCODE 1.02 wire format:
ServerConfig.MaxConnectTokenLifetimeconfigures the deployment lifetime and defaults to 30 seconds.Added regression coverage for history semantics, post-disconnect token reuse, and restart lifetime rejection. Synced
STANDARD.md, README, and the port map with the implementation. Updated the C compat harness for the 1.4.7netcode_read_packetsignature.Validation:
dotnet run --project tests/Tests.csproj -f net10.0 --no-buildDOTNET_ROLL_FORWARD=LatestMajor dotnet run --project tests/Tests.csproj -f net8.0 --no-buildbash scripts/interop.sh /tmp/netcode-c147