Subject: [quicwg/base-drafts] What to do when part of a coalesced packet is invalid? (#1319)

From: Marten Seemann <[email-masked]>
Date: Mon, 23 Apr 2018 09:34:00 +0000 (UTC)

The draft says

> Every QUIC packet that is coalesced into a single UDP datagram is separate and complete.

and later

> The receiver of coalesced QUIC packets MUST individually process each QUIC packet and separately acknowledge them, as if they were received as the payload of different UDP datagrams.

What is a receiver supposed to do, if it for example receives a 0-RTT with a payload length of 500 bytes, and then some garbage added to the packet.
The second sentence implies to treat these as two separate packets: 1. a 0-RTT packet (which would be processed) and 2. garbage (which would be dropped). However, this seems to contradict the first 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/issues/1319

---

From: Dmitri Tikhonov <[email-masked]>
Date: Mon, 23 Apr 2018 12:01:02 +0000 (UTC)

I don't see a contradiction: the first sentence says that multiple packets in a UDP datagram are separate as well.

-- 
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/issues/1319#issuecomment-383550483

---

From: Marten Seemann <[email-masked]>
Date: Mon, 23 Apr 2018 05:38:26 -0700

So would it be valid to not add PADDING frames in the Initial packet, but just to append arbitrary bytes after the Initial, such that the UDP packet has the minimum required size?

-- 
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/issues/1319#issuecomment-383560124

---

From: Dmitri Tikhonov <[email-masked]>
Date: Mon, 23 Apr 2018 12:41:39 +0000 (UTC)

That's an interesting question!  The text does seem to allow 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/issues/1319#issuecomment-383560989

---

From: MikkelFJ <[email-masked]>
Date: Mon, 23 Apr 2018 05:48:30 -0700

For communications with high failure rates it would make sense to treat packets entirely separately in the same UDP datagram so an error does not propagate to all packets.

-- 
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/issues/1319#issuecomment-383562939

---

From: Kazuho Oku <[email-masked]>
Date: Mon, 23 Apr 2018 12:54:12 +0000 (UTC)

In addition to what @mikkelfj says, the reason I prefer not having rules regulating how QUIC packets can be coalesced is that having such rules might make the protocol more fragile to attacks.

>From #1262:
> the rationale behind is to not give an on-path attacker the chance of terminating the handshake simply by appending several bytes to the packet (currently, we require an on-path attacker to do AES based on the handshake protection key)

-- 
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/issues/1319#issuecomment-383564583