From: Claus Färber (list-ietf-wg-apps-usefor@faerber.muc.de)
Date: Thu Aug 01 2002 - 08:40:00 CDT
Russ Allbery <rra@stanford.edu> schrieb/wrote:
> Now, when USEFOR started down this same path, there was an understandable
> dislike of encodings, since encoding something adds additional complexity
> and is easy to implement incorrectly. On top of that, e-mail had some
> serious problems with picking encodings; there are not one but four
> separate e-mail encodings (base64, quoted-printable, RFC 2047, and RFC
> 2231), all of which you have to implement to have a fully compliant mail
> implementation.
Actually, there's a fifth one: The one used for international domain
names. As you can't expect MTAs and leagacy MUAs to support anything
than passing through domain names as-is, IDNs will have to appear in
mail headers and SMTP commands in the NAMEPREP-PUNYCODE-encoded form.
User agents that want to display and allow to enter these domain names
in their user-friendly form will have to implement these encoding, too.
> One signficant drawback of not breaking compatibility with mail is that we
> would have to invent yet a fifth encoding mechanism for the Newsgroups
> header (possibly reusable by other news headers) because none of the four
> that mail has come up with are suitable for that purpose for various
> reasons.
A superset of the IDN encoding (one that defines a special handling for
characters not allowed in domain names) would be a sensible candidate
for that. It could also be used for local-parts of email addresses.
I've collected some requirements for such an encoding:
. Produces the same result as IDN for all legal domain names.
. Encodes and decodes a domain name embedded in the local-part
correctly.
. Procudes the same result when used on the local-part and domain name
seperatly and on an email address as a whole.
. Produces the same result when delimiters are exchanged.
This results in the following encoding:
. NAMEPREP and PUNYCODE with case-sensitive appendix.
. The following delimiters:
"." domain name segments, newsgroup name segments
"@" email addresses
"+" email addresses (subaddresses)
"%" email addresses (percent hack)
"=" MIXER
"/" MIXER, newsgroup names in some non-RFC formats
"," just in case
";" just in case
Note:
The delimiter "-" is missing from the above list as it would not be
compatible with current IDNs. This will create problems with newsgroup
names converted to moderator addresses like foó.bâr =>
fóo-bâr@example.com (the encoded group name will be fo--xx.br--yy and
the encoded email address would be fo--xx-br--yy@example.com but
should be fo-br--zz@example.com).
This is a special case that would require operators of such submission
addresses for moderated newsgroup to create mail aliases for both
forms.
Claus
-- ------------------------ http://www.faerber.muc.de/ ------------------------ OpenPGP: DSS 1024/639680F0 E7A8 AADB 6C8A 2450 67EA AF68 48A5 0E63 6396 80F0