Subject: [quicwg/base-drafts] Clarify not arming PTO for ApplicationData before completion (#3486)

From: ianswett <[email-masked]>
Date: Thu, 27 Feb 2020 14:54:18 -0800

Clarifies exactly what the implications of not arming PTO for ApplicationData prior to handshake complete.

This came from a discussion with a coworker who read the transport and recovery drafts, but not TLS.
You can view, comment on, or merge this pull request online at:

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

-- Commit Summary --

  * Clarify not arming PTO for ApplicationData before completion

-- File Changes --

    M draft-ietf-quic-recovery.md (7)

-- Patch Links --

https://github.com/quicwg/base-drafts/pull/3486.patch
https://github.com/quicwg/base-drafts/pull/3486.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/3486

---

From: martinduke <[email-masked]>
Date: Thu, 27 Feb 2020 16:13:10 -0800

martinduke requested changes on this pull request.

> @@ -476,9 +476,10 @@ When ack-eliciting packets are in-flight in multiple packet number spaces,
 the timer MUST be set for the packet number space with the earliest timeout,
 except for ApplicationData, which MUST be ignored until the handshake
 completes; see Section 4.1.1 of {{QUIC-TLS}}.  Not arming the PTO for
-ApplicationData prioritizes completing the handshake and prevents the server
-from sending a 1-RTT packet on a PTO before before it has the keys to process
-a 1-RTT packet.
+ApplicationData prioritizes completing the handshake and prevents the client

Just to clarify a bit more and clean up the run-on sentence.

ApplicationData prioritizes completing the handshake, prevents the client
from sending a 0-RTT packet on a PTO before it knows the server has accepted
0-RTT, and prevents the server from sending a 1-RTT packet on a PTO before
before it has the keys to process a 1-RTT acknowledgment.

-- 
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/3486#pullrequestreview-366087300

---

From: ianswett <[email-masked]>
Date: Thu, 27 Feb 2020 16:16:02 -0800

@ianswett pushed 1 commit.

e4492a99326fc5ab3b6c43ba2d5515b7f1019b83  Martin Duke's suggestion

-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/quicwg/base-drafts/pull/3486/files/4084c5a168d1600ef362931da950513c57440082..e4492a99326fc5ab3b6c43ba2d5515b7f1019b83

---

From: ianswett <[email-masked]>
Date: Thu, 27 Feb 2020 16:16:13 -0800

ianswett commented on this pull request.

Accepted

-- 
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/3486#discussion_r385444250

---

From: martinduke <[email-masked]>
Date: Thu, 27 Feb 2020 16:16:46 -0800

martinduke 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/3486#pullrequestreview-366088661

---

From: fayang <[email-masked]>
Date: Thu, 27 Feb 2020 16:41:30 -0800

yangfanud commented on this pull request.

 the timer MUST be set for the packet number space with the earliest timeout,
 except for ApplicationData, which MUST be ignored until the handshake
 completes; see Section 4.1.1 of {{QUIC-TLS}}.  Not arming the PTO for
-ApplicationData prioritizes completing the handshake and prevents the server
-from sending a 1-RTT packet on a PTO before before it has the keys to process
-a 1-RTT packet.
+ApplicationData prioritizes completing the handshake, prevents the client
+from sending a 0-RTT packet on a PTO before it knows the server has accepted
+0-RTT, and prevents the server from sending a 1-RTT packet on a PTO before
+before it has the keys to process a 1-RTT acknowledgment.

redundant before?

-- 
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/3486#pullrequestreview-366096553

---

From: fayang <[email-masked]>
Date: Thu, 27 Feb 2020 16:42:48 -0800

Thanks! I think this is much clearer from implementation perspective.

-- 
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/3486#issuecomment-592251906

---

From: Marten Seemann <[email-masked]>
Date: Thu, 27 Feb 2020 16:59:15 -0800

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/3486#pullrequestreview-366102176

---

From: ianswett <[email-masked]>
Date: Thu, 27 Feb 2020 17:50:50 -0800

92a01a90676235a986f80b80234fd4f178517df8  remove extra 'before'

-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/quicwg/base-drafts/pull/3486/files/e4492a99326fc5ab3b6c43ba2d5515b7f1019b83..92a01a90676235a986f80b80234fd4f178517df8

---

From: ianswett <[email-masked]>
Date: Thu, 27 Feb 2020 17:51:11 -0800

Fixed, thanks!

-- 
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/3486#discussion_r385469775

---

From: Jana Iyengar <[email-masked]>
Date: Thu, 27 Feb 2020 20:06:47 -0800

janaiyengar commented on this pull request.

Some editorializing

+from sending a 0-RTT packet on a PTO before it knows the server has accepted
+0-RTT, and prevents the server from sending a 1-RTT packet on a PTO before
+it has the keys to process a 1-RTT acknowledgment.

```suggestion
ApplicationData prioritizes completing the handshake, prevents a client
from retransmitting a 0-RTT encrypted packet on a PTO expiration before
confirming that the server is able to decrypt 0-RTT packets, and prevents
a server from sending a 1-RTT-encrypted packet on a PTO expiration before
it has the keys to process an acknowledgement received in a 1-RTT-enrypted
packet.
```

-- 
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/3486#pullrequestreview-366150346

---

From: Martin Thomson <[email-masked]>
Date: Fri, 28 Feb 2020 01:21:05 -0800

martinthomson commented on this pull request.

That is a very long sentence.

-- 
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/3486#discussion_r385586033