Re: [websec] HSTS ABNF still broken: requires leading semi-colon

Julian Reschke <julian.reschke@gmx.de> Sat, 24 March 2012 08:37 UTC

Return-Path: <julian.reschke@gmx.de>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id AF93B21F8643 for <websec@ietfa.amsl.com>; Sat, 24 Mar 2012 01:37:43 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -103.199
X-Spam-Level:
X-Spam-Status: No, score=-103.199 tagged_above=-999 required=5 tests=[AWL=-0.600, BAYES_00=-2.599, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id m4gZcpM1i-3f for <websec@ietfa.amsl.com>; Sat, 24 Mar 2012 01:37:43 -0700 (PDT)
Received: from mailout-de.gmx.net (mailout-de.gmx.net [213.165.64.23]) by ietfa.amsl.com (Postfix) with SMTP id 918D221F8486 for <websec@ietf.org>; Sat, 24 Mar 2012 01:37:42 -0700 (PDT)
Received: (qmail invoked by alias); 24 Mar 2012 08:37:41 -0000
Received: from p57A6E4F6.dip.t-dialin.net (EHLO [192.168.178.36]) [87.166.228.246] by mail.gmx.net (mp039) with SMTP; 24 Mar 2012 09:37:41 +0100
X-Authenticated: #1915285
X-Provags-ID: V01U2FsdGVkX182IjlMeJ02EtTgsT2UPsMcpv2xjckT2vR+z8gnbf llRDJkSpG8G+sH
Message-ID: <4F6D87D1.9040800@gmx.de>
Date: Sat, 24 Mar 2012 09:37:37 +0100
From: Julian Reschke <julian.reschke@gmx.de>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:11.0) Gecko/20120312 Thunderbird/11.0
MIME-Version: 1.0
To: =JeffH <Jeff.Hodges@KingsMountain.com>
References: <4F6D00C2.6090805@KingsMountain.com>
In-Reply-To: <4F6D00C2.6090805@KingsMountain.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-Y-GMX-Trusted: 0
Cc: IETF WebSec WG <websec@ietf.org>
Subject: Re: [websec] HSTS ABNF still broken: requires leading semi-colon
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 24 Mar 2012 08:37:43 -0000

On 2012-03-24 00:01, =JeffH wrote:
> James.H.Manger@team.telstra.com wrote:
>  >
>  > The ABNF for the Strict-Transport-Security header looks wrong. It now
>  > *requires* a leading ";" before the first directive.
>
> yes, it's broken as you indicate, and you aren't the only person to have
> noticed it.
>
> I apologize (to all), I didn't thoroughly vet the suggested change to
> the ABNF before incorporating it. doh.
>
> I suspect Julian just didn't look closely at his suggestion before
> posting it..
>
> https://www.ietf.org/mail-archive/web/websec/current/msg01020.html
>
>
>  > I suggest the following ABNF.
>  >
>  > Strict-Transport-Security = "Strict-Transport-Security" ":"
>  > directive *( ";" directive )
>  >
>  > directive = [ token [ "=" ( token | quoted-string ) ] ]
>
>
> Well, I've been counseled in the past (and agree with it) that having an
> ABNF production that is potentially totally null is not such a good idea.

Why? (want to know :-)

> Perhaps this approach addresses this problem and is closer to what
> Julian intended..
>
> Strict-Transport-Security = "Strict-Transport-Security" ":"
> [ directive ] *( ";" [ directive ] )
>
> directive = token [ "=" ( token | quoted-string ) ]
>
> ?
> ...

Works for me.

Reminder: if the separator character would have been "," in the first 
place, you wouldn't need to think about this (-> 
<http://greenbytes.de/tech/webdav/draft-ietf-httpbis-p1-messaging-19.html#rfc.section.3.2.5>)

Best regards, Julian