Re: [http-state] [Technical Errata Reported] RFC6265 (3663)

Dave Thaler <dthaler@microsoft.com> Wed, 07 August 2013 19:26 UTC

Return-Path: <dthaler@microsoft.com>
X-Original-To: http-state@ietfa.amsl.com
Delivered-To: http-state@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 93BBB21E808A for <http-state@ietfa.amsl.com>; Wed, 7 Aug 2013 12:26:40 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -103.599
X-Spam-Level:
X-Spam-Status: No, score=-103.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, RCVD_IN_DNSWL_LOW=-1, 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 a47x7wxL5Fp4 for <http-state@ietfa.amsl.com>; Wed, 7 Aug 2013 12:26:36 -0700 (PDT)
Received: from na01-by2-obe.outbound.protection.outlook.com (mail-by2lp0236.outbound.protection.outlook.com [207.46.163.236]) by ietfa.amsl.com (Postfix) with ESMTP id 712C621F9339 for <http-state@ietf.org>; Wed, 7 Aug 2013 12:26:35 -0700 (PDT)
Received: from BY2PR03MB269.namprd03.prod.outlook.com (10.242.37.11) by BY2PR03MB271.namprd03.prod.outlook.com (10.242.37.14) with Microsoft SMTP Server (TLS) id 15.0.745.25; Wed, 7 Aug 2013 19:26:33 +0000
Received: from BY2PR03MB269.namprd03.prod.outlook.com ([169.254.5.126]) by BY2PR03MB269.namprd03.prod.outlook.com ([169.254.5.126]) with mapi id 15.00.0745.000; Wed, 7 Aug 2013 19:26:33 +0000
From: Dave Thaler <dthaler@microsoft.com>
To: Barry Leiba <barryleiba@computer.org>
Thread-Topic: [http-state] [Technical Errata Reported] RFC6265 (3663)
Thread-Index: AQHOa7sntVkCaDRzOU+sK+oTCvibR5k6oD8AgAABf9CAAJNXAIAgKwkAgAACGWCAAzK2IIAr1WMAgAAGN0A=
Date: Wed, 7 Aug 2013 19:26:32 +0000
Message-ID: <b9507cc88af5485ba70c2e269f1bd554@BY2PR03MB269.namprd03.prod.outlook.com>
References: <20130618002830.7DF236211A@rfc-editor.org> <7mavr8hhrqsfmcqt77181vqc3g3nl25s1d@hive.bjoern.hoehrmann.de> <9beb9558a94c434d84a0ccebfe4cc582@BY2PR03MB269.namprd03.prod.outlook.com> <CAJE5ia84biazW1-yOWwUmx94SGLL2daF2PPdWaj6+=5qCaigJg@mail.gmail.com> <CALaySJL21aYDJKAq233FkZrUqk2H7uboo5GwgfURsB7hnRgkqQ@mail.gmail.com> <2ed31aa7639a49ffb9d689795335e88c@BY2PR03MB269.namprd03.prod.outlook.com> <9a2552b7ebe74621ae0fa7e5fbf78680@BY2PR03MB269.namprd03.prod.outlook.com> <CALaySJ+H3q=XCRtTGo2XXsEpk8vWd8fz8DJ5cTGXm_75=r0LHA@mail.gmail.com>
In-Reply-To: <CALaySJ+H3q=XCRtTGo2XXsEpk8vWd8fz8DJ5cTGXm_75=r0LHA@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [2001:4898:80e8:ed31::be]
x-forefront-prvs: 0931CB1479
x-forefront-antispam-report: SFV:NSPM; SFS:(13464003)(189002)(199002)(51704005)(24454002)(377454003)(164054003)(51444003)(52044002)(51856001)(77982001)(59766001)(74366001)(65816001)(80022001)(33646001)(19580405001)(19580385001)(83072001)(76576001)(19580395003)(76786001)(76796001)(83322001)(46102001)(15188155005)(63696002)(47736001)(49866001)(15202345003)(4396001)(79102001)(74316001)(81542001)(69226001)(74876001)(16406001)(54356001)(16601075003)(56776001)(80976001)(54316002)(53806001)(77096001)(56816003)(50986001)(47976001)(16799955002)(74706001)(74662001)(74502001)(76482001)(31966008)(47446002)(81342001)(3826001)(24736002); DIR:OUT; SFP:; SCL:1; SRVR:BY2PR03MB271; H:BY2PR03MB269.namprd03.prod.outlook.com; CLIP:2001:4898:80e8:ed31::be; RD:InfoNoRecords; MX:1; A:1; LANG:en;
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: DuplicateDomain-a84fc36a-4ed7-4e57-ab1c-3e967bcbad48.microsoft.com
X-MS-Exchange-CrossPremises-AuthAs: Internal
X-MS-Exchange-CrossPremises-AuthMechanism: 03
X-MS-Exchange-CrossPremises-AuthSource: BY2PR03MB269.namprd03.prod.outlook.com
X-MS-Exchange-CrossPremises-SCL: 1
X-MS-Exchange-CrossPremises-messagesource: StoreDriver
X-MS-Exchange-CrossPremises-BCC:
X-MS-Exchange-CrossPremises-originalclientipaddress: 2001:4898:80e8:ed31::be
X-MS-Exchange-CrossPremises-avstamp-service: 1.0
X-MS-Exchange-CrossPremises-antispam-scancontext: DIR:Originating; SFV:NSPM; SKIP:0;
X-MS-Exchange-CrossPremises-processed-by-journaling: Journal Agent
X-MS-Exchange-CrossPremises-ContentConversionOptions: False; 00160000; True; ; iso-8859-1
X-OrganizationHeadersPreserved: BY2PR03MB271.namprd03.prod.outlook.com
Cc: "presnick@qti.qualcomm.com" <presnick@qti.qualcomm.com>, Bjoern Hoehrmann <derhoermi@gmx.net>, "http-state@ietf.org" <http-state@ietf.org>, RFC Errata System <rfc-editor@rfc-editor.org>
Subject: Re: [http-state] [Technical Errata Reported] RFC6265 (3663)
X-BeenThere: http-state@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Discuss HTTP State Management Mechanism <http-state.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/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, 07 Aug 2013 19:26:40 -0000

