Subject: [quicwg/base-drafts] Rephrase size requirement for Initial packets (#2520)

From: Jana Iyengar <[email-masked]>
Date: Wed, 13 Mar 2019 08:56:26 -0700

Closes #2519.
You can view, comment on, or merge this pull request online at:

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

-- Commit Summary --

  * Rephrase size requirement for Initial packets

-- File Changes --

    M draft-ietf-quic-transport.md (9)

-- Patch Links --

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

---

From: Kazuho Oku <[email-masked]>
Date: Wed, 13 Mar 2019 09:20:12 -0700

kazuho commented on this pull request.

> @@ -1468,10 +1468,11 @@ magnitude of any amplification attack that can be mounted using spoofed source
 addresses.  In determining this limit, servers only count the size of
 successfully processed packets.
 
-Clients MUST pad UDP datagrams that contain only Initial packets to at least
-1200 bytes.  Once a client has received an acknowledgment for a Handshake packet
-it MAY send smaller datagrams.  Sending padded datagrams ensures that the server
-is not overly constrained by the amplification restriction.
+Clients MUST ensure that UDP datagrams containing Initial packets are sized to
+at least 1200 bytes, padding packets in the datagram if necessary.  Once a
+client has received an acknowledgment for a Handshake packet it MAY send smaller

To me this looks like an outdated text prior to draft-12.

Now that the server responds with an Initial packet, my understanding is that a client in required to send full-sized datagrams until it receives an _Initial_ packet from the 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/2520#pullrequestreview-214062632

---

From: Dmitri Tikhonov <[email-masked]>
Date: Wed, 13 Mar 2019 10:41:35 -0700

This change does two things:
1. Clarify that if UDP datagram contains Initial packets, it must be at least 1200 bytes in size; and
1. Rule out padding the UDP datagram with junk (the "padding *packets*" part) as @nibanks suggested earlier.

Issue #2519 is only about (1).  Not that I am against (2), but this is just so that we are clear.

-- 
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/2520#issuecomment-472530644

---

From: ianswett <[email-masked]>
Date: Wed, 13 Mar 2019 11:17:57 -0700

ianswett commented on this pull request.

I think we should stick with the simplest text possible and we should remove the second sentence.  Once you've received an ACK for a handshake packet, you should be done sending INITIAL packets anyway, so it feels like an unnecessary optimization.

-- 
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/2520#discussion_r265267670

---

From: Martin Thomson <[email-masked]>
Date: Wed, 13 Mar 2019 14:39:24 -0700

I think that the reinterpretation of the text here has introduced the second problem @dtikhonov mentions.  This also has the unfortunate consequence of disallowing small acknowledgment datagrams (for HelloRetryRequest in particular).  This might need to be more carefully phrased.

-- 
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/2520#issuecomment-472616402

---

From: Martin Thomson <[email-masked]>
Date: Wed, 13 Mar 2019 20:10:49 -0700

martinthomson approved this pull request.

A potential friendly amendment, but then we should proceed.  I would say after confirming with chairs, because there was a pretty strong design decision involved here, but technically this is only an editorial change.

```suggestion
at least 1200 bytes, adding padding to packets in the datagram as necessary.  Once a
```

-- 
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/2520#pullrequestreview-214302703

---

From: Tommy Pauly <[email-masked]>
Date: Thu, 14 Mar 2019 13:27:35 -0700

tfpauly commented on this pull request.

Agreed with @ianswett since the time when you receive the ACK for the Handshake packet is exactly when you stop sending Initial frames, so this sentence feels like its pointing out a subtlety that doesn't exist.

If the point of the sentence is to say that, while UDP datagrams containing Initial packets MUST be >= 1200 bytes, all others may or may not be padded (at the implementation's discretion), it would be clearer to say:

`Any UDP datagram that does not contain any Initial packets MAY be smaller than 1200 bytes.`

-- 
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/2520#discussion_r265752670

---

From: Dmitri Tikhonov <[email-masked]>
Date: Thu, 14 Mar 2019 21:21:16 +0000 (UTC)

dtikhonov 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/2520#pullrequestreview-214769905

---

From: Jana Iyengar <[email-masked]>
Date: Fri, 15 Mar 2019 13:10:38 -0700

@janaiyengar pushed 1 commit.

a69e90d091a8543392d5f5452c4dd31919b06fe6  Update draft-ietf-quic-transport.md

-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/quicwg/base-drafts/pull/2520/files/79c731c4d580296d1a3e38e42733c7b52d88b779..a69e90d091a8543392d5f5452c4dd31919b06fe6

---

From: Jana Iyengar <[email-masked]>
Date: Fri, 15 Mar 2019 13:12:37 -0700

50011f231f3bb9094f85cc5953c05c64883759d4  reflow

-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/quicwg/base-drafts/pull/2520/files/a69e90d091a8543392d5f5452c4dd31919b06fe6..50011f231f3bb9094f85cc5953c05c64883759d4

---

From: Jana Iyengar <[email-masked]>
Date: Fri, 15 Mar 2019 13:13:40 -0700

As @martinthomson said, this is an editorial change, so I'm going to merge. The substantive one is in @2523.

-- 
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/2520#issuecomment-473426204

---

From: Jana Iyengar <[email-masked]>
Date: Fri, 15 Mar 2019 13:15:38 -0700

@dtikhonov -- you're right, but I think this was unintentional earlier. I think if we want to make a case for allowing junk, that should be discussed separately. The proposed text captures what our intent was.

-- 
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/2520#issuecomment-473426751

---

From: Jana Iyengar <[email-masked]>
Date: Fri, 15 Mar 2019 13:16:03 -0700

Merged #2520 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/2520#event-2207518437