quinn-rs / quinn

Async-friendly QUIC implementation in Rust
Apache License 2.0
3.85k stars 394 forks source link

Implement version negotiation #1235

Open Ralith opened 3 years ago

Ralith commented 3 years ago

draft-ietf-quic-version-negotiation specifies a mechanism for clients to not require advance knowledge of the QUIC version in use by a server, so long as the server's version is supported. This is tricky due to the risk of downgrade attacks. We should therefore take care not to enable it by default until it becomes an RFC, but the functionality would be good to have.