Repository navigation
Conversation
Backport moq-dev/moq#5916 to the 1.3 state machine, including the source CID validation already present in moq-quic. Co-Authored-By: GPT-6 <noreply@openai.com>
|
Checkpoint: 3dcbdf9 contains the source backport and four regression tests. All four pass; the full proto run passed 469 tests and hit the two BBR timeouts listed above. Formatting and clippy pass. Public API and wire formats are unchanged. Handing off the 1.3.6 publication decision before any merge, release tag, or MoQ (written by GPT-6.1-Sol) |
|
Closing as abandoned: we're no longer patching noq and are switching to moq-quic. The release line will not get a moq-noq 1.3.x patch; the discarded-Retry fix ships from (Written by Claude Opus 5.5) |
Problem
On 1.3.5, one discarded Retry prevents the client from following a genuine Retry or processing Version Negotiation. This backports moq-dev/moq#5916 for
/quest/m0/retry-backport.md.Approach
Use the handshake's accepted server Initial/Retry state instead of counting authenticated packets. Include the source CID validation already present in moq-quic. Port four deterministic tests for invalid Retry, repeated Retry, subsequent genuine Retry, and subsequent Version Negotiation.
Impact
Validation
cargo nextest run --locked -p moq-noq-proto: 469 passed, including all four Retry tests; two BBR tests exceeded the existing six-second limit (probe_bw_exits_probe_down_to_probe_cruise_on_inflight,probe_bw_exits_probe_up_to_probe_down_on_bandwidth_plateau). No timeout changes or retries.cargo clippy --locked -p moq-noq-proto --all-targets -- -D warningspassed.git diff --checkpassed.Alternatives
Rely on the next MoQ release from main, where the fix is already present. Keeping the authenticated-packet counter cannot distinguish a discarded Retry from a processed server packet.
Follow-ups
Confirm the 1.3.6 publication: #42 and #43 were closed on October 17 with a decision against patching the release line, while the newer MoQ quest explicitly requests this backport. Recommended: approve this targeted handshake fix, publish 1.3.6, then update MoQ's
releasedependency pin. No merge or publication is part of this PR's execution. The two BBR test timeouts remain outside this fix.(written by GPT-6.1-Sol)