Subject: [quicwg/base-drafts] Version negotiation, reserved or 0x?a?a?a?a (#2540)

From: Lars Eggert <[email-masked]>
Date: Thu, 21 Mar 2019 08:41:50 +0000 (UTC)

Section 6.3 says
```
   For a server to use a new version in the future, clients must
   correctly handle unsupported versions.  To help ensure this, a server
   SHOULD include a reserved version (see Section 15) while generating a
   Version Negotiation packet.
```
And then Section 15 defines two kinds of "reserved" versions, which makes the paragraph above ambiguous.
```
   Versions with the most significant 16 bits of the version number
   cleared are reserved for use in future IETF consensus documents.

   Versions that follow the pattern 0x?a?a?a?a are reserved for use in
   forcing version negotiation to be exercised.
```
...
```
   Reserved version numbers will probably never represent a real
   protocol; a client MAY use one of these version numbers with the
   expectation that the server will initiate version negotiation; a
   server MAY advertise support for one of these versions and can expect
   that clients ignore the value.
```
Is the intent in Section 6.3 that a server SHOULD include a version that is reserved **for forcing version negotiation** (i.e., matches 0x?a?a?a?a), or SHOULD a server include a version reserved for future IETF consensus documents (i.e., matching 0x0000????). Or both?

-- 
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/2540

---

From: Jan <[email-masked]>
Date: Thu, 21 Mar 2019 11:09:38 +0000 (UTC)

In my opinion having an implementation that advertises possible future standards versions without actually supporting them seems wrong, what happens if the other side actually supports this version?
This seems like it could deadlock or look like a bidding down attack in case the client moves to a lower version to resolve the deadlock.

On the other hand, announcing standards versions helps to not ossify around the 0x?a?a?a?a pattern but to me announcing standards versions does not seem like a solution to this.

-- 
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/2540#issuecomment-475189407

---

From: Martin Thomson <[email-masked]>
Date: Thu, 21 Mar 2019 15:18:27 +0000 (UTC)

I think that some of the discussion recently has pushed us away from reserving versions for IETF use.  Fixing that would make this a design issue, of course.

I get the editorial point though.  Doubling up on the use of "reserved" is unfortunate.

-- 
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/2540#issuecomment-475272294