Subject: Re: [idn] draft-ietf-idn-requirements-07.txt

From: Dan <[email-masked]>
Date: Wed, 27 Jun 2001 11:53:07 +0200 (MEST)

>>How are we going to handle a draft like IDNA that does not change the
>>DNS protocol and does not fulfill all protocol requirements?
>>In [3] it is said that the protocol must not limit the code points
>>that can be used. As IDNA does not change the protocol, it does not
>>limit the protocol directely, but it does indirectely as some IDNA
>>removes all upper case letters.
>
>Nothing in IDNA "removes all upper case letters". Please point to the 
>specific text of IDNA that you think does so.

IDNA requires nameprep which removes all upper case letters by converting
them to lower case. IDNA requires that all names are canonicalised
which results if data being destoyed.

>
>>  And in [13] it says that the
>>protocol must specify how characters are encoded in DNS records.
>>This is not solved by IDNA - it only says how characters in names can
>>be encoded.
>
>Not true. It says exactly how they are encoded: using the ACE that 
>will be picked by this WG.

It only says how "names" are to be encoded. In a DNS record there are
other parts than names that contain characters. IDNA does not cover
them.

>
>>In [19] it is said that cononicalisation must be done at a single
>>well-defined place in the DNS resolution process. As canonicalisation
>>may result in data being destroyed, it should be required that
>>if canonicalisation is done at client end the canonicalisation
>>process must not destroy data in a name.
>
>That is impossible. Canonicalizing Unicode strings will possibly 
>destroy data no matter where you do it.

No, not if the canonicalisation is only done for comparing of strings.
If a client compares domain names by canonicalisation names, and a DNS
server does it when it compares name, and only the normalised string
is sent in the protocol then canonicalisation will not destroy the data
in the DNS names.

In IDNA it is required that the names are canonicalised when transmitted
in the DNS protocol while in UDNS name need only be normalised. So in
IDNA data in names are destroyed but not in UDNS.

   Dan