By excluding table C.2.1 from the StringPrep profile used by IDNA, the ToASCII operation allows all C0 control codes and 7F in its default mode (UseSTD3ASCIIRules flag unset).
There is no "default mode" for IDNA. This was debated, but in the end we had to allow both methods of processing names. If anything, the UseSTD3ASCIIRules flag being *set* is probably the default for most systems processing domain names today, probably unconsciously.
Would a library that by default only allow the range 20-7E be still considered conformant? In all cases, it would still honor the UseSTD3ASCIIRules. Allowing the C0 control codes and 7F doesn't seem that useful. I would have preferred to have a default mode excluding them and if the full 00-7F is really required make it another optional flag.
If such a library followed the IDNA spec with the UseSTD3ASCIIRules being set, it would certainly be conformant.
--Paul Hoffman, Director --Internet Mail Consortium
