[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [idn] Preserve case for IDNs during transportation




----- Original Message -----
From: "Adam M. Costello" <idn.amc+0@nicemice.net.RemoveThisWord>
> Edmon Chung <edmon@neteka.com> wrote:
>
> > 1. Application ToACE multilingual domain name
> > 2. Send ACE domain to server without doing Nameprep
> > 3. If fail go to 5.  If successful go to 4.
> > 4. Authenticate and match response by first Namepreping both and
comparing.
> >
> > 5. Send again with Namepreping, if successful go to 4, if fail then NX
> > domain
>
> Close, but not quite.  I assume you intend to have the client detect
> whether the server performed nameprep on the query, and accept the
> response if so, otherwise re-issue the query in nameprepped form.  To
> accomplish that, in step 4 you must not nameprep the response, instead
> you must compare the response against the nameprepped form of the query.

That is what I had in mind.

> But I can't imagine why anyone would care whether case is preserved on
> the way from the client to the server.  I think it's in names coming the
> other direction that people might want to preserve case.

Of course there are lots of reasons why the name should not be tampered with
before being sent out to the wire.  For example to accomodate new codepoints
or to use restricted codepoints in the DNS for internal purposes or
experimentation, such as using the reserved characters for testing.  These
are all good reasons for not having the client blindly do nameprep before
sending the request to the wire.  Since the name is already ACEd there is no
worry it would affect any other systems except for it being NX domain.
Therefore I think it makes a lot of sense to not force nameprep on the
application, but instead make it optional but mandatory on the server end.
Just like what we have nowadays for English.

Edmon