Re: [quicwg/base-drafts] introduce a version alias mechanism (#2573)

Martin Thomson <notifications@github.com> Tue, 09 April 2019 02:31 UTC

Return-Path: <noreply@github.com>
X-Original-To: quic-issues@ietfa.amsl.com
Delivered-To: quic-issues@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 435CA120388 for <quic-issues@ietfa.amsl.com>; Mon, 8 Apr 2019 19:31:05 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -8.002
X-Spam-Level:
X-Spam-Status: No, score=-8.002 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, MAILING_LIST_MULTI=-1, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=github.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id AUdyViV3bnqv for <quic-issues@ietfa.amsl.com>; Mon, 8 Apr 2019 19:31:03 -0700 (PDT)
Received: from out-5.smtp.github.com (out-5.smtp.github.com [192.30.252.196]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id E922C120184 for <quic-issues@ietf.org>; Mon, 8 Apr 2019 19:31:02 -0700 (PDT)
Date: Mon, 08 Apr 2019 19:31:01 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1554777061; bh=hDqeynzrRqNVI/I0RymWUYbLbnlcAPzHdrSNjloqCRo=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=pze8k6NbnTYspx2UD+DzErK9CrvrR5V1RyXgWJRKSEGiyJcQjQOmq1VnpfRwmF46S ++kYmtLqFnqIAjxateb6q1f9nLjbC1rfMJzfFyVQLOjAzSXfF97HeGZGsUVlUIa/76 cC8mR2Usre3ywqniOyG6KosX/L79dvlN8juA2zIc=
From: Martin Thomson <notifications@github.com>
Reply-To: quicwg/base-drafts <reply+0166e4ab21a3790dba20447cafd8f22dc2666cd42be85bf592cf0000000118c3c5e592a169ce197ad4b9@reply.github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Message-ID: <quicwg/base-drafts/pull/2573/review/224167569@github.com>
In-Reply-To: <quicwg/base-drafts/pull/2573@github.com>
References: <quicwg/base-drafts/pull/2573@github.com>
Subject: Re: [quicwg/base-drafts] introduce a version alias mechanism (#2573)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5cac03e5d314b_40e33fe1456d45b48769"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: martinthomson
X-GitHub-Recipient: quic-issues
X-GitHub-Reason: subscribed
X-Auto-Response-Suppress: All
X-GitHub-Recipient-Address: quic-issues@ietf.org
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic-issues/kmTkUoP0TqWWvlBVE3NAGB2RtAM>
X-BeenThere: quic-issues@ietf.org
X-Mailman-Version: 2.1.29
List-Id: Notification list for GitHub issues related to the QUIC WG <quic-issues.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/quic-issues>, <mailto:quic-issues-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/quic-issues/>
List-Post: <mailto:quic-issues@ietf.org>
List-Help: <mailto:quic-issues-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/quic-issues>, <mailto:quic-issues-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 09 Apr 2019 02:31:11 -0000

martinthomson commented on this pull request.

As noted on the list, a few major items:

* This might be better as a NEW_TOKEN addition.
* This needs more thorough treatment of linkability.
* Some discussion of how to generate these values would be advisable.  That doesn't need to include the tricky bit, which is how you manage this in anticipation of the deployment of a new version, but it does need to have at least an example of how to do this without messing it up.

> @@ -4115,6 +4130,25 @@ preferred_address (0x000d):
 ~~~
 {: #fig-preferred-address title="Preferred Address format"}
 
+version_aliases (0x000e):
+
+: A list of version numbers that the server accepts as an alias for the
+  currently used versions. This transport parameter is only sent by the server.
+  Every version alias contains a lifetime in seconds. The alias is only valid
+  for that lifetime, clients MUST NOT use it after expiry.
+
+~~~
+   struct {
+     uint32 VersionNumber;
+     varint Lifetime;
+     opaque InitialSecret<20>;

You want `opaque InitialSalt[20];` or `opaque InitialSalt<20..32>;`  with appropriate values for minimum and maximum.
```suggestion
     opaque initial_secret[20];
```

> @@ -4115,6 +4130,25 @@ preferred_address (0x000d):
 ~~~
 {: #fig-preferred-address title="Preferred Address format"}
 
+version_aliases (0x000e):
+
+: A list of version numbers that the server accepts as an alias for the
+  currently used versions. This transport parameter is only sent by the server.
+  Every version alias contains a lifetime in seconds. The alias is only valid
+  for that lifetime, clients MUST NOT use it after expiry.
+
+~~~
+   struct {
+     uint32 VersionNumber;
+     varint Lifetime;

```suggestion
     uint32 lifetime_ms;
```

As others have suggested, include the units.

-- 
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/pull/2573#pullrequestreview-224167569