Re: [Technical Errata Reported] RFC7230 (4189)

Julian Reschke <julian.reschke@gmx.de> Wed, 27 March 2019 16:33 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 3FC0D120304 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Wed, 27 Mar 2019 09:33:11 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.901
X-Spam-Level:
X-Spam-Status: No, score=-2.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_MED=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HEADER_FROM_DIFFERENT_DOMAINS=0.001, MAILING_LIST_MULTI=-1, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=gmx.net
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 Q2awsAMMqHOe for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Wed, 27 Mar 2019 09:33:09 -0700 (PDT)
Received: from frink.w3.org (frink.w3.org [IPv6:2603:400a:ffff:804:801e:34:0:38]) (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 573341202FF for <httpbisa-archive-bis2Juki@lists.ietf.org>; Wed, 27 Mar 2019 09:33:09 -0700 (PDT)
Received: from lists by frink.w3.org with local (Exim 4.89) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1h9BS0-0004QR-CU for ietf-http-wg-dist@listhub.w3.org; Wed, 27 Mar 2019 16:30:52 +0000
Resent-Date: Wed, 27 Mar 2019 16:30:52 +0000
Resent-Message-Id: <E1h9BS0-0004QR-CU@frink.w3.org>
Received: from mimas.w3.org ([2603:400a:ffff:804:801e:34:0:4f]) by frink.w3.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from <julian.reschke@gmx.de>) id 1h9BRv-0004Pf-LA for ietf-http-wg@listhub.w3.org; Wed, 27 Mar 2019 16:30:47 +0000
Received: from mout.gmx.net ([212.227.15.19]) by mimas.w3.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.89) (envelope-from <julian.reschke@gmx.de>) id 1h9BRt-0007o1-JC for ietf-http-wg@w3.org; Wed, 27 Mar 2019 16:30:47 +0000
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1553704170; bh=Uhw0WBtZT8Ld/VqsmyBFEFx7mPFFAqKsgCn0IQt0+AY=; h=X-UI-Sender-Class:Subject:To:References:From:Date:In-Reply-To; b=YNg/4sIbeNmoE4/shKntug9v/pFWYapfNlZNjlXGALL29nNblSxFVaB9k3e9nxj7l OP7mEO3bPznZpsnJoJ1y6Ne4163mxUBILnt6+YMNsl6Eg0NZaD+ncGiuDBVZ17ipr0 BXU3T+RyO8AYiAa7YR1Z6flEZQ5Fet3v9KK8cv3E=
X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c
Received: from [31.133.159.235] ([31.133.159.235]) by mail.gmx.com (mrgmx002 [212.227.17.190]) with ESMTPSA (Nemesis) id 0MGSDw-1hDZ8p0xgO-00DK3N; Wed, 27 Mar 2019 17:29:30 +0100
To: Amos Jeffries <squid3@treenet.co.nz>, ietf-http-wg@w3.org
References: <20141126195639.B3D5C181CE7@rfc-editor.org> <5476D0BC.70905@greenbytes.de> <CALaySJJh-9w2mnT9fV9dxaOJ_Tq=ipvV7nbNbEqY+g_6ppJjTg@mail.gmail.com> <723A86CD-6369-4A8A-B277-CBDA4439DCE9@gbiv.com> <55364CFE.1000007@gmx.de> <553654B5.3050801@treenet.co.nz>
From: Julian Reschke <julian.reschke@gmx.de>
Message-ID: <db8d567c-63c9-e711-5206-0a6daa449958@gmx.de>
Date: Wed, 27 Mar 2019 17:29:08 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.6.0
MIME-Version: 1.0
In-Reply-To: <553654B5.3050801@treenet.co.nz>
Content-Type: text/plain; charset="windows-1252"; format="flowed"
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable
X-Provags-ID: V03:K1:K8a33JgMEoycsD/kZE01pwcdXQKN6xtZe4XfWTrZxBs+TpBtdhn 7crtWo9V+mjrMatusE8w8H2gZcMv3UR13c8bFeWqXf174tyykf/0LOi0cJXU975Emrb4lsW hfcaV/yo28KAu0H8cSlU1jOEx219Q0AaelLehBTIahfk1geS7zMsQYh8xsUZaVX4zlgDsBC +ctwRNAxrlXjS9xEpPX5w==
X-UI-Out-Filterresults: notjunk:1;V03:K0:4yr9MW6xyH4=:bSqqoPQPvYq5fc2Alk78Nh 3RhfsqazqOqerK5QXE7uM8z+NPwSiUzwewqj0mKmXkNLMtnnjxZ2tP8xoTkApuLh4HN2eO+wc ZAphHJ9Hi4lV1dGV1fLL0h87aqcA6eO8iGhTGtKs9tSLI2ZhNU9V+IDKwyy6VdqoSID7qhcP4 brhzOfKKWqkzNRQvGO4uxsV4HcHMWK16u8A5NtgC7u4YgFpW7TKZZ5WRJ6P//UINmPjv69m7c FfaKC9N1KlHfcFoCsrXrgWu+v9lL9/Ik7vfVpXFuZQm6JFrMd2tDgM+XemyPmKoXYAswrBJHd hesA7tQzjQmIPVhKbVVjudpZizfaPr2mcDcJ7HLHCoSxe9AyNNvweIKu4GWGsWT7tBnnSXMrk YqtoD+cWY16thSwb3JA1oBiOVLyghjq0/8dRYvATIxiAiEh3s+WxpmNDmXRPXzI/TByL98in/ VaXgB6VfRtVfOYSj/yVkUvY0l7HmVEXsJ2sF9evCy3KZXcxNg4V0zVtCut29Hj22PrUlLEqL0 JP/ROh4iXsnlwqUeA3UTSoum1jahCsQ3gQTrOt5UQqcWxPiRw4QFD+b75DiFR2s41LK1x4NKP agRXjC2kzu59EapwBKt8xjjFXESEegI8DPXc8FsYuHY6es3C8ZeV6J8OSx5zFbRzRxQafeOr9 CK2Xc/EgSNVZ4+30n1jBJu7tUZ7Lnu0VdQxD/qUZkdfyePUjkqXwhkfsVY87EWXznT1UIKV/U d0XnrBhED2M57zQ2Xo7O2wEi4rdBEfo5kzcl4f3wdvRVoPe/kDVnZmnwIYyQRWt2hSBmzWuEx fUsvlgeE1dgHLuqNonvILTT1SRIf8MHc3FU8Txl/U/m3W2Ju5W5dUOTVaxRuBwW6EkKeIAmid JmKx1Jz/vsdFykEtUe0k/GmyGPsUjv14AXOFPTxRDs4DD0QQDyu54z9jBiICNHprmOGXMMdcL vULahG6Dmvg==
X-W3C-Hub-Spam-Status: No, score=-6.5
X-W3C-Hub-Spam-Report: AWL=0.120, BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, W3C_AA=-1, W3C_DB=-1, W3C_IRA=-1, W3C_WL=-1
X-W3C-Scan-Sig: mimas.w3.org 1h9BRt-0007o1-JC a44d653c6effabc8853d0000731818f2
X-Original-To: ietf-http-wg@w3.org
Subject: Re: [Technical Errata Reported] RFC7230 (4189)
Archived-At: <https://www.w3.org/mid/db8d567c-63c9-e711-5206-0a6daa449958@gmx.de>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/36483
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>

