Skip to content
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

Implement version negotiation #2

Closed
djc opened this issue May 21, 2018 · 2 comments
Closed

Implement version negotiation #2

djc opened this issue May 21, 2018 · 2 comments

Comments

@djc
Copy link
Member

djc commented May 21, 2018

This is explained in section 6.2 of the draft 11 transport spec:

https://tools.ietf.org/html/draft-ietf-quic-transport-11#section-6.2

The code processing incoming handshake packets in ConnectionState::handle_packet() should check that the version in the Initial packet matches what's supported per QUIC_VERSION. If it doesn't match, it should queue an appropriate response using ConnectionState::build_long_packet() (or something similar if version negotiation has slightly different needs).

@djc
Copy link
Member Author

djc commented Aug 12, 2018

I have started on this in a branch:

https://github.com/djc/quinn/tree/negotiate

@Ralith
Copy link
Collaborator

Ralith commented Oct 7, 2018

As of the quicr merge, basic version negotiation (i.e. failing connections that don't support our sole implemented version) is implemented.

@Ralith Ralith closed this as completed Oct 7, 2018
mstyura added a commit to mstyura/quinn that referenced this issue Oct 9, 2024
# This is the 1st commit message:

quinn-rs#2008: Make max_idle_timeout negotiation commutative.

# This is the commit message quinn-rs#2:

quinn-rs#2008: Store negotiated idle_timeout as Duration.

# This is the commit message quinn-rs#3:

quinn-rs#2009: Address code review feedback.
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

No branches or pull requests

2 participants