quicwg / quic-v2

A short specification of a trivial QUIC version 2

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Why is the original version not authenticated?

DavidSchinazi opened this issue · comments

Draft currently states:

Note that the version of the first Initial and the subsequent Retry are not authenticated by transport parameters.

Is this true? The client sends this as its Chosen Version right?

I don't think so?

If the client receives a v1 Retry and then chooses to connect via v2 for some reason, that won't break the transcript.

The "for some reason" doesn't make sense to me here. If the client follows the normative language in this document and in QUIC VN, it won't magically switch to v2 after receiving a v1 retry - it will instead send a second v1 initial which will contain the retry token and also chosen_version=v1, other_versions=(v1,v2).

Also, while we're at it, what is the "subsequent Retry" here? Can you write up a packet diagram to explain the flow you have in mind? (on this issue not in the draft)

Ah, I'd forgotten that in 4.1 we validate the version in the Retry token. I'll delete the sentence.