Re: [http-state] draft-ietf-httpstate-cookie-08

Julian Reschke <julian.reschke@gmx.de> Wed, 28 April 2010 11:51 UTC

Return-Path: <julian.reschke@gmx.de>
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 36A8B3A6B9A for <http-state@core3.amsl.com>; Wed, 28 Apr 2010 04:51:42 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.411
X-Spam-Level:
X-Spam-Status: No, score=-3.411 tagged_above=-999 required=5 tests=[AWL=-3.412, BAYES_50=0.001]
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 IdCHbzp+kovD for <http-state@core3.amsl.com>; Wed, 28 Apr 2010 04:51:41 -0700 (PDT)
Received: from mail.gmx.net (mail.gmx.net [213.165.64.20]) by core3.amsl.com (Postfix) with SMTP id 59CF23A6BA4 for <http-state@ietf.org>; Wed, 28 Apr 2010 04:51:35 -0700 (PDT)
Received: (qmail invoked by alias); 28 Apr 2010 11:51:22 -0000
Received: from mail.greenbytes.de (EHLO [192.168.1.116]) [217.91.35.233] by mail.gmx.net (mp002) with SMTP; 28 Apr 2010 13:51:22 +0200
X-Authenticated: #1915285
X-Provags-ID: V01U2FsdGVkX1+MyCgg4T2MOKg93e4To5qeu7GeQ2dJPwTgHv6ng6 GzaEcsshdboaDF
Message-ID: <4BD82132.4090801@gmx.de>
Date: Wed, 28 Apr 2010 13:51:14 +0200
From: Julian Reschke <julian.reschke@gmx.de>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.9) Gecko/20100317 Lightning/1.0b1 Thunderbird/3.0.4
MIME-Version: 1.0
To: Adam Barth <ietf@adambarth.com>
References: <t2o5c4444771004231100o8bbf5eo49b92a3d8f0c6d93@mail.gmail.com>
In-Reply-To: <t2o5c4444771004231100o8bbf5eo49b92a3d8f0c6d93@mail.gmail.com>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
X-Y-GMX-Trusted: 0
X-FuHaFi: 0.46000000000000002
Cc: http-state <http-state@ietf.org>
Subject: Re: [http-state] draft-ietf-httpstate-cookie-08
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: Wed, 28 Apr 2010 11:51:42 -0000

On 23.04.2010 20:00, Adam Barth wrote:
> Thanks for all your feedback.  I've posted a new version of the draft
> with the changes we've discussed:
>
> http://www.ietf.org/id/draft-ietf-httpstate-cookie-08.txt

Hi Adam,

I just did a routine check of the ABNF, which, when extracted and parsed 
by BAP (Bill's ABNF Parser) produces - proposals inline.

> OWS = *( [ obs-fold ] WSP )
> obs-fold = CRLF
> set-cookie-header = "Set-Cookie:" SP set-cookie-string
> set-cookie-string = cookie-pair *( ";" SP cookie-av )
> cookie-pair = cookie-name "=" cookie-value
> cookie-name = token
> cookie-value = token
> token = <token, as defined in RFC 2616>

   token = <token, as defined in [RFC2616], Section 2.2>

> cookie-av = expires-av / max-age-av / domain-av / path-av / secure-av / httponly-av / extension-av
> expires-av = "Expires=" sane-cookie-date
> sane-cookie-date = <rfc1123-date, as defined in RFC 2616>

   sane-cookie-date = <rfc1123-date, as defined in [RFC2616], Section 3.3.1>

> max-age-av = "Max-Age=" 1*DIGIT
> domain-av = "Domain=" domain-value
> domain-value = <subdomain, as defined in RFC 1034>

   domain-value = <subdomain, as defined in [RFC1034], Section 3.5>

BTW: isn't there anything newer that could be cited

> path-av = "Path=" path-value
> path-value = <abs_path, except those containing ";">

You need to state where this comes from. Did you mean path_absolute, as 
defined in RFC 3986, Section 3.3?

> secure-av = "Secure"
> httponly-av = "HttpOnly"
> extension-av = <any CHAR except CTLs or ";">

   extension-av = <any (VCHAR / SP) except ";">

or even

   SP / "!" / DQUOTE / "#" / "$" / "%" / "&" / "'" / "(" / ")" / "*" / 
"+" / "," / "-" / "." / "/" / DIGIT / ":" / "<" / "=" / ">" / "?" / "@" 
/ ALPHA / "[" / "\" / "]" / "^" / "_" / "`" / "{" / "|" / "}" / "~"

> cookie-header = "Cookie:" OWS cookie-string OWS
> cookie-string = cookie-pair *( ";" SP cookie-pair )
> cookie-date = *delimiter date-token-list *delimiter
> date-token-list = date-token *( 1*delimiter date-token )
> delimiter = %x09 / " " / "!" / %x22 / "#" / "$" / "%" / "&" / "'" / "(" / ")" / "*" / "+" / "," / "-" / "." / "/" / ";" / "<" / "=" / ">" / "?" / "@" / "[" / "\" / "]" / "^" / "_" / "`" / "{" / "|" / "}" / "~"
> date-token = day-of-month / month / year / time / mystery
> day-of-month = 2DIGIT / DIGIT
> month = ( "jan" [ mystery ] ) / ( "feb" [ mystery ] ) / ( "mar" [ mystery ] ) / ( "apr" [ mystery ] ) / ( "may" [ mystery ] ) / ( "jun" [ mystery ] ) / ( "jul" [ mystery ] ) / ( "aug" [ mystery ] ) / ( "sep" [ mystery ] ) / ( "oct" [ mystery ] ) / ( "nov" [ mystery ] ) / ( "dec" [ mystery ] )
> year = 4DIGIT / 3DIGIT / 2DIGIT / DIGIT
> time = time-field ":" time-field ":" time-field
> time-field = 2DIGIT / DIGIT
> CTLwoHTAB = %x00-08 / %x0A-1F / %x7F
> mystery = CTLwoHTAB / ":" / ALPHA / DIGIT / %x80-FF
> ; set-cookie-header defined but not used
> ; cookie-header defined but not used
> ; cookie-date defined but not used

Best regards, Julian