New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Define requirements for handling packets #724
Merged
Merged
Changes from all commits
Commits
Show all changes
10 commits
Select commit
Hold shift + click to select a range
7e5281b
Define requirements for handling packets
martinthomson de2821f
Review comments
martinthomson 0d0f98d
Capitalize Client Initial
martinthomson a9c6512
Expand more on the need for bufferring
martinthomson 39ea0bb
Allow a stateless reset in addition to discard
martinthomson cec3573
Allow consumption of VN in response to 0-RTT
martinthomson 9d7cdb1
Add forward ref to packetization section
martinthomson e5fb23b
Jana's comments
martinthomson aa50d14
Downgrade discard requirement to MAY prior to handshake
martinthomson d816e03
Remove text
martinthomson File filter
Filter by extension
Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
There are no files selected for viewing
This file contains 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
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is redundant and a bit confusing. The earlier para says "Such a packet could be a valid packet that has been reordered with respect to the long-form packets that will complete the cryptographic handshake", which applies to 0-RTT packets as well. I think the para above is adequate, and this one about 0-RTT is redundant.
The para above says reordered packets SHOULD be buffered, this one says MAY. Either is fine with me, I'd lean towards a SHOULD.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
0-RTT uses the long header. The last paragraph talks about short headers. Though they are related, these are completely different conditions.
The requirements have to be different. For packets that are reordered over the last flight of the handshake, you already have an assumption that the connection is going to be made and the corresponding state commitment. So buffering isn't a huge burden.
For 0-RTT, you receive random 0-RTT packets from some unspecified endpoints prior to any handshake packets. Buffering of those packets is risky - they might never be followed by a handshake packet.