Subject: [quicwg/base-drafts] Fixed length CID or encode length somehow (#1640)

From: Martin Thomson <[email-masked]>
Date: Tue, 07 Aug 2018 18:41:06 -0700

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

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

-- Commit Summary --

  * Fixed length CID or encode length somehow

-- File Changes --

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

-- Patch Links --

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

---

From: MikkelFJ <[email-masked]>
Date: Wed, 08 Aug 2018 01:00:54 -0700

mikkelfj commented on this pull request.

> @@ -2679,7 +2679,9 @@ endpoint receives.
 This design relies on the peer always sending a connection ID in its packets so
 that the endpoint can use the connection ID from a packet to reset the
 connection.  An endpoint that uses this design cannot allow its peers to send
-packets with a zero-length destination connection ID.
+packets with a zero-length destination connection ID and need to either use a
+the same connection ID length for all connections or ensure that the connection
+ID encodes its own length in a common fixed portion.

It is not necessary to have a fixed portion. You can use bit 7 of each octet to indicate if there is more.

-- 
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/1640#pullrequestreview-144306604

---

From: Mike Bishop <[email-masked]>
Date: Wed, 08 Aug 2018 09:31:04 -0700

MikeBishop approved this pull request.

"use ~a~ the same"

Yeah, that might be a little more specific than is needed.  You could just say "...connection ID encodes its own length in a method the server can recover without state."

-- 
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/1640#pullrequestreview-144502728

---

From: ianswett <[email-masked]>
Date: Wed, 08 Aug 2018 09:33:30 -0700

ianswett commented on this pull request.

need -> needs

-- 
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/1640#discussion_r208650511

---

From: ianswett <[email-masked]>
Date: Wed, 08 Aug 2018 09:33:59 -0700

Agreed, you could even use trial decryption if you really wanted :)

-- 
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/1640#discussion_r208650647

---

From: Mike Bishop <[email-masked]>
Date: Wed, 08 Aug 2018 09:38:05 -0700

MikeBishop commented on this pull request.

Good catch.  I was reading "packets ... need", but it's actually "An endpoint ... needs"

-- 
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/1640#discussion_r208652037

---

From: Martin Thomson <[email-masked]>
Date: Wed, 08 Aug 2018 14:23:01 -0700

@martinthomson pushed 1 commit.

587e55b  Reword to be less prescriptive

-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/quicwg/base-drafts/pull/1640/files/f8c12c96f83a858f129a3fcde09500de0bb5ea2d..587e55b5a0149c380951ee182a80dfd35e941f95

---

From: ianswett <[email-masked]>
Date: Wed, 08 Aug 2018 21:43:11 +0000 (UTC)

ianswett approved this pull request.

Nice!

-- 
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/1640#pullrequestreview-144620830

---

From: Mike Bishop <[email-masked]>
Date: Wed, 08 Aug 2018 15:19:40 -0700

-- 
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/1640#pullrequestreview-144630911

---

From: Martin Thomson <[email-masked]>
Date: Wed, 08 Aug 2018 15:47:32 -0700

Merged #1640 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/1640#event-1778964026

---

From: ekr <[email-masked]>
Date: Thu, 09 Aug 2018 07:25:30 -0700

ekr commented on this pull request.

 This design relies on the peer always sending a connection ID in its packets so
 that the endpoint can use the connection ID from a packet to reset the
 connection.  An endpoint that uses this design cannot allow its peers to send
-packets with a zero-length destination connection ID.
+packets with a zero-length destination connection ID and need to either use
+the same connection ID length for all connections or encode the length of
+the connection ID such that it can be recovered without state.

Late to the party, but this is pretty hard to read. I believe that it is intended to say:

(1) must not use a zero-length CID
(2) must  have CID length be either (a) constant or (b) encoded in the CID itself

But the use of "cannot allow" might instead say you can't do both of these together instead. I would instead suggest.

"an endpoint that uses this design MUST either use the same connection ID length for all connections or encode the length of the connection ID such that it can be recovered without state. In addition, it MUST NOT provide zero-length destination connection IDs to its peers".

-- 
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/1640#pullrequestreview-144865692

---

From: Martin Thomson <[email-masked]>
Date: Thu, 09 Aug 2018 18:21:35 -0700

martinthomson commented on this pull request.

Yes, a better formulation.  Pushed to 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/1640#discussion_r209122935