Repository navigation
Bind connection responses to their own mapping challenge - #31
Draft
gafferongames wants to merge 10 commits into
Draft
gafferongames wants to merge 10 commits into
gafferongames wants to merge 10 commits into
Conversation
… red tests for cross-token challenges By: Stella Co-Authored-By: GPT-6.1 Sol
… align test token lifetime with server policy By: Stella Co-Authored-By: GPT-6.1 Sol
… differential C handshake transcript By: Stella Co-Authored-By: GPT-6.1 Sol
… pass C reader lifetime argument By: Stella Co-Authored-By: GPT-6.1 Sol
… bind challenge to mapping token MAC By: Stella Co-Authored-By: GPT-6.1 Sol
… drive both transcripts at fixed time By: Stella Co-Authored-By: GPT-6.1 Sol
… narrow oracle clock override to calls By: Stella Co-Authored-By: GPT-6.1 Sol
… compare identical challenge inputs By: Stella Co-Authored-By: GPT-6.1 Sol
… retain behavioral differential on input mismatch By: Stella Co-Authored-By: GPT-6.1 Sol
… format deterministic tests By: Stella Co-Authored-By: GPT-6.1 Sol
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Bind connection challenges to the connect token that created the server's encryption mapping. Previously, a response encrypted under token B's packet key could carry token A's challenge and connect as A with A's user data. The server now authenticates each challenge with that token's private-data MAC and refuses a response when its mapping has no token entry.
A socketless regression and a C-reference differential script compare eight handshake steps, including a cross-token response and two in-flight challenges for one token. The C and Go scripts receive the same serialized tokens, explicit timestamp, and test-only challenge key; the differential test compares both the eight-step outcomes and every encrypted request/response datagram byte-for-byte. The existing nil-associated-data round trip remains covered. The two wire compatibility fixture calls pass nil explicitly; no binary vectors or standard text changed.
Validation on guarded Linux: focused unit, C differential, full
go test ./..., targeted race+C, and read-only gofmt all passed at the final head. The exact race command was: