IDNA and getnameinfo() and getaddrinfo()
Shawn.Steele at microsoft.com
Tue Jun 15 18:09:13 CEST 2010
FWIW: I don't think that applications should need to understand how DNS works. (Something of a seperation of business logic concept as probably taught in, like, CS101 - "Don't make your app know more than it has to.") IMO it'd be nice if app developers that need to open a connection to a server had all the Punycode ugliness layered away by some nice set of DNS APIs, or even higher level at the open connection APIs or whatever.
Unforunately, Punycode means that some apps will want to decode the string anyway because they'd like pretty names. Some sort of getcanonicalname() or something could help there. I realize there's an "A" in "IDNA", but if every app has to do punycode conversion themselves there's going to be tons of odd inconsistencies in what they're doing. It could also mean "tweaking" thousands of apps if the IDNA20xx rules change a little. (Eg: like the bidi rules did this go around).
The good thing about Punycode/IDN is that it enabled DNS. The bad thing is that suddenly any network app needs to become a DNS expert.
More information about the Idna-update