Re: Can we back up a bit and ask some basic questions?An alternate model

"D. J. Bernstein" <[email protected]>
Newsgroups gmane.ietf.imaa
Message-ID <[email protected]>
Simon Josefsson writes:
> Like in the user interface for /etc/aliases, /etc/mail/virtusertable etc.

Right.

Addresses are stored in many different locations, possibly with many
different encodings. When a program copies an address from one location
to another location with a different encoding, or compares addresses in
two locations with different encodings, it has to convert between the
encodings. Two examples:

   * An SMTP server compares an SMTP RCPT to a configuration file
     specifying acceptable RCPTs. If the address is encoded as GoofyCode
     in SMTP, but as UTF-8 in the file, then the SMTP server has to
     convert between UTF-8 and GoofyCode.

   * A system administrator uses the ``more'' program to feed the
     configuration file to ``xterm,'' which displays it on the screen.
     If the address is actually encoded as GoofyCode in the file, but
     UTF-8 in the xterm input, then the ``more'' program has to convert
     between GoofyCode and UTF-8.

Any failure to do these conversions---or confusion over which encoding
is used for a particular location---produces failures for the users.

The cost of programming and deploying all these conversions is _the_
fundamental obstacle to moving beyond ASCII. Novice programmers might
not be aware of how many different locations and conversions we're
talking about here, so I've given a partial list of locations at the
end of this message.

The big advantage of UTF-8 is that it can and will be used everywhere,
eliminating all of these conversions. Non-universal encodings such as
GoofyCode don't have the same benefit; GoofyCode can't and won't be used
as the xterm input format, for example.

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


$DEFAULT in MDAs: partial mailbox name
$EXT in MDAs: mailbox name
$HOST in MDAs: domain name
$LOCALDOMAIN in DNS clients: domain name
$SENDER in MDAs: domain name
$SENDER in MDAs: mailbox name
.fetchmailrc, various locations: domain name
.fetchmailrc, various locations: login name (often includes mailbox name)
.qmail*: file names (partial mailbox names)
.ssh/known_hosts: domain name
/etc/aliases, various locations: domain name
/etc/aliases, various locations: mailbox name
/etc/hosts second column: domain name
/etc/hosts.allow, various locations: domain name
/etc/hosts.allow, various locations: port-113 name (often mailbox name)
/etc/namedb/named.conf, various locations: domain name
/etc/resolv.conf, search line: domain name
/etc/virtusertable, various locations: mailbox name
/public/file: domain name
/service/dnscache/root/servers: domain name
/service/tinydns/root/data, SOA hostmaster address: mailbox name
/service/tinydns/root/data, various locations: domain name
BIND log files, various locations: domain name
DNS packet, SOA hostmaster address: domain name
DNS packet, SOA hostmaster address: mailbox name (attached to domain name)
DNS packet: query domain name
DNS packet: record domain name
DNS registration form: domain name
HTTP Host field: domain name
IMAP messages, To and Cc and so on: domain name
IMAP messages, To and Cc and so on: mailbox name
POP USER commands: login name (often includes mailbox name and domain name)
POP messages, To and Cc and so on: domain name
POP messages, To and Cc and so on: mailbox name
SMTP HELO commands: domain name
SMTP MAIL and RCPT commands: domain name
SMTP MAIL and RCPT commands: mailbox name
SMTP messages, To and Cc and so on: domain name
SMTP messages, To and Cc and so on: mailbox name
add-host command line: domain name
add-mx command line: domain name
add-ns command line: domain name
dig command line: domain name
dig output, in SOA hostmaster address: mailbox name
dig output: domain name
dnscache log files, various locations: domain name
ezmlm subscription UI: mailbox name (includes domain name)
gethostbyname(), first argument: domain name
h_name and h_aliases: domain name
host command line: domain name
host output, in SOA hostmaster address: mailbox name
host output: domain name
http URLs: domain name
httpd.conf, various locations: domain name
lynx.cfg, various locations: domain name
mail.local command line: mailbox name
mailq output, various locations: domain name
mailq output, various locations: mailbox name
mailto URLs: domain name
mailto URLs: mailbox name
mutt command line: domain name
mutt command line: mailbox name
named zone files, SOA hostmaster address: mailbox name
named zone files, various locations: domain name
named zone files: file name (often includes domain name)
ndc command line: domain name
nsupdate command line: domain name
pine command line: domain name
pine command line: mailbox name
praliases output, various locations: domain name
praliases output, various locations: mailbox name
qmail-inject command line: domain name
qmail-inject command line: mailbox name
qmail-queue envelope input: domain name
qmail-queue envelope input: mailbox name
sendmail command line: domain name
sendmail command line: mailbox name
ssh command line: domain name
telnet command line: domain name
tinydns log files, various locations: domain name
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.