X.400 to RFC 822: Addendum to RFC 987: (Mapping between X.400 and RFC-822)
Corrections and additions to the X.400 to RFC 822 mail mapping defined in RFC 987.
Kille, S.E., "Addendum to RFC 987: (Mapping between X.400 and RFC-822)", RFC 1026, DOI 10.17487/RFC1026, September 1987, <https://www.rfc-editor.org/info/rfc1026>.
@misc{rfc1026,
series = {Request for Comments},
number = 1026,
howpublished = {RFC 1026},
publisher = {RFC Editor},
doi = {10.17487/RFC1026},
url = {https://www.rfc-editor.org/info/rfc1026},
author = {S.E. Kille},
title = {{Addendum to RFC 987: (Mapping between X.400 and RFC-822)}},
pagetotal = 4,
year = 1987,
month = sep,
} RFC text
Contents
Network Working Group S.E. Kille
Request for Comments 1026 University College London
September 1987
Addendum to RFC 987
(Mapping between X.400 and RFC-822)
Status of this Memo
This RFC suggest a proposed protocol for the Internet community, and
requests discussion and suggestions for improvements. Distribution
of this memo is unlimited.
This document specifies a number of additions and corrections to
RFC-987, aka Mailgroup Note 19.
The addendum carries equal weight to the original specification,
which must be used when this mapping is performed on the Internet or
in the UK Academic Community. This mapping may also be used within
the RARE community in Europe. This specification may be modified in
the light of implementation experience, but no substantial changes
are expected.
1. Errata
- In section 4.6.4, replace ".." with ".".
- In section 4.2.4, replace three references to 4.3.1 by
4.2.1, and one reference to 4.2.2 by 4.1.2.
- In section 5.2, replace "1 mailbox" with "1#mailbox",
"1 msg-id" with "1#msg-id" and "1 encoded-type" with
"1#encoded-type".
2. Component Ordering
In most cases, ordering of O/R name components is not significant for
the mappings specified by this document. However, Organisational
Units and Domain Defined Attributes are specified as SEQUENCE, in
P1.ORName, and so their order may be significant. This specification
needs to take account of this in two ways:
1) To allow consistent mapping into the domain hierarchy
2) To ensure preservation of order over multiple mappings.
There are three places where an order must be specified:
1) On the text encoding (std-orname) of P1.ORName as used in the
local-part of an RFC-822 address, the most significant component
must be on the RHS. This applies only to those components which
may have multiple values (Organisational Unit, and Domain
Defined Attributes). Other attributes may be presented in any
order. Note that in dmn-orname specified in Appendix F, this
ordering is already implied by the current ordering
requirements.
2) For the Organisational Units (OU) in P1.ORName, the first OU in
the SEQUENCE is the most signicicant. This follows the
"natural" hierarchy of the specification of P1.ORName, where the
most significant components are defined first.
3) For the Domain Defined Attributes in P1.ORName, the First Domain
Defined Attribute in the SEQUENCE is the most significant.
Note that although the ordering defined in 2) and 3) is mandatory for
this mapping, there are NO implications on ordering significance
within X.400.
3. Extensions To Deal with Omitted Components
Implementation of RFC-987 has proved to be a little inflexible for
some naming strategies. In particular, there are some difficulties
where Organisation or PRMD is omitted:
The following sentence of RFC-987 should be removed: 4.2.1 (Page 27):
"If one of the hierarchical components is omitted .... tuple).".
The strategy proposed is to introduce the concept of explicit missing
components to the symmetrical mapping described in 4.2.1.
Essentially, a domain may be associated with an omitted attribute in
conjuction with several present ones. When performing the
algorithmic insertion of components lower in the hierarchy, the
omitted value should be skipped. For example, if "GMD.DFN" is
associated with "C=DE", "ADMD=DBP", "PRMD=GMD", and omitted
organisation, then "ZI.GMD.DFN" is mapped with "C=DE", "ADMD=DBP",
"PRMD=GMD", "OU=ZI". It should be noted that attributes may have
null values, and that this is treated separately from omitted
attributes (whilst it would be bad practice to treat these two cases
differently, they must be allowed for in practice).
To allow the mapping of null organisations to be represented in the
specification of Appendix F, the dmn-orname syntax is extended, so
that values may be given the symbol "@" (not a printable string
character). This corresponds to an omitted attribute. The new
definition is:
dmn-orname = dmn-part *( "." dmn-part )
dmn-part = attribute "$" value
attribute = standard-type
/ "~" dmn-printablestring
value = dmn-printablestring
/ "@"
dmn-printablestring
= *( dmn-char / dmn-pair )
dmn-char = <ps-delim, and any ps-char except ".">
dmn-pair = "."
Appendix F - Format of address mapping tables
A new Appendix F is defined as follows:
There is a need to specify the association between the domain and
X.400 namespaces described in 4.2.1. This is defined as a table
syntax, but the syntax is defined in a manner which makes it suitable
for use with domain nameservices (such as the Internet Domain
nameservers or the UK NRS). The mapping is not symmetric, and so a
separate table is specified for each direction. If multiple matches
are possible, the longest possible match should be used.
Various restrictions are placed on the usage of dmn-orname:
1) Only C, ADMD, PRMD, O, and OU may be used.
2) There must be a strict ordering of all components, with the most
significant components on the RHS.
3) No components may be omitted from the hierarchy, although the
hierarchy may terminate at any level. If the mapping is to an
omitted component, the "@" syntax is used.
For domain -> X.400:
domain-syntax "#" dmn-orname "#"
Note that the trailing "#" is used for clarity, as the dmn-orname
syntax can lead to values with trailing blanks.
For example:
AC.UK#PRMD$DES.ADMD$BT.C$UK#
XEROX.COM#O$Xerox.ADMD$ATT.C$US#
HMI.DBP.DFN#O$@.PRMD$HMI.ADMD.DBP.C$DE#
For X.400 -> domain:
dmn-orname "#" domain-syntax "#"
AI ELI5
On this page
§1Errata and Status
This addendum lists a number of additions and corrections to RFC 987, also known as Mailgroup Note 19. It carries equal weight to the original specification, which must be used when the mapping is performed on the Internet or in the UK Academic Community. The mapping may also be used within the RARE community in Europe.
The errata fix specific slips: in section 4.6.4 replace ".." with ".", in section 4.2.4 correct some section references, and in section 5.2 replace "1 mailbox", "1 msg-id" and "1 encoded-type" with the "1#" forms.
It is a list of typo fixes for the guide, plus a note that the fixes count just as much as the guide itself.
§2Component Ordering
Ordering of O/R name components is mostly not significant for this mapping. But Organisational Units and Domain Defined Attributes are a SEQUENCE in P1.ORName, so their order may matter. The addendum fixes order in three places.
- In the text encoding (
std-orname) used in the local part of an RFC 822 address, the most significant component must be on the right-hand side. - For Organisational Units, the first OU in the SEQUENCE is the most significant.
- For Domain Defined Attributes, the first one in the SEQUENCE is the most significant.
This ordering is mandatory for the mapping, but it has no implications for ordering significance within X.400.
When a name has several pieces in a row, the rules now say which piece is the biggest one, so everyone writes them in the same order.
§3Omitted Components
Implementing RFC 987 proved a little inflexible for some naming strategies, particularly where Organisation or PRMD is omitted. A sentence in section 4.2.1 of RFC 987 is removed, and the addendum introduces the concept of explicit missing components into the symmetrical mapping.
A domain may be associated with an omitted attribute alongside several present ones, and when inserting components lower in the hierarchy the omitted value is skipped. In the RFC's example, "GMD.DFN" is associated with C=DE, ADMD=DBP, PRMD=GMD and an omitted organisation, so "ZI.GMD.DFN" maps with OU=ZI. Null values are treated separately from omitted attributes.
To represent this, the dmn-orname syntax is extended so a value may be the symbol @, meaning an omitted attribute.
Sometimes a middle piece of an address is missing. A special mark, @, now says "skip this one on purpose".
§4Appendix F: Address Mapping Tables
A new Appendix F defines a table syntax for the association between the domain and X.400 name spaces. It is written so it can also suit domain nameservices. The mapping is not symmetric, so a separate table is given for each direction, and when several matches are possible the longest match should be used.
Rules for dmn-orname: only C, ADMD, PRMD, O and OU may be used; components are strictly ordered with the most significant on the right; and no components may be omitted from the hierarchy, though it may end at any level, with "@" for a mapping to an omitted component.
For domain to X.400 the entry is the domain syntax, a "#", the dmn-orname and a trailing "#" (kept for clarity because values can end in blanks). For X.400 to domain the order is reversed.
Appendix F is a lookup table for turning one kind of address into the other, with one table for each direction.
AC.UK#PRMD$DES.ADMD$BT.C$UK#
XEROX.COM#O$Xerox.ADMD$ATT.C$US#
HMI.DBP.DFN#O$@.PRMD$HMI.ADMD.DBP.C$DE#