Re: [quicwg/base-drafts] 0-RTT can't use transport parameters or 1-RTT frames (#2461)

Jana Iyengar <notifications@github.com> Fri, 22 February 2019 03:48 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 8FBB012F295 for <quic-issues@ietfa.amsl.com>; Thu, 21 Feb 2019 19:48:23 -0800 (PST)
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 FcEd2L4BFe8T for <quic-issues@ietfa.amsl.com>; Thu, 21 Feb 2019 19:48:21 -0800 (PST)
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 52BB2126D00 for <quic-issues@ietf.org>; Thu, 21 Feb 2019 19:48:21 -0800 (PST)
Date: Thu, 21 Feb 2019 19:48:20 -0800
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1550807300; bh=eUZl0RhMBaM5P/d07cAlyKmqG9qHWjPNpp/U3ARQBqg=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=yqT+zgrJF3qlyNN3qp0+lGoNvegD91QlUAf4Bxen2tOIQAUgLzK8+GUvO1/Dtcfhk 0YGSZ3jmbpxh4nf6CioVOn7ihsJZhTRXZYQ+o4Q826b2iF1VepoVOhVpd5hxrYQYvU MxFa6/fbe8qjdIQy2FIhGWjaj5io7JqtQkLDs96Y=
From: Jana Iyengar <notifications@github.com>
Reply-To: quicwg/base-drafts <reply+0166e4abc405df5143e0ee0b00e12704208f557fe1b4811692cf000000011887330492a169ce1869fe88@reply.github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Message-ID: <quicwg/base-drafts/pull/2461/review/206646721@github.com>
In-Reply-To: <quicwg/base-drafts/pull/2461@github.com>
References: <quicwg/base-drafts/pull/2461@github.com>
Subject: Re: [quicwg/base-drafts] 0-RTT can't use transport parameters or 1-RTT frames (#2461)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5c6f71044121d_1ef43f8caf0d45b427145f"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: janaiyengar
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/Vsp5LrZT59PFrlDTDSJ67KGCAHA>
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: Fri, 22 Feb 2019 03:48:24 -0000

janaiyengar commented on this pull request.

A few suggestions, minor.

> @@ -1422,6 +1422,16 @@ server's new preferred_address value in the handshake.
 A server MUST either reject 0-RTT data or abort a handshake if the implied
 values for transport parameters cannot be supported.
 
+A client MUST NOT use updated values it learns either from the server's updated

This is difficult to read. How about:
"When sending frames in 0-RTT packets, a client MUST only use remembered transport parameters; importantly, it MUST NOT use updated values that it learns from the server's updated transport parameters or from frames received in 1-RTT packets."

> @@ -1422,6 +1422,16 @@ server's new preferred_address value in the handshake.
 A server MUST either reject 0-RTT data or abort a handshake if the implied
 values for transport parameters cannot be supported.
 
+A client MUST NOT use updated values it learns either from the server's updated
+transport parameters or frames carried in 1-RTT when sending frames in 0-RTT
+packets.  Updated values of transport parameters from the handshake only apply

```suggestion
packets.  Updated values of transport parameters from the handshake apply only
```

> @@ -1422,6 +1422,16 @@ server's new preferred_address value in the handshake.
 A server MUST either reject 0-RTT data or abort a handshake if the implied
 values for transport parameters cannot be supported.
 
+A client MUST NOT use updated values it learns either from the server's updated
+transport parameters or frames carried in 1-RTT when sending frames in 0-RTT
+packets.  Updated values of transport parameters from the handshake only apply
+to 1-RTT packets.  For instance, flow control limits from remembered transport
+parameters apply to all 0-RTT packets even if those values are increased by the
+handshake; increased limits from frames cannot be applied, because the client

```suggestion
handshake.  Increased flow control limits from frames cannot be applied, because the client
```

> @@ -1422,6 +1422,16 @@ server's new preferred_address value in the handshake.
 A server MUST either reject 0-RTT data or abort a handshake if the implied
 values for transport parameters cannot be supported.
 
+A client MUST NOT use updated values it learns either from the server's updated
+transport parameters or frames carried in 1-RTT when sending frames in 0-RTT
+packets.  Updated values of transport parameters from the handshake only apply
+to 1-RTT packets.  For instance, flow control limits from remembered transport
+parameters apply to all 0-RTT packets even if those values are increased by the
+handshake; increased limits from frames cannot be applied, because the client

I might even suggest dropping the second half, after "increased limits from frames".

>  
 A client SHOULD instead generate a fresh cryptographic handshake message and
 start packet numbers from 0.  This ensures that new 0-RTT packets will not use
 the same keys, avoiding any risk of key and nonce reuse; this also prevents
 0-RTT packets from previous handshake attempts from being accepted as part of
 the connection.
 
+A client MUST NOT send 0-RTT packets once it starts processing 1-RTT packets
+from the server.  This means that 0-RTT packets cannot contain any response to
+frames from 1-RTT packets.  For instance, a client cannot send an ACK frame in a
+0-RTT packet, because that can only acknowledge a 1-RTT packet.  An
+acknowledgment for a 1-RTT packet MUST be carried in a 1-RTT packet.  A server

New paragraph -- this last sentence is not related to the earlier discussion in this para.
```suggestion
acknowledgment for a 1-RTT packet MUST be carried in a 1-RTT packet. 

A server
```

-- 
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/2461#pullrequestreview-206646721