RE: Issue with draft-ietf-httpbis-h2-websockets-07 (in RFC Editor queue)

Mike Bishop <mbishop@evequefou.be> Thu, 09 August 2018 23:28 UTC

Return-Path: <ietf-http-wg-request+bounce-httpbisa-archive-bis2juki=lists.ie@listhub.w3.org>
X-Original-To: ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com
Delivered-To: ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 04852130EE0 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Thu, 9 Aug 2018 16:28:54 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.908
X-Spam-Level:
X-Spam-Status: No, score=-7.908 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HEADER_FROM_DIFFERENT_DOMAINS=0.001, HTML_MESSAGE=0.001, MAILING_LIST_MULTI=-1, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001, T_DKIMWL_WL_MED=-0.01, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=evequefou.onmicrosoft.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Fraze5j2vIvE for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Thu, 9 Aug 2018 16:28:50 -0700 (PDT)
Received: from frink.w3.org (frink.w3.org [128.30.52.56]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id AA39C130EDD for <httpbisa-archive-bis2Juki@lists.ietf.org>; Thu, 9 Aug 2018 16:28:50 -0700 (PDT)
Received: from lists by frink.w3.org with local (Exim 4.89) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1fnuJt-0004Ag-RX for ietf-http-wg-dist@listhub.w3.org; Thu, 09 Aug 2018 23:26:17 +0000
Resent-Date: Thu, 09 Aug 2018 23:26:17 +0000
Resent-Message-Id: <E1fnuJt-0004Ag-RX@frink.w3.org>
Received: from titan.w3.org ([128.30.52.76]) by frink.w3.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from <mbishop@evequefou.be>) id 1fnuJp-0004A4-IM for ietf-http-wg@listhub.w3.org; Thu, 09 Aug 2018 23:26:13 +0000
Received: from mail-by2nam01on0113.outbound.protection.outlook.com ([104.47.34.113] helo=NAM01-BY2-obe.outbound.protection.outlook.com) by titan.w3.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.89) (envelope-from <mbishop@evequefou.be>) id 1fnuJk-000541-7W for ietf-http-wg@w3.org; Thu, 09 Aug 2018 23:26:12 +0000
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=evequefou.onmicrosoft.com; s=selector1-evequefou-be; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ZcJW54pAtmew1IiCkk3qso4krtm7Ur88MFp354aySPo=; b=MEabUUgz3fFJCXyNhEa93QMd/1XP3pU+rBeLRKOWej0ZQX+uFTQq+oAeQDMWLggyDTqHAmoDWj8PcNO6XscYNGH5unMSoLkgV4MduQ1mjNBjQGV6Xgn5lHDbfHqnJD8V4SBfJq9kp45bmcRITHJd1z39m/Pn34SS9slARskAcRY=
Received: from BYAPR08MB3944.namprd08.prod.outlook.com (52.135.194.30) by BYAPR08MB3942.namprd08.prod.outlook.com (52.135.194.27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1038.19; Thu, 9 Aug 2018 23:25:38 +0000
Received: from BYAPR08MB3944.namprd08.prod.outlook.com ([fe80::913f:4f09:ae22:b6db]) by BYAPR08MB3944.namprd08.prod.outlook.com ([fe80::913f:4f09:ae22:b6db%5]) with mapi id 15.20.1038.019; Thu, 9 Aug 2018 23:25:38 +0000
From: Mike Bishop <mbishop@evequefou.be>
To: Patrick McManus <mcmanus@ducksong.com>, Julian Reschke <julian.reschke@gmx.de>
CC: HTTP Working Group <ietf-http-wg@w3.org>, Alexey Melnikov <alexey.melnikov@isode.com>
Thread-Topic: Issue with draft-ietf-httpbis-h2-websockets-07 (in RFC Editor queue)
Thread-Index: AQHUL6CXruaQoU1qzkSfpFpHNg0jOqS38XEAgAAdi5A=
Date: Thu, 09 Aug 2018 23:25:38 +0000
Message-ID: <BYAPR08MB3944382CEE357FED8A16F6ECDA250@BYAPR08MB3944.namprd08.prod.outlook.com>
References: <2629808f-cc51-49c7-05bc-631a06c5ac6a@gmx.de> <CAOdDvNpvzRxMpWV1exsdhNuXZ7gBgam17qsi0i6nd1wPELUSRA@mail.gmail.com>
In-Reply-To: <CAOdDvNpvzRxMpWV1exsdhNuXZ7gBgam17qsi0i6nd1wPELUSRA@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: spf=none (sender IP is ) smtp.mailfrom=mbishop@evequefou.be;
x-originating-ip: [38.134.241.6]
x-ms-publictraffictype: Email
x-microsoft-exchange-diagnostics: 1; BYAPR08MB3942; 6:GygWtbIEZKlfysfXph3G264m1PX8V0jXpFcjXdj3vF/UhMc1kekkNdOraVFJ8KZbwtSOU0DDLh5r2WYbLSe04jqbrVcjEV1ZB/NVP9o+7dwzHRdFJSfTj2ZsTmHPxK/WU1Q2vXqkA24dsjEjj1f9syAaIZqOw02fxPZMo231b1Etfyk+heuFqjpAunmn1tZzt7p/HzlUOVuXCQ/7NPf/Wo1GDIl5PdwE3PoB6m9ydSogwotP+nLPxo1JB7m4E2x4MZfengFP6d5wy8BeFhLtuYzcHkCva6QgaQe/mdCNhoKZnFH+kOrqcj8wpQaj1F5YbV4TElaq//H0iM0lnZ+uT4jUB+PS/BN/IQ40UxqSoHW9UoU09BmXZ1hf0uJqErTT+jTMtQcSGt8/TMJS1SA8segq5gy82krI0e2B30cqpLQycbLkSvOcIslZeVYsaFh7JsuY0XgYvxlRIl0RJUubug==; 5:vyeDvfFz8uldzYJ+G04BotMrqnrKiF5eCE9a/5j1Db13yl+SNXkIQEaqHENrByLDrcFpfY2g9GS2yrpJe26lmLzSVS2fhTxfNOtMtteq7zjW9QQ9sO4yNNcVo7rYc28/je4baxGpMisRazWdWKll+H/KmrqXPHUdoqW3oj+C+2M=; 7:vOR2A3xBDvZncxFMNE5CKCtaaXMCGb9EhoIqCK0DxJp8GXHosvrd71MOpKuuzV3S8R4abrbG/LZ0yCca5evAfJbK7rsSNG6UR4gY0iJCitW40lYaHlIyx/qVuCOFC7s30Y5oWTHYlmOjuKCIuPolZGnB6hMQgVmkjkpdgirFkn0hlpzYXm8XwQ4qqxxIIFDCSH2ELjKtSlhzLSXSPSfo3tqbPgs4unB3BMZNYFwl7bnrSHds1vXRso4FRZWjBuw4
x-ms-exchange-antispam-srfa-diagnostics: SOS;
x-ms-office365-filtering-correlation-id: 8b25482f-131f-439b-1621-08d5fe4f6aab
x-microsoft-antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(7021125)(8989117)(4534165)(7022125)(4603075)(4627221)(201702281549075)(8990107)(7048125)(7024125)(7027125)(7028125)(7023125)(5600074)(711020)(2017052603328)(7153060)(7193020); SRVR:BYAPR08MB3942;
x-ms-traffictypediagnostic: BYAPR08MB3942:
x-microsoft-antispam-prvs: <BYAPR08MB3942EB21B9EAB5CA85DD7CD1DA250@BYAPR08MB3942.namprd08.prod.outlook.com>
x-exchange-antispam-report-test: UriScan:(28532068793085)(26323138287068)(166708455590820)(21748063052155)(21532816269658)(1591387915157);
x-ms-exchange-senderadcheck: 1
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(6040522)(2401047)(8121501046)(5005006)(93006095)(93001095)(3002001)(3231311)(944501410)(52105095)(10201501046)(149027)(150027)(6041310)(2016111802025)(20161123560045)(20161123564045)(20161123562045)(20161123558120)(6072148)(6043046)(201708071742011)(7699016); SRVR:BYAPR08MB3942; BCL:0; PCL:0; RULEID:; SRVR:BYAPR08MB3942;
x-forefront-prvs: 0759F7A50A
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(376002)(39830400003)(136003)(366004)(396003)(346002)(199004)(189003)(316002)(6246003)(68736007)(606006)(76176011)(7696005)(8936002)(19609705001)(11346002)(486006)(97736004)(476003)(86362001)(2906002)(2900100001)(54906003)(110136005)(5250100002)(446003)(14444005)(8676002)(26005)(6436002)(229853002)(81156014)(3846002)(790700001)(6116002)(7736002)(81166006)(4326008)(25786009)(6506007)(186003)(53546011)(5660300001)(102836004)(66066001)(74316002)(106356001)(256004)(966005)(74482002)(236005)(14454004)(53936002)(55016002)(105586002)(99286004)(54896002)(9686003)(478600001)(33656002)(6306002); DIR:OUT; SFP:1102; SCL:1; SRVR:BYAPR08MB3942; H:BYAPR08MB3944.namprd08.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:0; MX:1;
received-spf: None (protection.outlook.com: evequefou.be does not designate permitted sender hosts)
x-microsoft-antispam-message-info: NCLiVDm7gJZ0ArhsITamuvVHKLfoxD3AczT46dg5Aj7yNarq3uk9aDK/huExH300fWpZHq9QwWI5TQjQhxIKzeKivZWTT9oqzsibNDtPzvsUVXcNQowDT1ktF5r+a0YYmn1iCkddZaOUSU+KyXGTnwG2/X2A8RVTqndvZADPIJuFEntGrewh4AvY3Clm55mnR3aCQRqZi+bbgPUOeU2JFFW6SpSAHe6I8MIXlZ4XMuYkBcQ9DOHJ7hCE+w44Ux4AHSZwHp4gS0AH+aVnAPo+1KJ2pBAq3ytN/JIuuj7822tHgUa9Qd1sT/DWXn+gw0GOZ93E29ZIL6/xqonpCy8LchrTTvcRJmYmlaVmZ5Ud3dM=
spamdiagnosticoutput: 1:99
spamdiagnosticmetadata: NSPM
Content-Type: multipart/alternative; boundary="_000_BYAPR08MB3944382CEE357FED8A16F6ECDA250BYAPR08MB3944namp_"
MIME-Version: 1.0
X-OriginatorOrg: evequefou.be
X-MS-Exchange-CrossTenant-Network-Message-Id: 8b25482f-131f-439b-1621-08d5fe4f6aab
X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Aug 2018 23:25:38.6855 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 41eaf50b-882d-47eb-8c4c-0b5b76a9da8f
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR08MB3942
X-W3C-Hub-Spam-Status: No, score=-3.7
X-W3C-Hub-Spam-Report: AWL=0.183, BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, W3C_AA=-1, W3C_WL=-1
X-W3C-Scan-Sig: titan.w3.org 1fnuJk-000541-7W 404bd44fc2c7454f5736b6355f39815a
X-Original-To: ietf-http-wg@w3.org
Subject: RE: Issue with draft-ietf-httpbis-h2-websockets-07 (in RFC Editor queue)
Archived-At: <https://www.w3.org/mid/BYAPR08MB3944382CEE357FED8A16F6ECDA250@BYAPR08MB3944.namprd08.prod.outlook.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/35751
X-Loop: ietf-http-wg@w3.org
Resent-Sender: ietf-http-wg-request@w3.org
Precedence: list
List-Id: <ietf-http-wg.w3.org>
List-Help: <https://www.w3.org/Mail/>
List-Post: <mailto:ietf-http-wg@w3.org>
List-Unsubscribe: <mailto:ietf-http-wg-request@w3.org?subject=unsubscribe>

Ick.  This looks like a 6455 erratum – the registration is “WebSocket” but all the (non-normative) examples are “websocket”.  Case-insensitive matching is explicitly permitted, and RFC2616/2817 don’t clearly say that Upgrade tokens are or aren’t case-sensitive that I can find.  (Nor do I see it in 7230…?)

I agree that the direct fix is to register both.

From: Patrick McManus <mcmanus@ducksong.com>
Sent: Thursday, August 9, 2018 2:32 PM
To: Julian Reschke <julian.reschke@gmx.de>
Cc: HTTP Working Group <ietf-http-wg@w3.org>; Alexey Melnikov <alexey.melnikov@isode.com>; Patrick McManus <mcmanus@ducksong.com>
Subject: Re: Issue with draft-ietf-httpbis-h2-websockets-07 (in RFC Editor queue)

6455 also uses lower case "websocket" when sending (and it mandates case insensitive parsing when receiving) even though the registry apparently has "Websocket" defined.

I'd prefer to just register websocket as an alias. in my experience that's the normal usage.



On Thu, Aug 9, 2018 at 1:16 AM, Julian Reschke <julian.reschke@gmx.de<mailto:julian.reschke@gmx.de>> wrote:
<https://tools.ietf.org/html/draft-ietf-httpbis-h2-websockets-07#section-4>:
   o  A new pseudo-header field :protocol MAY be included on request
      HEADERS indicating the desired protocol to be spoken on the tunnel
      created by CONNECT.  The pseudo-header field is single valued and
      contains a value from the HTTP Upgrade Token Registry located at
      https://www.iana.org/assignments/http-upgrade-tokens/http-upgrade-
      tokens.xhtml

And in <https://www.iana.org/assignments/http-upgrade-tokens/http-upgrade-tokens.xhtml>:
WebSocket       The Web Socket Protocol                 [RFC6455]

But, later on in <https://tools.ietf.org/html/draft-ietf-httpbis-h2-websockets-07#section-5> and subsequent examples:
   The :protocol pseudo-header field MUST be included in the CONNECT
   request and it MUST have a value of "websocket" to initiate a
   WebSocket connection on an HTTP/2 stream.  Other HTTP request and
   response header fields, such as those for manipulating cookies, may
   be included in the HEADERS with the CONNECT method as usual.  This
   request replaces the GET-based request in [RFC6455] and is used to
   process the WebSockets opening handshake.

Note that the registered upgrade token is "WebSocket", but the spec requires the use of "websocket".

See also <https://github.com/httpwg/http-core/issues/8>.

Recommendation, in order of preference:

1) Fix the spec to use "WebSocket" consistently.

2) Register "websocket" as alias.

It would probably be good to also clarify that value matching for ":protocol" is consistent with "Upgrade" in HTTP/1.1, meaning case-sensitive.

Best regards, Julian