Subject: [quicwg/base-drafts] Grease values in HTTP/QUIC (#1446)

From: Mike Bishop <[email-masked]>
Date: Thu, 14 Jun 2018 16:57:13 -0700

Fixes #1333.  Imports text from draft-bishop-httpbis-grease, since feedback has been that we should do this in HQ regardless of what HTTPbis decides.
You can view, comment on, or merge this pull request online at:

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

-- Commit Summary --

  * Import grease recommendations
  * HTTP/QUIC doesn't give settings initial values

-- File Changes --

    M draft-ietf-quic-http.md (38)

-- Patch Links --

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

---

From: Lucas Pardue <[email-masked]>
Date: Thu, 14 Jun 2018 17:24:49 -0700

LGTM.

An observation: we have discussed unidirectional stream type as an extension point. If that PR lands then it would make sense to grease the type byte too. I can live with that being defined in a separate PR if it helps.

-- 
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/1446#issuecomment-397477249

---

From: Martin Thomson <[email-masked]>
Date: Fri, 15 Jun 2018 07:08:05 -0700

martinthomson commented on this pull request.

Generally looks good.  A few places where this SHOUTS unnecessarily though.

> @@ -526,6 +526,16 @@ A frame includes the following fields:
 
 ## Frame Definitions {#frames}
 
+Frame types of the format `0xb + (0x1f * N)` are reserved to exercise the
+requirement that unknown types be ignored. These frames have no semantic
+meaning, and SHOULD be sent when application-layer padding is desired.  They MAY

s/SHOULD/can/ 

> @@ -526,6 +526,16 @@ A frame includes the following fields:
 
 ## Frame Definitions {#frames}
 
+Frame types of the format `0xb + (0x1f * N)` are reserved to exercise the
+requirement that unknown types be ignored. These frames have no semantic
+meaning, and SHOULD be sent when application-layer padding is desired.  They MAY
+also be sent on connections where no request data is currently being
+transferred. Endpoints MUST NOT consider these frames to have any meaning upon
+receipt.
+
+Both the payload and length of the frames SHOULD be selected randomly, subject

You can't select the length randomly if the purpose is to pad.  Exposing the state of your RNG is considered bad practice now, so don't suggest random content either.  Maybe instead just say that the length and contents of the frame can be anything and no more than that.

> @@ -776,6 +786,14 @@ The following setting is defined in HTTP/QUIC:
   : An integer with a maximum value of 2^30 - 1.  The default value is
     unlimited.
 
+Settings values of the format `0x?a?a` are reserved to exercise the requirement
+that unknown parameters be ignored.  Such settings have no defined meaning.
+Endpoints SHOULD include at least one such setting in their SETTINGS frame.
+Endpoints MUST NOT consider such settings to have any meaning upon receipt.
+
+Because the setting has no defined meaning, the value of the setting SHOULD be
+selected randomly, subject to implementation-defined limits on the size.

s/SHOULD/can be set to any value/

> @@ -1418,6 +1446,16 @@ The entries in the following table are registered by this document.
 | MAX_HEADER_LIST_SIZE       | 0x6  | {{settings-parameters}} |
 |----------------------------|------|-------------------------|
 
+Additionally, each code of the format `0x?a?a` where each `?` is any octet (that

? isn't an octet

-- 
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/1446#pullrequestreview-129161979

---

From: Mike Bishop <[email-masked]>
Date: Fri, 15 Jun 2018 17:55:02 +0000 (UTC)

MikeBishop commented on this pull request.

Of course, now I have to incorporate these into the HTTPbis draft, too.  ;-)

 

Holdover from the HTTP draft, since that's recommending this in preference to padding fields on HEADERS/DATA.  I agree, the normative isn't needed here.

Bah.

-- 
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/1446#pullrequestreview-129263573

---

From: Mike Bishop <[email-masked]>
Date: Fri, 15 Jun 2018 17:56:08 +0000 (UTC)

@MikeBishop pushed 2 commits.

8115e0b  Martin's feedback
f8b8990  Grease section header

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

---

From: Mike Bishop <[email-masked]>
Date: Fri, 15 Jun 2018 10:57:27 -0700

@LPardue, that can't be in this PR without taking a dependency on the other.  If this lands first, I'll add it to #1359; if the other lands first, I'll expand this one; if they land mostly-together, it'll be a follow-up.

-- 
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/1446#issuecomment-397697816

---

From: Mike Bishop <[email-masked]>
Date: Tue, 26 Jun 2018 15:06:33 -0700

Merged #1446.

-- 
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/1446#event-1702584174