Skip to content

dtls13: preserve overlapping KeyUpdate flights#123

Draft
zRedShift wants to merge 3 commits into
algesten:mainfrom
zRedShift:fix/dtls13-overlapping-keyupdate-response
Draft

dtls13: preserve overlapping KeyUpdate flights#123
zRedShift wants to merge 3 commits into
algesten:mainfrom
zRedShift:fix/dtls13-overlapping-keyupdate-response

Conversation

@zRedShift
Copy link
Copy Markdown
Contributor

Draft stacked on #122, which is itself stacked on #121. Once #121 and #122 land, this PR should be rebased onto main and its diff should collapse to the single DIMP-016 commit.

What

This preserves overlapping DTLS 1.3 KeyUpdate flights instead of allowing one side of the overlap to erase the other side's pending update state. It also covers retransmission behavior so a duplicate KeyUpdate still gets a decryptable fresh ACK.

Why

When peers overlap KeyUpdate requests, dimpl can otherwise lose track of the local update or resend stale acknowledgement material. That breaks the DTLS 1.3 post-KeyUpdate state machine under valid overlapping traffic.

Notes

Validation

  • git diff --check 90989cf..HEAD
  • cargo fmt --check
  • cargo test --test dtls13 key_update --features rcgen
  • cargo test --all-targets --features rcgen
  • cargo clippy --all-targets --features rcgen -- -D warnings

@zRedShift zRedShift force-pushed the fix/dtls13-overlapping-keyupdate-response branch from 6ec361a to 1cbeac3 Compare May 24, 2026 06:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant