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

[idn] IDNA interoperability failures, once again



Adam M. Costello writes:
> When an application is displaying header fields to the user,

Define your terminology. How does a UNIX program figure out whether it
is displaying something ``to the user''? (Anyone who doesn't understand
this question should read ``The UNIX Philosophy,'' by Mike Gancarz.)

One of many examples: Surely you are familiar with the ``dig'' program.
The output of ``dig soa berkeley.edu'' includes all the SOA information
for berkeley.edu. This output might be

   * piped to the ``less'' program, a generic text viewer that (usually)
     displays the results to the user; or

   * piped to a script that extracts the hostmaster address and invokes
     the ``sendmail'' program to send email; or

   * saved to a file, later viewed with ``less''; or

   * saved to a file, later piped to that script.

Yes or no: Should ``dig'' convert its results from your 7-bit encoding
to the local character set? (Assume the LANG=en_US.UTF-8 locale, so that
the conversion is at least theoretically doable.)

An answer of ``no'' means that you're failing to display the desired
non-ASCII glyphs to the user. In other words, you're missing the whole
point of IDNs.

An answer of ``yes'' creates an interoperability failure, just like the
copy-and-paste interoperability failure that you've been ignoring for
months. The mail will bounce.

If you try to dodge this question by drawing some silly distinction
between ``dig'' and other programs, I'll start asking about those other
programs. The nmh mail-handling system leaps to mind.

---D. J. Bernstein, Associate Professor, Department of Mathematics,
Statistics, and Computer Science, University of Illinois at Chicago