mirror of
https://git.openldap.org/openldap/openldap.git
synced 2024-12-27 03:20:22 +08:00
564 lines
16 KiB
Plaintext
564 lines
16 KiB
Plaintext
|
||
|
||
|
||
|
||
|
||
|
||
Network Working Group S. Kille
|
||
Request for Comments: 2164 Isode Ltd.
|
||
Obsoletes: 1838 January 1998
|
||
Category: Standards Track
|
||
|
||
|
||
|
||
Use of an X.500/LDAP directory to support MIXER address mapping
|
||
|
||
Status of this Memo
|
||
|
||
This document specifies an Internet standards track protocol for the
|
||
Internet community, and requests discussion and suggestions for
|
||
improvements. Please refer to the current edition of the "Internet
|
||
Official Protocol Standards" (STD 1) for the standardization state
|
||
and status of this protocol. Distribution of this memo is unlimited.
|
||
|
||
Copyright Notice
|
||
|
||
Copyright (C) The Internet Society (1998). All Rights Reserved.
|
||
|
||
1 MIXER X.400/RFC 822 Mappings
|
||
|
||
MIXER (RFC 2156) defines an algorithm for use of a set of global
|
||
mapping between X.400 and RFC 822 addresses [4]. This specification
|
||
defines how to represent and maintain these mappings (MIXER
|
||
Conformant Global Address Mappings of MCGAMs) in an X.500 or LDAP
|
||
directory. Mechanisms for representing OR Address and Domain
|
||
hierarchies within the DIT are defined in [5, 2]. These techniques
|
||
are used to define two independent subtrees in the DIT, which contain
|
||
the mapping information. The benefits of this approach are:
|
||
|
||
1. The mapping information is kept in a clearly defined area which
|
||
can be widely replicated in an efficient manner. The tree is
|
||
constrained to hold only information needed to support the
|
||
mapping. This is important as gateways need good access to the
|
||
entire mapping.
|
||
|
||
2. It facilitates migration from a table-based approach.
|
||
|
||
3. It handles the issues of "missing components" in a natural
|
||
manner.
|
||
|
||
An alternative approach which is not taken is to locate the
|
||
information in the routing subtrees. The benefits of this
|
||
would be:
|
||
|
||
|
||
|
||
|
||
|
||
Kille Standards Track [Page 1]
|
||
|
||
RFC 2164 X.500/LDAP Directory to Support MIXER January 1998
|
||
|
||
|
||
o It is the "natural" location, and will also help to
|
||
ensure correct administrative authority for a mapping
|
||
definition.
|
||
|
||
o The tree will usually be accessed for routing, and so it
|
||
will be efficient for addresses which are being routed.
|
||
|
||
This is not done, as the benefits of the approach proposed are
|
||
greater.
|
||
|
||
MCGAMs are global. A MIXER gateway may use any set of MCGAMs. A key
|
||
use of the directory is to enable MIXER gateways to share MCGAMs and
|
||
to share the effort of maintaining and publishing MCGAMs. This
|
||
specification and MIXER also recognise that there is not a single
|
||
unique location for publication of all MCGAMs. This specification
|
||
allows for multiple sets of MCGAMs to be published. Each set of
|
||
MCGAMs is published under a single part of the directory. There are
|
||
four mappings, which are represented by two subtrees located under
|
||
any part of the DIT. For the examples the location defined below is
|
||
used:
|
||
|
||
|
||
OU=MIXER MCGAMs, O=Zydeco Plc, C=GB
|
||
|
||
These subtree roots are of object class subtree, and use the
|
||
mechanism for representing subtrees defined in [1].
|
||
|
||
|
||
X.400 to RFC 822 This table gives the equivalence mapping from X.400
|
||
to RFC 822. There is an OR Address tree under this. An example
|
||
entry is:
|
||
|
||
PRMD=Isode, ADMD=Mailnet, C=FI, CN=X.400 to RFC 822,
|
||
OU=MIXER MCGAMs, O=Zydeco Plc, C=GB
|
||
|
||
RFC 822 to X.400 There is a domain tree under this. This table holds
|
||
the equivalence mapping from RFC 822 to X.400, and the gateway
|
||
mapping defined in RFC 1327. An example entry is:
|
||
|
||
DomainComponent=ISODE, DomainComponent=COM,
|
||
CN=RFC 822 to X.400,
|
||
OU=MIXER MCGAMs, O=Zydeco Plc, C=GB
|
||
|
||
The values of the table mapping are defined by use of two new object
|
||
classes, as specified in Figure 1. The objects give pointers to the
|
||
mapped components.
|
||
|
||
|
||
|
||
|
||
|
||
Kille Standards Track [Page 2]
|
||
|
||
RFC 2164 X.500/LDAP Directory to Support MIXER January 1998
|
||
|
||
|
||
2 Omitted Components
|
||
|
||
In MIXER, it is possible to have omitted components in OR Addresses
|
||
on either side of the mapping. A mechanism to represent such omitted
|
||
components is defined in Figure 2. The attribute at-or-address-
|
||
component-type is set to the X.500 attribute type associated with the
|
||
omitted component (e.g.,
|
||
|
||
|
||
rFC822ToX400Mapping OBJECT-CLASS ::= {
|
||
SUBCLASS OF {domain-component}
|
||
MAY CONTAIN {
|
||
associatedORAddress|
|
||
associatedX400Gateway}
|
||
ID oc-rfc822-to-x400-mapping}
|
||
|
||
x400ToRFC822Mapping OBJECT-CLASS ::= {
|
||
SUBCLASS OF {top}
|
||
MAY CONTAIN { 10
|
||
associatedDomain|
|
||
associatedInternetGateway}
|
||
ID oc-x400-to-rfc822-mapping}
|
||
|
||
associatedORAddress ATTRIBUTE ::= {
|
||
SUBTYPE OF distinguishedName
|
||
SINGLE VALUE
|
||
ID at-associated-or-address}
|
||
|
||
20
|
||
associatedX400Gateway ATTRIBUTE ::= {
|
||
SUBTYPE OF mhs-or-addresses
|
||
MULTI VALUE
|
||
ID at-associated-x400-gateway}
|
||
|
||
associatedDomain ATTRIBUTE ::= {
|
||
SUBTYPE OF name
|
||
WITH SYNTAX caseIgnoreIA5String
|
||
SINGLE VALUE
|
||
ID at-associated-domain} 30
|
||
|
||
associatedInternetGateway ATTRIBUTE ::= {
|
||
SUBTYPE OF name
|
||
WITH SYNTAX caseIgnoreIA5String
|
||
MULTI VALUE
|
||
ID at-associated-internet-gateway}
|
||
|
||
|
||
Figure 1: Object Classes for MIXER mappings
|
||
|
||
|
||
|
||
Kille Standards Track [Page 3]
|
||
|
||
RFC 2164 X.500/LDAP Directory to Support MIXER January 1998
|
||
|
||
|
||
omittedORAddressComponent OBJECT-CLASS ::=
|
||
SUBCLASS OF {top}
|
||
MUST Contain {
|
||
oRAddressComponentType
|
||
}
|
||
ID oc-omitted-or-address-component}
|
||
|
||
|
||
oRAddressComponentType ATTRIBUTE ::= {
|
||
SUBTYPE OF objectIdentifier 10
|
||
SINGLE VALUE
|
||
ID at-or-address-component-type}
|
||
|
||
Figure 2: Omitted OR Address Component
|
||
|
||
|
||
at-prmd-name). This mechanism is for use only within the X.400 to
|
||
RFC 822 subtree and for the at-associated-or-address attribute.
|
||
|
||
3 Mapping from X.400 to RFC 822
|
||
|
||
As an example, consider the mapping from the OR Address:
|
||
|
||
|
||
P=Isode; A=Mailnet; C=FI
|
||
|
||
This would be keyed by the directory entry:
|
||
|
||
PRMD=Isode, ADMD=Mailnet, C=FI, CN=X.400 to RFC 822,
|
||
OU=MIXER MCGAMs, O=Zydeco Plc, C=GB
|
||
|
||
and return the mapping from the associatedDomain attribute, which
|
||
gives the domain which this OR address maps to. This attribute is
|
||
used to define authoritative mappings, which are placed in the open
|
||
community tree. The manager of an MCGAM shall make the appropriate
|
||
entry.
|
||
|
||
The Internet gateway mapping defined in MIXER[4] is provided by the
|
||
associatedInternetGateway attribute. This value may identify
|
||
multiple possible associated gateways. This information is looked up
|
||
at the same time as mapped OR addresses. In effect, this provides a
|
||
fallback mapping, which is found if there is no equivalence mapping.
|
||
Because of the nature of the mapping an OR Address will map to either
|
||
a gateway or a domain, but not both. Thus, there shall never be both
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
Kille Standards Track [Page 4]
|
||
|
||
RFC 2164 X.500/LDAP Directory to Support MIXER January 1998
|
||
|
||
|
||
an associatedDomain and associatedInternetGateway attribute present
|
||
in the same entry. Functionally, mapping takes place exactly
|
||
according to MIXER. The longest match is found by the following
|
||
algorithm.
|
||
|
||
1. Take the OR Address, and derive a directory name. This will be
|
||
the OR Address as far as the lowest OU.
|
||
|
||
2. Look up the entire name derived from the MIXER key in the in the
|
||
X.400 to RFC 822 subtree. This lookup will either succeed, or it
|
||
will fail and indicate the longest possible match, which can then
|
||
be looked up.
|
||
|
||
3. Check for an associatedDomain or associatedInternetGateway
|
||
attribute in the matched entry.
|
||
|
||
The mapping can always be achieved with two lookups. Because of the
|
||
availability of aliases, some of the table mappings may be
|
||
simplified. In addition, the directory can support mapping from
|
||
addresses using the numeric country codes.
|
||
|
||
4 Mapping from RFC 822 to X.400
|
||
|
||
There is an analogous structure for mappings in the reverse
|
||
direction. The domain hierarchy is represented in the DIT according
|
||
to RFC 1279. The domain:
|
||
|
||
ISODE.COM
|
||
|
||
Is represented in the DIT as:
|
||
|
||
DomainComponent=ISODE, DomainComponent=COM, CN=RFC 822 to X.400,
|
||
OU=MIXER MCGAMs, O=Zydeco Plc, C=GB
|
||
|
||
This has associated with it the attribute associatedORAddress encoded
|
||
as a distinguished name with a value: PRMD=Isode, ADMD=Mailnet, C=FI
|
||
|
||
The X.400 gateway mapping defined in MIXER[4] is provided by the
|
||
associatedX400Gateway attribute. This value may identify multiple
|
||
possible associated gateways. This information is looked up at the
|
||
same time as mapped OR addresses. In effect, this provides a
|
||
fallback mapping, which is found if there is no equivalence mapping.
|
||
Because of the nature of the mapping a domain will map to either a
|
||
gateway or a domain, but not both. Thus, there shall never be both
|
||
an associatedX400Gateway and associatedORAddress attribute present in
|
||
the same entry. Functionally, mapping takes place exactly according
|
||
to MIXER. The longest match is found by the following algorithm.
|
||
|
||
|
||
|
||
|
||
Kille Standards Track [Page 5]
|
||
|
||
RFC 2164 X.500/LDAP Directory to Support MIXER January 1998
|
||
|
||
|
||
1. Derive a directory name from the domain part of the RFC 822
|
||
address.
|
||
|
||
2. Look up this name in the RFC 822 to X.400 subtree to find the
|
||
mapped value (either associatedORAddress or
|
||
associatedX400Gateway.). If the lookup fails, the error will
|
||
indicate the longest match, which can then be looked up.
|
||
|
||
If associatedORAddress is found, this will define the mapped OR
|
||
Address. The mapping can always be achieved with two lookups. If an
|
||
associatedX400Gateway is present, the address in question will be
|
||
encoded as a domain defined attribute, relative to the OR Address
|
||
defined by this attribute. If multiple associatedX400Gateway
|
||
attributes are found, the MTA may select the one it chooses to use.
|
||
|
||
Because of the availability of aliases, some of the table mappings
|
||
may be simplified. In addition, the directory can support mapping
|
||
from addresses using the numeric country codes.
|
||
|
||
5 Gateway Selection of MCGAMs
|
||
|
||
The directory information to support identification of MCGAMs is
|
||
given in Figure 3. A MIXER gateway simply identifies the an ordered
|
||
lists of MCGAM collections that it will use for lookup. These are
|
||
referenced by name. A gateway is not required to use any MCGAMs.
|
||
Where MCGAMs are accessed from multiple sources, it is recommended
|
||
that all of the sources be accessed in order to determine the MCGAM
|
||
which gives the
|
||
|
||
|
||
mixerGateway OBJECT-CLASS ::=
|
||
KIND auxiliary
|
||
SUBCLASS OF {mhs-message-transfer-agent}
|
||
MUST Contain {
|
||
mcgamTables
|
||
}
|
||
ID oc-mixer-gateway}
|
||
|
||
|
||
mcgamTables ATTRIBUTE ::= { 10
|
||
WITH SYNTAX SEQUENCE OF DistinguishedName
|
||
SINGLE VALUE
|
||
ID at-mcgam-tables}
|
||
|
||
Figure 3: Object Classes for MCGAM selection
|
||
|
||
|
||
best match.
|
||
|
||
|
||
|
||
Kille Standards Track [Page 6]
|
||
|
||
RFC 2164 X.500/LDAP Directory to Support MIXER January 1998
|
||
|
||
|
||
6 Acknowledgements
|
||
|
||
Acknowledgements for work on this document are given in [3].
|
||
|
||
References
|
||
|
||
[1] Kille, S., "Representing tables and subtrees in the X.500
|
||
directory", RFC 1837, August 1995.
|
||
|
||
[2] Kille, S., "Representing the O/R Address hierarchy in the X.500
|
||
directory information tree," RFC 1836, August 1995.
|
||
|
||
[3] Kille, S., " X.400-MHS use of the X.500 directory to support
|
||
X.400-MHS routing," RFC 1801, June 1995.
|
||
|
||
[4] Kille, S., "MIXER (Mime Internet X.400 Enhanced Relay):
|
||
Mapping between X.400 and RFC 822/MIME," RFC 2156, January 1998.
|
||
|
||
[5] Kille, S., Wahl, M., Grimsatd, A., Huber, R., and S. Sataluri,
|
||
"Using Domains in LDAP/X.500 Distinguished Names", RFC 2247,
|
||
January 1998.
|
||
|
||
7 Security Considerations
|
||
|
||
This document specifies a means by which the X.500/LDAP directory
|
||
service can direct the translation between X.400 and Internet mail
|
||
addresses. This can indirectly affect the routing of messages across
|
||
a gateway between X.400 and Internet Mail. A succesful attack on
|
||
this service could cause incorrect translation of an originator
|
||
address (thus "forging" the originator address), or incorrect
|
||
translation of a recipient address (thus directing the mail to an
|
||
unauthorized recipient, or making it appear to an authorized
|
||
recipient, that the message was intended for recipients other than
|
||
those chosen by the originator). When cryptographic authentication
|
||
is available for directory responses, clients shall employ those
|
||
mechanisms to verify the authenticity and integrity of those
|
||
responses.
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
Kille Standards Track [Page 7]
|
||
|
||
RFC 2164 X.500/LDAP Directory to Support MIXER January 1998
|
||
|
||
|
||
8 Author's Address
|
||
|
||
Steve Kille
|
||
Isode Ltd.
|
||
The Dome
|
||
The Square
|
||
Richmond
|
||
TW9 1DT
|
||
England
|
||
|
||
Phone: +44-181-332-9091
|
||
Internet EMail: S.Kille@ISODE.COM
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
Kille Standards Track [Page 8]
|
||
|
||
RFC 2164 X.500/LDAP Directory to Support MIXER January 1998
|
||
|
||
|
||
A Object Identifier Assignment
|
||
|
||
|
||
mhs-ds OBJECT IDENTIFIER ::= {iso(1) org(3) dod(6) internet(1) private(4)
|
||
enterprises(1) isode-consortium (453) mhs-ds (7)}
|
||
|
||
mapping OBJECT IDENTIFIER ::= {mhs-ds 4}
|
||
|
||
oc OBJECT IDENTIFIER ::= {mapping 1}
|
||
at OBJECT IDENTIFIER ::= {mapping 2}
|
||
|
||
|
||
oc-rfc822-to-x400-mapping OBJECT IDENTIFIER ::= {oc 1} 10
|
||
oc-x400-to-rfc822-mapping OBJECT IDENTIFIER ::= {oc 2}
|
||
oc-omitted-or-address-component OBJECT IDENTIFIER ::= {oc 3}
|
||
oc-mixer-gateway ::= {oc 4}
|
||
|
||
at-associated-or-address OBJECT IDENTIFIER ::= {at 6}
|
||
at-associated-x400-gateway OBJECT IDENTIFIER ::= {at 3}
|
||
at-associated-domain OBJECT IDENTIFIER ::= {at 4}
|
||
at-or-address-component-type OBJECT IDENTIFIER ::= {at 7}
|
||
at-associated-internet-gateway OBJECT IDENTIFIER ::= {at 8}
|
||
at-mcgam-tables ::= {at 9} 20
|
||
|
||
|
||
Figure 4: Object Identifier Assignment
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
Kille Standards Track [Page 9]
|
||
|
||
RFC 2164 X.500/LDAP Directory to Support MIXER January 1998
|
||
|
||
|
||
Full Copyright Statement
|
||
|
||
Copyright (C) The Internet Society (1998). All Rights Reserved.
|
||
|
||
This document and translations of it may be copied and furnished to
|
||
others, and derivative works that comment on or otherwise explain it
|
||
or assist in its implementation may be prepared, copied, published
|
||
and distributed, in whole or in part, without restriction of any
|
||
kind, provided that the above copyright notice and this paragraph are
|
||
included on all such copies and derivative works. However, this
|
||
document itself may not be modified in any way, such as by removing
|
||
the copyright notice or references to the Internet Society or other
|
||
Internet organizations, except as needed for the purpose of
|
||
developing Internet standards in which case the procedures for
|
||
copyrights defined in the Internet Standards process must be
|
||
followed, or as required to translate it into languages other than
|
||
English.
|
||
|
||
The limited permissions granted above are perpetual and will not be
|
||
revoked by the Internet Society or its successors or assigns.
|
||
|
||
This document and the information contained herein is provided on an
|
||
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
|
||
TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
|
||
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
|
||
HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
|
||
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
Kille Standards Track [Page 10]
|
||
|