Re: [http-state] non-ASCII cookie values (was Re: Closing Ticket 3: Public Suffixes)

Adam Barth <ietf@adambarth.com> Wed, 03 February 2010 01:37 UTC

Return-Path: <adam@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 E3EF93A68AF for <http-state@core3.amsl.com>; Tue, 2 Feb 2010 17:37:37 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.905
X-Spam-Level:
X-Spam-Status: No, score=-1.905 tagged_above=-999 required=5 tests=[AWL=0.072, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622]
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 uLEQwZwXpi4M for <http-state@core3.amsl.com>; Tue, 2 Feb 2010 17:37:37 -0800 (PST)
Received: from mail-pz0-f183.google.com (mail-pz0-f183.google.com [209.85.222.183]) by core3.amsl.com (Postfix) with ESMTP id 3AC103A682E for <http-state@ietf.org>; Tue, 2 Feb 2010 17:37:37 -0800 (PST)
Received: by pzk13 with SMTP id 13so948595pzk.32 for <http-state@ietf.org>; Tue, 02 Feb 2010 17:38:14 -0800 (PST)
MIME-Version: 1.0
Received: by 10.142.248.37 with SMTP id v37mr4504305wfh.183.1265161093114; Tue, 02 Feb 2010 17:38:13 -0800 (PST)
In-Reply-To: <143E98B7-BFA6-4F77-9685-E57FFD2449A6@apple.com>
References: <7789133a1002011014x5d587436j663a73bc92270a65@mail.gmail.com> <E1E6C8DE-EFB6-4226-93EE-AF20053FF315@apple.com> <Pine.LNX.4.64.1002012105180.6765@egate.xpasc.com> <7789133a1002012254oafc43aehe32f16e2640cbcdc@mail.gmail.com> <92003C09-05E0-4D51-B17B-05C26A41C209@apple.com> <7789133a1002021630n65bed91q2ffc975a94b1d2cb@mail.gmail.com> <143E98B7-BFA6-4F77-9685-E57FFD2449A6@apple.com>
From: Adam Barth <ietf@adambarth.com>
Date: Tue, 02 Feb 2010 17:37:53 -0800
Message-ID: <7789133a1002021737v2a50be07u3eea61a2fe870c79@mail.gmail.com>
To: Maciej Stachowiak <mjs@apple.com>
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: quoted-printable
Cc: http-state@ietf.org
Subject: Re: [http-state] non-ASCII cookie values (was Re: Closing Ticket 3: Public Suffixes)
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, 03 Feb 2010 01:37:38 -0000

On Tue, Feb 2, 2010 at 5:19 PM, Maciej Stachowiak <mjs@apple.com> wrote:
> On Feb 2, 2010, at 4:30 PM, Adam Barth wrote:
>> I'm happy to do whatever you and Ian think is best.  If the algorithm
>> needed for HTML5 is sensible enough to be re-used by other string
>> consumers, that would be a reason to put it in this document.  If the
>> algorithm is non-sensical, we might be doing other applications a
>> service keeping it HTML specific.
>
> I don't actually know what algorithms current UAs use. In fact, I don't even know for sure whether non-ASCII characters in cookies are allowed at all. I guess someone needs to do some testing. I'll ask Ian if he has an opinion on which spec should define this.

I've added some basic tests using non-ASCII characters (in this case
Chinese): charset0001, charset0002, charset0003.  IE, Firefox, Chrome,
and Opera handle these cookies fine.  Safari does something strange
that I haven't tracked down yet.

There's a long tail of things to test here, including invalid unicode
in various encodings, but basic non-ASCII handling appears to do
something somewhat sensible.  I haven't tested the document.cookie API
at all yet.

Adam