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

Limit connection drops from Version Negotiation #3533

Merged
merged 2 commits into from
Apr 20, 2020

Conversation

martinthomson
Copy link
Member

The text was a little too broad. This breaks up the text and adds two
caveats to handling rules:

  1. If you have handled another packet, then assume that everything is good.

  2. If you the VN includes QUIC v1, then assume that something got corrupted.

The issue addresses the second, but I think we were implying the first for some time.

Closes #3532.

The text was a little too broad.  This breaks up the text and adds two
caveats to handling rules:

1. If you have handled another packet, then assume that everything is
good.

2. If you the VN includes QUIC v1, then assume that something got
corrupted.

Closes #3532.
@martinthomson martinthomson added design An issue that affects the design of the protocol; resolution requires consensus. -transport labels Mar 18, 2020
Copy link
Contributor

@huitema huitema left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Works for me.

draft-ietf-quic-transport.md Outdated Show resolved Hide resolved
Copy link
Contributor

@janaiyengar janaiyengar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some editorial suggestions.

Comment on lines 1272 to 1276
A client that supports only this version of QUIC MUST abandon the current
connection attempt if it receives a Version Negotiation packet. However, a
client MUST discard any Version Negotiation packet if is has received and
successfully processed a packet. In addition, a client MUST discard a Version
Negotiation packet that lists the QUIC version selected by the client.
Copy link
Contributor

@janaiyengar janaiyengar Mar 19, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
A client that supports only this version of QUIC MUST abandon the current
connection attempt if it receives a Version Negotiation packet. However, a
client MUST discard any Version Negotiation packet if is has received and
successfully processed a packet. In addition, a client MUST discard a Version
Negotiation packet that lists the QUIC version selected by the client.
A client that supports only this version of QUIC MUST abandon the current
connection attempt if it receives a Version Negotiation packet, with the
following two exceptions. A client MUST discard any Version Negotiation packet
if it has received and successfully processed any other packet, including an
earlier Version Negotiation packet. A client MUST discard a Version Negotiation
packet that lists the QUIC version selected by the client.

@martinthomson martinthomson merged commit 70772cb into master Apr 20, 2020
@martinthomson martinthomson deleted the ignore-same-version-vn branch April 20, 2020 05:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
-transport design An issue that affects the design of the protocol; resolution requires consensus.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Defense against version number corruption
8 participants