Subject: [quicwg/base-drafts] Ben Kaduk's Invariants Comment 3 (#4510)

From: Lucas Pardue <[email-masked]>
Date: Tue, 05 Jan 2021 19:24:42 -0800

@kaduk said:

> Section 6
> 
>    "Only the most significant bit of the first byte of a Version
>    Negotiation packet has any defined value.  The remaining 7 bits,
>    labeled Unused, can be set to any value when sending and MUST be
>    ignored on receipt."
> 
> What's the motivation behind leaving it totally free for the sender to
> pick values, as opposed to recommending or mandating that the bits be
> set to zero?

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/issues/4510

---

From: Martin Thomson <[email-masked]>
Date: Tue, 05 Jan 2021 23:41:19 -0800

> What's the motivation behind leaving it totally free for the sender to
pick values

Allowing arbitrary values was a largely arbitrary choice.  I don't remember any point at which this was contested.  We have to do something with the bytes, and so I guess we're just letting them burn.

> Are these protocol elements expected to be in the version negotiation
packet or elsewhere?

Hmm, that's up to the protocol.  I would expect any authentication to occur elsewhere though.  Such as through the TLS transcript, using something like what is in our [version negotiation draft](https://tools.ietf.org/html/draft-ietf-quic-version-negotiation-02).  Separately, someone has suggested that this say that the "semantic content" be authenticated rather than the actual bytes, we'll see how that issue goes.

The off-path thing is fixed in #4462.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/issues/4510#issuecomment-755139549

---

From: Mike Bishop <[email-masked]>
Date: Thu, 07 Jan 2021 13:54:13 -0800

> Allowing arbitrary values was a largely arbitrary choice. I don't remember any point at which this was contested. We have to do something with the bytes, and so I guess we're just letting them burn.

Otherwise stated, the definition of a long-header packet defines these bits to be version-specific.  Version zero (VN) does not need these bits, and so greases them for the sake of other QUIC versions, as we have done many other places in v1.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/issues/4510#issuecomment-756409685

---

From: kaduk <[email-masked]>
Date: Thu, 07 Jan 2021 15:49:26 -0800

Thanks; close with no change sounds good.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/issues/4510#issuecomment-756455931

---

From: Martin Thomson <[email-masked]>
Date: Thu, 07 Jan 2021 17:35:55 -0800

Closed #4510.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/issues/4510#event-4182458315