Subject: Re: [http-state] adopting IDNA2008 (was: Nits with references)

From: =JeffH <[email-masked]>
Date: Thu, 16 Sep 2010 11:32:24 -0700

> Ok.  I've looking into this issue in some level of detail.  I've
 > basically done what Jeff suggests at the normative level.  At the
 > editorial level, I've tweaked a few things:
 >
 > 
http://github.com/abarth/http-state/commit/4b4fb8ef90392cf089e85cc2efa53462e5d1b215

super, thanks, looks good.

 > However, you're not correct
 > in asserting that IDNA2008 doesn't provide a way to convert to ASCII.
 > In particular, RFC5890 states that LHD labels are "a string consisting
 > of ASCII letters, digits, ...".  Therefore, we can "convert" them to
 > ASCII by just regarding them as the ASCII strings that they are.

Oh, what I meant was that RFC5890 does not have an overall algorithm similar to 
the one given by Section 4 "Conversion operations" of RFC3490 which operates on 
entire domain names. Thus we've essentially had to create one similar to the 
latter in our spec ("Canonicalized host names" alg)

 > I'm not sure whether or not the Unicode folks have done something
 > reasonable.  That's not really something we can deal with in this
 > working group.

agreed, hence simply referencing their stuff. 'nuff said :)

 > The problem here is that the second argument to this algorithm is not
 > a DNS name.  It's just a sequence of octets we pulled out of a domain
 > attribute (and converted to lower case).  For this reason, it's easier
 > if the canonicalized domain string is also a sequence of octets.  Once
 > we have both as the same type, we can just see if they're identical,
 > as we did before.

ah, ok.

hm, question: is this a case-insensitive match? Ought we be explicit about that 
if so?

thanks,

=JeffH

---

From: Adam Barth <[email-masked]>
Date: Thu, 16 Sep 2010 13:22:30 -0700

On Thu, Sep 16, 2010 at 11:32 AM, =JeffH <[email-masked]> wrote:
> hm, question: is this a case-insensitive match? Ought we be explicit about
> that if so?

By the time the values get here, they've already been lower-cased.
The spec canonicalizes things immediately after reading them, which is
a best practice for implementations as well.

Adam