[quicwg/base-drafts] VarInt all the HTTP things (#2437)

Mike Bishop <notifications@github.com> Thu, 07 February 2019 23:57 UTC

Return-Path: <bounces+848413-a050-quic-issues=ietf.org@sgmail.github.com>
X-Original-To: quic-issues@ietfa.amsl.com
Delivered-To: quic-issues@ietfa.amsl.com
Received: from localhost (localhost []) by ietfa.amsl.com (Postfix) with ESMTP id 7121E130F01 for <quic-issues@ietfa.amsl.com>; Thu, 7 Feb 2019 15:57:09 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3
X-Spam-Status: No, score=-3 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, MAILING_LIST_MULTI=-1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=github.com
Received: from mail.ietf.org ([]) by localhost (ietfa.amsl.com []) (amavisd-new, port 10024) with ESMTP id Zl4jBE2eWnDU for <quic-issues@ietfa.amsl.com>; Thu, 7 Feb 2019 15:57:08 -0800 (PST)
Received: from o9.sgmail.github.com (o9.sgmail.github.com []) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id D94F9130ED0 for <quic-issues@ietf.org>; Thu, 7 Feb 2019 15:57:07 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=github.com; h=from:reply-to:to:cc:subject:mime-version:content-type:content-transfer-encoding:list-id:list-archive:list-post:list-unsubscribe; s=s20150108; bh=dzkBcS44tFGKFFNuhQTe/tAIKBA=; b=jWuCvn+peCmqj5Ed iaDY1JZx8agUWgZr/LFzgBWmBesJPpZSYgGE82Ta9KKlWoqRokv2H3IKjRM2JPGU eXDh5QoGNiW25cOT4jyKNVWl9NqJ81gUbYHNXcbd6gztT4YLZI6RCPVRsbzZcOm8 J7jsue3zuw2jIJeAIbjIgbYk6vA=
Received: by filter0729p1las1.sendgrid.net with SMTP id filter0729p1las1-31507-5C5CC5D2-1E 2019-02-07 23:57:06.567019774 +0000 UTC m=+186497.306927956
Received: from github-lowworker-e51511d.cp1-iad.github.net (unknown []) by ismtpd0038p1mdw1.sendgrid.net (SG) with ESMTP id DWkvfMrkQKaO1R1atOOFRA for <quic-issues@ietf.org>; Thu, 07 Feb 2019 23:57:06.455 +0000 (UTC)
Received: from github.com (localhost []) by github-lowworker-e51511d.cp1-iad.github.net (Postfix) with ESMTP id 6369E809C8 for <quic-issues@ietf.org>; Thu, 7 Feb 2019 15:57:06 -0800 (PST)
Date: Thu, 07 Feb 2019 23:57:06 +0000
From: Mike Bishop <notifications@github.com>
Reply-To: quicwg/base-drafts <reply+0166e4ab0aa7551615b597836aca2828e64cfbaaeed6461a92cf00000001187487d292a169ce1850d58f@reply.github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Message-ID: <quicwg/base-drafts/pull/2437@github.com>
Subject: [quicwg/base-drafts] VarInt all the HTTP things (#2437)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5c5cc5d2615b1_5ab53fb33b0d45c0138984"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: MikeBishop
X-GitHub-Recipient: quic-issues
X-GitHub-Reason: subscribed
X-Auto-Response-Suppress: All
X-GitHub-Recipient-Address: quic-issues@ietf.org
X-SG-EID: l64QuQ2uJCcEyUykJbxN122A6QRmEpucztpreh3Pak0tW+n5O8O3CcW7DfNiiYU4sN4fOu4Vm3A7t1 wqiz1UIpngDkzSUgQyUMxtkhIa3Fhydcl1NAr53hBzk8vwAXrshtrisIn/k87ljqMc0VeCsdcfocRT pgVkWCOYeeR03nijXI+urrYLpyzEz9YFZSA7AqIKdSfBnG0VjL4qd8NaDfArHIbuuBxB22Kf+FWJYY M=
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic-issues/BCKxMRuNsZL9za0eYyDPGCR8JFE>
X-BeenThere: quic-issues@ietf.org
X-Mailman-Version: 2.1.29
List-Id: Notification list for GitHub issues related to the QUIC WG <quic-issues.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/quic-issues>, <mailto:quic-issues-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/quic-issues/>
List-Post: <mailto:quic-issues@ietf.org>
List-Help: <mailto:quic-issues-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/quic-issues>, <mailto:quic-issues-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 07 Feb 2019 23:57:09 -0000

As discussed in Tokyo, varints all the things.  This led to a few ancillary changes along the way:
- I stole transport's frame type IANA rules and used it for our three new varint registries.  (This was alluded to in discussion in Tokyo.)
- Unidirectional stream types are now a fixed sequence starting from 0x00, rather than scattered code points that "just happen" to have ASCII values.  (This was explicitly requested in discussion in Tokyo.)
- It's impractical to enumerate and have IANA reserve the grease values for a much larger space; therefore, I shifted the requirement to saying that IANA MUST NOT allocate those code points to anyone.  (This also avoids IANA having a publicly-visible list of the grease codepoints, which is a nice perk.)
- The `0x?a?a?a?a` is less effective greasing, as it falls entirely in the private use range.  I changed everything to use the `0x1F * N` formulation, which has the side benefit of being easy to produce and less obvious to identify on first glance.  (However, only two of these values fall in the standards-assigned region.)

If any of these ancillary changes are controversial, I'm happy to split them out into separate issues for discussion, but they make these changes fit more naturally.

Fixes #2233.
Fixes #2253.
Fixes #2275.
You can view, comment on, or merge this pull request online at:


-- Commit Summary --

  * Varint the frame types
  * Concomitant change to HTTP_MALFORMED_FRAME_TYPE
  * Varint the stream types
  * Format values
  * Varint the Settings Identifiers
  * Mention the difference in HTTP/2 considerations
  * Make frame type greasing consistent

-- File Changes --

    M draft-ietf-quic-http.md (161)
    M draft-ietf-quic-qpack.md (14)

-- Patch Links --


You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub: