Subject: [quicwg/base-drafts] Group 0-RTT sections (#3879)

From: Martin Thomson <[email-masked]>
Date: Wed, 08 Jul 2020 22:07:57 -0700

This adds a short introductory section to the three sections that deal
with 0-RTT.  That might help contextualize and help contain the
spaghetti structure that this section seems to have.
You can view, comment on, or merge this pull request online at:

  https://github.com/quicwg/base-drafts/pull/3879

-- Commit Summary --

  * Group 0-RTT sections

-- File Changes --

    M draft-ietf-quic-tls.md (51)

-- Patch Links --

https://github.com/quicwg/base-drafts/pull/3879.patch
https://github.com/quicwg/base-drafts/pull/3879.diff

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

---

From: Marten Seemann <[email-masked]>
Date: Wed, 08 Jul 2020 22:14:20 -0700

@marten-seemann approved this pull request.

-- 
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/3879#pullrequestreview-445294102

---

From: Nick Harper <[email-masked]>
Date: Thu, 09 Jul 2020 12:08:33 -0700

@nharper commented on this pull request.

> @@ -690,23 +690,46 @@ Client SHOULD NOT reuse tickets as that allows entities other than the server
 to correlate connections; see Section C.4 of {{!TLS13}}.

-## Enabling 0-RTT {#enable-0rtt}
+## 0-RTT
+
+The 0-RTT feature in QUIC allows a client to send application data before the
+handshake is complete.  This is made possible by reusing negotiated parameters
+from a previous connection.  To enable this, 0-RTT depends on the client

This still isn't clear that the reused parameters all come from the same previous connection. How about adding the following to the end of this paragraph or the next:

When a client attempts a 0-RTT connection, the critical parameters it remembers and the TLS session ticket it sends to the server must all have come from the same previous connection.

 To communicate their willingness to process 0-RTT data, servers send a
 NewSessionTicket message that contains the "early_data" extension with a
-max_early_data_size of 0xffffffff; the amount of data which the client can send
-in 0-RTT is controlled by the "initial_max_data" transport parameter supplied
-by the server.  Servers MUST NOT send the "early_data" extension with a
-max_early_data_size set to any value other than 0xffffffff.  A client MUST
-treat receipt of a NewSessionTicket that contains an "early_data" extension
-with any other value as a connection error of type PROTOCOL_VIOLATION.
+max_early_data_size of 0xffffffff.  The TLS max_early_data_size parameter is not
+used in QUIC, the amount of data which the client can send in 0-RTT is

```suggestion
used in QUIC; the amount of data which the client can send in 0-RTT is
```

-- 
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/3879#pullrequestreview-445886605

---

From: Martin Thomson <[email-masked]>
Date: Thu, 09 Jul 2020 17:58:11 -0700

@martinthomson pushed 1 commit.

66419264f22443673416df28d983d8018a2df879  Context, context, context

-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/quicwg/base-drafts/pull/3879/files/035ab1fac0437990ccd98925abb096719b20fbd8..66419264f22443673416df28d983d8018a2df879

---

From: Martin Thomson <[email-masked]>
Date: Thu, 09 Jul 2020 17:58:30 -0700

Thanks Nick.  I took it in a slightly different direction, but I think that I captured 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/pull/3879#issuecomment-656422924

---

From: Nick Harper <[email-masked]>
Date: Thu, 09 Jul 2020 19:27:18 -0700

@nharper approved this pull request.

This change looks 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/pull/3879#pullrequestreview-446083382

---

From: Jana Iyengar <[email-masked]>
Date: Sun, 12 Jul 2020 19:28:41 -0700

@janaiyengar commented on this pull request.

One high-order bit: Using 0-RTT as a noun doesn't sound right, though we do use it informally in that sense. My suggestion use of "The 0-RTT handshake delay feature" or "0-RTT delay before sending application data" as appropriate.

> @@ -690,23 +690,51 @@ Client SHOULD NOT reuse tickets as that allows entities other than the server

```suggestion
## 0-RTT Handshake Delay
```

> @@ -690,23 +690,51 @@ Client SHOULD NOT reuse tickets as that allows entities other than the server

s/The 0-RTT feature/0-RTT handshake delay

> +To ensure that the same information is available to both endpoints, information
+used to establish 0-RTT comes from the same connection and all information that
+might affect 0-RTT is retained.  Endpoints cannot selectively disregard

Rephrase this sentence -- I'm having a hard time parsing it.

-- 
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/3879#pullrequestreview-446944912

---

From: Martin Thomson <[email-masked]>
Date: Sun, 12 Jul 2020 20:17:23 -0700

@martinthomson commented on this pull request.

Sorry, I don't know where "delay" comes into 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/pull/3879#discussion_r453413549

---

From: Martin Thomson <[email-masked]>
Date: Sun, 12 Jul 2020 20:18:30 -0700

a55dc7bf5350d327eaa0e67d0ee524d0ea0b4357  Fewer words

-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/quicwg/base-drafts/pull/3879/files/66419264f22443673416df28d983d8018a2df879..a55dc7bf5350d327eaa0e67d0ee524d0ea0b4357

---

From: Mike Bishop <[email-masked]>
Date: Mon, 13 Jul 2020 11:50:55 -0700

@MikeBishop approved this pull request.

-## Enabling 0-RTT {#enable-0rtt}
+## 0-RTT
+
+The 0-RTT feature in QUIC allows a client to send application data before the
+handshake is complete.  This is made possible by reusing negotiated parameters
+from a previous connection.  To enable this, 0-RTT depends on the client
+remembering critical parameters and providing the server with a TLS session
+ticket that allows the server to recover the same information.
+
+This information includes parameters that determine TLS state, as governed by
+{{!TLS13}}, QUIC transport parameters, the chosen application protocol, and any
+information the application protocol might need; see {{app-0rtt}}.  This
+information determines how 0-RTT packets and their contents are formed.
+
+To ensure that the same information is available to both endpoints, information

```suggestion
To ensure that the same information is available to both endpoints, all information
```
...and rewrap, probably.

-- 
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/3879#pullrequestreview-447512026

---

From: Martin Thomson <[email-masked]>
Date: Mon, 13 Jul 2020 18:23:07 -0700

a76230e1c550518527a33acfdd16f59cf7001beb  all info

-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/quicwg/base-drafts/pull/3879/files/a55dc7bf5350d327eaa0e67d0ee524d0ea0b4357..a76230e1c550518527a33acfdd16f59cf7001beb

---

From: Martin Thomson <[email-masked]>
Date: Mon, 13 Jul 2020 18:23:49 -0700

e2b89226d91b276178a2cd20aba11088246b6e66  Rewrap

-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/quicwg/base-drafts/pull/3879/files/a76230e1c550518527a33acfdd16f59cf7001beb..e2b89226d91b276178a2cd20aba11088246b6e66

---

From: Martin Thomson <[email-masked]>
Date: Mon, 13 Jul 2020 18:26:52 -0700

Merged #3879 into master.

-- 
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/3879#event-3542022579