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

Version greasing rewrite #3599

Merged
merged 1 commit into from Apr 28, 2020
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
19 changes: 9 additions & 10 deletions draft-ietf-quic-transport.md
Expand Up @@ -1343,16 +1343,15 @@ MUST NOT be used outside of draft implementations.
## Using Reserved Versions

For a server to use a new version in the future, clients need to correctly
handle unsupported versions. To help ensure this, a server SHOULD include a
version that is reserved for forcing version negotiation (0x?a?a?a?a as defined
in {{versions}}) when generating a Version Negotiation packet.

The design of version negotiation permits a server to avoid maintaining state
for packets that it rejects in this fashion.

A client MAY send a packet using a version that is reserved for forcing version
negotiation. This can be used to solicit a list of supported versions from a
server.
handle unsupported versions. Some version numbers (0x?a?a?a?a as defined in
{{versions}}) are reserved for inclusion in fields that contain version
Copy link
Contributor

Choose a reason for hiding this comment

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

Do we say elsewhere that reserved version numbers are never to be used as actual versions?

numbers.

Endpoints MAY add reserved versions to any field where unknown or unsupported
versions are ignored to test that a peer correctly ignores the value. For
instance, an endpoint could include a reserved version in a Version Negotiation
packet; see {{packet-version}}. Endpoints MAY send packets with a reserved
version to test that a peer correctly discards the packet.


# Cryptographic and Transport Handshake {#handshake}
Expand Down