Edited version looks good to me.

Thanks,
-Dave

> -----Original Message-----
> From: barryleiba@gmail.com [mailto:barryleiba@gmail.com] On Behalf Of
> Barry Leiba
> Sent: Wednesday, August 7, 2013 12:04 PM
> To: Dave Thaler
> Cc: Bjoern Hoehrmann; RFC Errata System; presnick@qti.qualcomm.com;
> Jeff.Hodges@kingsmountain.com; http-state@ietf.org; Adam Barth
> Subject: Re: [http-state] [Technical Errata Reported] RFC6265 (3663)
> 
> Dave, have a look at the edited version before I click "HFDU", because once I
> do I can't edit it any more:
> http://www.rfc-editor.org/errata_search.php?rfc=6265&eid=3663
> 
> Does that work?
> 
> Barry
> 
> On Thu, Jul 11, 2013 at 12:06 AM, Dave Thaler <dthaler@microsoft.com>;
> wrote:
> > Based on my reading of
> > http://www.ietf.org/iesg/statement/errata-processing.html
> > it seems that problems like the one I'm pointing out should still be
> > Rejected if the WG had consensus at the time on what the current
> > design is.  As far as I know, that's the case and hence an erratum appears to
> be the wrong way to track the "flaw" (or unexpected
> > behavior).   So while I've written a longer summary (attached), I'm not
> adding it into the errata system.
> >
> > What I think is, however, reasonable in an errata is to point out that
> > the current odd/inefficient behavior was intended by the WG, and thus
> > the reader should expect it.  I think that would be a legitimate HFDU
> > case under the argument that the current text causes confusion (it
> certainly did for the Microsoft folks that caused me to file the erratum).
> >
> > Suggested updated text you can edit in...
> >
> > ===<begin snip>===
> >
> > Section 5.1.4 states:
> >>   A request-path path-matches a given cookie-path if at least one of
> >>   the following conditions holds:
> >>
> >>   o  The cookie-path and the request-path are identical.
> >
> > The "identical" rule differs from the URI equivalence rule(s) in RFC
> > 3986 sections 6.2 and 2.1 (e.g., "If two URIs differ only in the case
> > of hexadecimal digits used in percent-encoded octets, they are
> > equivalent.")  The fact that equivalent URIs have different cookies
> > arguably violates the principle of least astonishment.  To avoid
> > significant confusion and prevent such surprise, this fact should be noted
> so that it is at least not unexpected.
> >
> > OLD:
> >>   o  The cookie-path and the request-path are identical.
> > NEW:
> >>   o  The cookie-path and the request-path are identical. Note that this
> >>        differs from the rules in RFC 3986 for equivalence of the path
> component,
> >>        and hence two equivalent paths can have different cookies.
> >
> > ===<end snip>===
> >
> > If you can replace the original erratum text with the above, please do so.
> > If you cannot, feel free to append the above prefixed with some
> > statement to the effect that ABNF strings are case insensitive and so
> > the statements about HEXDIG were incorrect, and this text is a corrected
> summary of the issue.
> >
> > -Dave
> >
> > -----Original Message-----
> > From: Dave Thaler
> > Sent: Monday, July 8, 2013 1:53 PM
> > To: Barry Leiba; Adam Barth
> > Cc: Bjoern Hoehrmann; RFC Errata System; presnick@qti.qualcomm.com;
> > Jeff.Hodges@kingsmountain.com; http-state@ietf.org
> > Subject: RE: [http-state] [Technical Errata Reported] RFC6265 (3663)
> >
> > Certainly the original issue as I phrased it is incorrect, so in that sense it's
> Rejected.
> > However, there is a functionality issue as I noted that results in unexpected
> behavior because two RFCs have differing definitions of equivalent.
> > The current RFCs do match the implementations, so it's really a design flaw
> in the RFCs not any bug in the implementations or doc per se.
> > I think the issue of unexpected behavior isn't an errata per se, it's a
> protocol "flaw" (in some sense) that should be noted somehow.
> > A HFDU errata would be one way to do that.  There may be other ways.
> >
> > -----Original Message-----
> > From: barryleiba@gmail.com [mailto:barryleiba@gmail.com] On Behalf Of
> > Barry Leiba
> > Sent: Monday, July 8, 2013 1:43 PM
> > To: Adam Barth
> > Cc: Dave Thaler; Bjoern Hoehrmann; RFC Errata System;
> > presnick@qti.qualcomm.com; Jeff.Hodges@kingsmountain.com;
> > http-state@ietf.org
> > Subject: Re: [http-state] [Technical Errata Reported] RFC6265 (3663)
> >
> > Where are we on this?  Adam, Dave... should I mark this "Rejected"?
> > Dave, do you still contend that this report is correct?  Or should some other
> change be proposed?
> >
> > Barry
> >
> > On Tue, Jun 18, 2013 at 5:29 AM, Adam Barth <ietf@adambarth.com>;
> wrote:
> >> On Mon, Jun 17, 2013 at 5:45 PM, Dave Thaler <dthaler@microsoft.com>;
> wrote:
> >>> Thanks Bjoern.
> >>>
> >>> Interesting, well in that case there may be an issue in the RFC 6265
> algorithm for path matching.
> >>> That's because it requires comparison for "identical" and "ab", "AB",
> "aB", and "Ab" are not "identical".
> >>>
> >>> So
> >>> http://www.example.com/%AB/foo
> >>> http://www.example.com/%ab/foo
> >>> http://www.example.com/%Ab/foo
> >>> http://www.example.com/%aB/foo
> >>>
> >>> are all "equivalent" in the language of RFC 3986, but not "identical" and
> hence a cookie on one will not match the others.
> >>
> >> The path-match algorithm does exactly what it says.  Even though RFC
> >> 3986 might say that those strings are equivalent in some sense
> >> (perhaps as URIs?), the path-match algorithm in RFC 6265 treats them
> >> differently.  In particularly, they're not identical and the
> >> path-match algorithm will likely return "false" for one or more of
> >> them.
> >>
> >>> It may still be worth having an errata noting the above issue, even if it's
> Hold For Document Update.
> >>
> >> As far as I can tell, the errata is incorrect.
> >>
> >> On Mon, Jun 17, 2013 at 6:04 PM, Dave Thaler <dthaler@microsoft.com>;
> wrote:
> >>> I checked with one of the test teams at Microsoft and got this back:
> >>>
> >>>> There is a gap in the RFCs 3986 and 6265. RFC 3986 talks about the
> >>>> URI path and equivalence of encoded Unicode characters in the path
> section of the URI.
> >>
> >> I don't believe there is a gap.
> >>
> >>>> However, RFC 6265 section 5.1.4
> >>>> does not specifically state that the pre-fix match should be done on the
> unescaped URL path.
> >>
> >> RFC 6265 gives a complete description of how to perform a path-match.
> >> A compliant implementation will appear to operate as if it does
> >> exactly what the specification says to do.  Given that RFC 6265
> >> doesn't say to unescape the path, that means you ought not unescape
> >> the path.
> >>
> >>>> All the browsers we tested against (IE, Chrome, Firefox) do this
> >>>> case-sensitive prefix matching before sending the cookies to the other
> page.
> >>
> >> Indeed.
> >>
> >>>> For IIS applications created with Unicode characters, IIS converts
> >>>> the escaped characters (like %0D%0C) to lower case, and they are
> >>>> justified since the URI spec clearly calls out that they are equivalent.
> >>
> >> IIS is welcome to do that by the URI spec.  However, the strings are
> >> not treated equivalently by RFC 6265.
> >>
> >>>> When one page re-directs to another in IIS application, the cookies
> >>>> set for the first page are not presented to the application on the
> >>>> other pages. This problem exists with the cookie handling by all
> >>>> the browsers we tested against (IE, Chrome, Firefox). This is due to the
> gap I explained above.
> >>
> >> I don't see that as a problem.  All the implementations are
> >> interoperating perfectly and matching the specification.  It sounds
> >> like IIS has some undesirable behavior that its authors might want to
> >> modify.  In any case, there's nothing to change about RFC 6265.  The
> >> specification and the implementations are identical on this point.
> >>
> >> Adam
> >>
> >>
> >>> -----Original Message-----
> >>> From: Bjoern Hoehrmann [mailto:derhoermi@gmx.net]
> >>> Sent: Monday, June 17, 2013 5:36 PM
> >>> To: RFC Errata System
> >>> Cc: abarth@eecs.berkeley.edu; barryleiba@computer.org;
> >>> presnick@qti.qualcomm.com; Jeff.Hodges@kingsmountain.com; Dave
> >>> Thaler; http-state@ietf.org
> >>> Subject: Re: [http-state] [Technical Errata Reported] RFC6265 (3663)
> >>>
> >>> * RFC Errata System wrote:
> >>>>Notes
> >>>>-----
> >>>>HEXDIG is defined in [RFC5234], Appendix B.1 as
> >>>>  HEXDIG         =  DIGIT / "A" / "B" / "C" / "D" / "E" / "F"
> >>>>Note that lower case a-f are not legal.
> >>>
> >>> As per RFC 5234:
> >>>
> >>>    NOTE:
> >>>
> >>>       ABNF strings are case insensitive and the character set for these
> >>>       strings is US-ASCII.
> >>>
> >>>    Hence:
> >>>
> >>>          rulename = "abc"
> >>>
> >>>    and:
> >>>
> >>>          rulename = "aBc"
> >>>
> >>>    will match "abc", "Abc", "aBc", "abC", "ABc", "aBC", "AbC", and
> >>>    "ABC".
> >>> --
> >>> Björn Höhrmann · mailto:bjoern@hoehrmann.de ·
> >>> http://bjoern.hoehrmann.de Am Badedeich 7 · Telefon:
> >>> +49(0)160/4415681 · http://www.bjoernsworld.de
> >>> 25899 Dagebüll · PGP Pub. KeyID: 0xA4357E78 ·
> >>> http://www.websitedev.de/
> >>>
> >>>
> >>>