Re: [http-state] Is this an omission in the parser rules of draft-ietf-httpstate-cookie-21?

Adam Barth <ietf@adambarth.com> Fri, 04 February 2011 19:26 UTC

Return-Path: <ietf@adambarth.com>
X-Original-To: http-state@core3.amsl.com
Delivered-To: http-state@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 00C3B3A6A34 for <http-state@core3.amsl.com>; Fri, 4 Feb 2011 11:26:28 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.691
X-Spam-Level:
X-Spam-Status: No, score=-3.691 tagged_above=-999 required=5 tests=[AWL=-0.714, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 5irH8LUP8IBQ for <http-state@core3.amsl.com>; Fri, 4 Feb 2011 11:26:26 -0800 (PST)
Received: from mail-vw0-f44.google.com (mail-vw0-f44.google.com [209.85.212.44]) by core3.amsl.com (Postfix) with ESMTP id AF6F53A69D5 for <http-state@ietf.org>; Fri, 4 Feb 2011 11:26:25 -0800 (PST)
Received: by vws7 with SMTP id 7so1797123vws.31 for <http-state@ietf.org>; Fri, 04 Feb 2011 11:29:51 -0800 (PST)
Received: by 10.220.182.203 with SMTP id cd11mr3278778vcb.190.1296847791134; Fri, 04 Feb 2011 11:29:51 -0800 (PST)
Received: from mail-vx0-f172.google.com ([209.85.220.172]) by mx.google.com with ESMTPS id c8sm425772vcc.33.2011.02.04.11.29.49 (version=SSLv3 cipher=RC4-MD5); Fri, 04 Feb 2011 11:29:49 -0800 (PST)
Received: by vxi40 with SMTP id 40so880983vxi.31 for <http-state@ietf.org>; Fri, 04 Feb 2011 11:29:48 -0800 (PST)
Received: by 10.220.187.77 with SMTP id cv13mr3307572vcb.143.1296847788800; Fri, 04 Feb 2011 11:29:48 -0800 (PST)
MIME-Version: 1.0
Received: by 10.220.165.212 with HTTP; Fri, 4 Feb 2011 11:29:17 -0800 (PST)
In-Reply-To: <7384878F-C44A-42A4-9694-1BB1C18AA5E6@gbiv.com>
References: <20110204184735.26023.qmail@mm01.prod.mesa1.secureserver.net> <AANLkTi=qBVkGwMHqAidtwP5_A8pPrF-Y9MV4jgYS5_QM@mail.gmail.com> <7384878F-C44A-42A4-9694-1BB1C18AA5E6@gbiv.com>
From: Adam Barth <ietf@adambarth.com>
Date: Fri, 4 Feb 2011 11:29:17 -0800
Message-ID: <AANLkTinFq7bE_e3SSgdjuFvZ8hGn1xy4Hc1VKwc=vp1D@mail.gmail.com>
To: "Roy T. Fielding" <fielding@gbiv.com>
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Cc: http-state@ietf.org
Subject: Re: [http-state] Is this an omission in the parser rules of draft-ietf-httpstate-cookie-21?
X-BeenThere: http-state@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Discuss HTTP State Management Mechanism <http-state.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/http-state>, <mailto:http-state-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/http-state>
List-Post: <mailto:http-state@ietf.org>
List-Help: <mailto:http-state-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/http-state>, <mailto:http-state-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 04 Feb 2011 19:26:28 -0000

On Fri, Feb 4, 2011 at 11:24 AM, Roy T. Fielding <fielding@gbiv.com>; wrote:
> On Feb 4, 2011, at 10:51 AM, Adam Barth wrote:
>> On Fri, Feb 4, 2011 at 10:47 AM, Remy Lebeau <remy@lebeausoftware.org>; wrote:
>>> -------- Original Message --------
>>> Subject: Re: [http-state] Is this an omission in the parser rules of
>>> draft-ietf-httpstate-cookie-21?
>>> From: Adam Barth
>>> Date: Fri, February 04, 2011 10:19 am
>>> To: Remy Lebeau
>>> Cc: http-state@ietf.org
>>>
>>>> The draft gives user agents precise
>>>> instructions for how to parse all
>>>> manner of cookies, including cookies with
>>>> values that contain quote characters. That
>>>> information is contained in Section 5
>>>
>>> I have re-read Section 5 and I do not see its grammar or parsing rules
>>> accounting for quoted-string values at all. It only says to remove WSP
>>> characters surrounding extracted names and values, and quote characters
>>> are not part of the WSP definition. So what am I missing? Where exactly
>>> does it say how to unquote a quoted-string used in attribute values?
>>
>> Precisely.  It does not say to unquote a quoted-string because that's
>> not how cookies work.  The role of the quote character is cookies is
>> identical to the role of the "!" character.  That is, neither play a
>> special role in the protocol.  Any representations by the contrary by
>> 2109 or any other document are fiction and have only caused pain and
>> misery in the world.
>
> That may be, but the grammar for server generation of set-cookie
> values is clearly wrong because use of DQUOTE in cookie values is
> common (roughly 10% of the values in my browser cookie store) and
> previously defined, even if we consider DQUOTE to be part of the
> value string.  Let's just change the generating grammar for value to
> match how cookies are actually parsed and only exclude characters
> that are known to cause failures.

The grammar is not used for parsing.  Parsing is defined in Section 5,
not Section 4.

Adam