[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [idn] WG last call summary
ATTENTION all participants in this thread: Please think twice before
you Cc ietf@ietf.org, iesg@ietf.org, and iab@isi.edu. They are probably
getting annoyed with us by now. Once again, I've removed those
addresses from the Cc field.
"D. J. Bernstein" <djb@cr.yp.to> wrote:
> The ezmlm-list program takes a local mailing-list name on its command
> line and sends the subscriber list to stdout.
The documentation for ezmlm-list says "ezmlm-list prints...one
address per line." Clearly this is structured output designed to be
machine-readable, so IDNA rule 1 applies (domain labels in generic
domain name slots must contain only ASCII characters). The output is
also intended to be human-readable, so IDNA rule 2 also applies (ACE
labels should be hidden from users). But the IDNA spec says that when
rules 1 and 2 both apply, rule 1 takes precedence. So ezmlm-list will
not perform ACE-decoding, and the IDNs will appear as ACE gobbledygook.
There are options available to both the user and the ezmlm-list author.
For the user, the output of ezmlm-list is already ill-suited for
display, because it's usually too long. That's why the user usually
pipes it through a pager. Similarly, the user can pipe it through a
program that performs ACE-decoding. This works without any changes to
ezmlm-list.
The ezmlm-list author, meanwhile, can add an option to ezmlm-list that
changes the output format from "one address per line" to "one address
per line possibly containing IDNs using the local charset". When this
option is used, the output contains internationalized domain name slots,
not generic domain name slots, so IDNA rule 1 no longer applies, and
rule 2 can assert itself, and ezmlm-list will perform ACE-decoding. The
output format can be selected by a combination of compile-time default,
system-wide config file, user config file, environment variables, and/or
command-line switches.
(Another option available to the ezmlm-list author is to change
the output format without making it selectable, which would be an
incompatible change. That's probably not a good idea.)
AMC