kazu-yamamoto / quic

IETF QUIC library in Haskell
BSD 3-Clause "New" or "Revised" License
91 stars 13 forks source link

Supporting version 2 and the new negotiation #19

Closed kazu-yamamoto closed 2 years ago

kazu-yamamoto commented 2 years ago

This replaces Section 6 of RFC 9000.

kazu-yamamoto commented 2 years ago

Encryption keys are version specific. If a greasing version is used, its encryption key is unknown to the peer. Note that the version field in the long header is always plain without header protection.

Scenario 1 (compatible nego)

Both endpoints support both v2 and the new nego.

Scenario 2 (incompatible nego)

Both endpoints support both v2 and the new nego.

Scenario 3

A server supports RFC9000 only.

Scenario 4 (nego failed).

A server supports RFC9000 only.

The client sent CC because version_information is missing.

kazu-yamamoto commented 2 years ago

todo for compatible negotiation:

kazu-yamamoto commented 2 years ago
kazu-yamamoto commented 2 years ago

Call for discussion:

kazu-yamamoto commented 2 years ago

Done via #24.