Non-mail-specific standard (proposal)
[email protected] (Claus Färber)
| Newsgroups | gmane.ietf.imaa |
|---|---|
| Message-ID | <[email protected]> |
Hallo,
I think that it would be a good idea to have two standards:
1. A general-purpose specification that deals with the encoding (in a
way compatible to domain names), with the following encoding procedure:
. for each label passed to the encoding function, do the following:
. split them at certain characters (delimiters) into sub-labels
(i.e. punctuation without "-").
. for each sublabel, do the toASCII function as defined in IDNA.
Possibly with mixed-case annotation
. for each delimiter, do a Unicode normalisation.
Also map the ideographic full stop (wide and narrow) to ".".
. re-combine the sub-labels using the normalised delimiters.
2. A standard that says how this is implemented in mail:
. everyting allowed by RFC 2822 but not by RFC 2821 is considered
part of the embedding, not the address.
. labels are:
. the local-part (with minimal quoting, not dequoted)
. the individual domain labels of the RHS or the string between the
'[' and ']' (as an optimisation, one can also just use the RHS).
. the '@' has to recognised in all its variants.
. if the domain output of the encoding function of the local-part is
identical to the input, the local-part is copied directly from the
input (so that there's no quoting minimisation introduced).
Other standards and config file parsers could use the first
specification, too:
. Netnews:
. labels are the segments of the newsgroup names (again, as an
optimisation, one can also use the ng name as a whole).
. Bind:
Yes, it would produce the right result for "J\\ohn\.Dö".exämple.com
(the quoting might be correct here as I don't care about bind's
quoting rule, important is what follows):
labels as recognised by bind: <<"J\\ohn.Dö">>, <<exämple>>, <<com>>.
for first label:
sub-labels/delim's: <<">>, <<J\\ohn>>, <<.>> <<Dö>>, <<">>
encoding of them: <<">>, <<J\\ohn>>, <<.>> <<xn-D-xxx>>, <<">>
encoding: <<"J\\ohn.xn--D-xxx">>, <<xn--exmple-xxx>>, <<com>>.
email address: <<"J\\ohn.xn--D-xxx"@xn--exmple-xxx.com>> (same as
result procuded by IMAA).
Domain Names:
For valid domain names, all of these produce the same result:
. IDNA, labels joined by '.'.
. Spec #1 with the domain name passed as a whole.
. Spec #1 with the domain name as individual labels, joined by '.'.
Claus
--
http://www.faerber.muc.de/