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

RE: [idn] compatibility chars in draft-ietf-idn-nameprep



Ran Atkinson wrote

>         I think that mundane applications using the network
>OUGHT NOT to have to know much about DNS rules, which specifically
>means that I think it would be reasonable for some random application
>to pass a prohibited character into the DNS resolver library's API.

It depends what we mean by "the resolver".

A modern application written in a language supporting dynamic Unicode
strings and exceptions is probably going to want to say

   address = resolve (foldCompat (hostNameString));
   
Whereas, someone who has an existing application which does almost
no error checking and calls gethostbyname() will find it convenient
to have that call convert from the locale 8-bit or multibyte character
set and do the compatibility folding for them. If the resolver is
in a dynamically linked library, the existing executable might work.

I think it's easier to think of the resolver as returning an error
if it's passed a compatibility character, even though practical
implementations might allow folding as an option. In general, I
think signalling errors rather than trying to silently fix them
produces more reliable software, so I would favour that as
the primitive interface.