Re: Newbie's questions implementing the [IDNA]
"Adam M. Costello" <[email protected]>
| Newsgroups | gmane.ietf.idn |
|---|---|
| Message-ID | <[email protected]> |
Seungho Lee <[email protected]> wrote: > What kind of sequence of code points can be the input of ToUnicode > Operation? Only punycoded one or all the other ones? Any sequence of Unicode code points can be the input of ToUnicode. The first paragraph of the ToUnicode section (4.2) says: The ToUnicode operation takes a sequence of Unicode code points that make up one label and returns a sequence of Unicode code points. If the input sequence is a label in ACE form, then the result is an equivalent internationalized label that is not in ACE form, otherwise the original sequence is returned unaltered. > And if all the other ones are permitted, isn't it that the [NAMEPREP] > can't convert it to punycoded one? Right, Nameprep does not perform Punycode encoding. > From Step3, it is solid that the input is the ACE code points starting > with ACE prefix. Step 3 says "Verify that the sequence begins with the ACE prefix." If the sequence does not in fact begin with the ACE prefix, then the verification fails. The second paragraph of the ToUnicode section says: ToUnicode never fails. If any step fails, then the original input sequence is returned immediately in that step. > What is the return value of DNS? It depends on the query. You can ask the DNS for A records, which contain IP addresses, or PTR records, which contain domain names, or MX records, which contain mail exchanger information, or NS records, which contain name server information, and so on. > I came to think that the ToUnicode operation is not included in the > major flow of 'sending query and receiving the return values'. ToUnicode is useful for displaying names to users. That's the only purpose mentioned in the IDNA spec for ToUnicode. The "major flow" you have in mind does not involve displaying names to users, right? Therefore ToUnicode is not useful there. > And where exactly the ToUnicode operation should be done? Anywhere between where the application receives the domain name and where the application displays the domain name to the user. Domain names might be recieved in message headers, or in HTML markup, for example. AMC