On 21.04.2015 15:46, Amos Jeffries wrote:
> On 22/04/2015 1:13 a.m., Julian Reschke wrote:
>> On 2015-02-06 23:32, Roy T. Fielding wrote:
>>> ...
>>> I looked at this originally and thought it made sense, but figured
>>> I would have to check carefully first before responding ... and
>>> then lost it.
>>>
>>> It should be verified as technical, but (like Julian) I think the
>>> fix should be limited to field-content and obs-fold:
>>>
>>> Section: 3.2
>>>
>>> Original Text
>>> -------------
>>>        field-name     = token
>>>        field-value    = *( field-content / obs-fold )
>>>        field-content  = field-vchar [ 1*( SP / HTAB ) field-vchar ]
>>>        field-vchar    = VCHAR / obs-text
>>>
>>>        obs-fold       = CRLF 1*( SP / HTAB )
>>>                       ; obsolete line folding
>>>                       ; see Section 3.2.4
>>>
>>> Corrected Text
>>> --------------
>>>        field-name     = token
>>>        field-value    = *( field-content / obs-fold )
>>>        field-content  = field-vchar [ 1*( SP / HTAB / field-vchar )
>>> field-vchar ]
>>>        field-vchar    = VCHAR / obs-text
>>>
>>>        obs-fold       = OWS CRLF RWS
>>>                       ; obsolete line folding
>>>                       ; see Section 3.2.4
>>>
>>> This fixes the problem examples and keeps obs-fold separate from
>>> field-content.
>>> It would be best if some other folks could confirm the above before
>>> making
>>> the errata official.
>>
>> Looks right to me.
>>
>> The one thing I'd change is to change
>>
>>    obs-fold       = OWS CRLF RWS
>>
>> to
>>
>>    obs-fold       = OWS CRLF 1*( SP / HTAB )
>>
>> to minimize the diff from the RFC.
>>
>> Best regards, Julian
>>
>>
>
> Seems to me that neither version allows matching of field-content
> consisting of exactly 2 characters. eg. "Content-Length:10\r\n"
>
> If I am reading that right the part inside the [] always matches 2+
> characters at a time. So we have 1 character, or 3+ characters.
>
> This pattern would fix:
>   field-vchar [ *( SP / HTAB / field-vchar ) field-vchar ]

Hm. Old thread :-)

So the question was whether

   "Content-Length:10\r\n"

that is the field value

   "10"

matches the corrected field-value ABNF:

>  field-value    = *( field-content / obs-fold ) >  field-content  = field-vchar [ 1*( SP / HTAB / field-vchar )
field-vchar ]
>  field-vchar    = VCHAR / obs-text
>  obs-fold       = OWS CRLF RWS

"1" matches field-content, so does "0". field-value is sequence of
field-value or obs-fold. So where is the issue?

Best regards, Julian