Rfc | 2162 |
Title | MaXIM-11 - Mapping between X.400 / Internet mail and Mail-11 mail |
Author | C. Allocchio |
Date | January 1998 |
Format: | TXT, HTML |
Obsoletes | RFC1405 |
Status: | EXPERIMENTAL |
|
Network Working Group C. Allocchio
Request for Comments: 2162 I.N.F.N. - Italy
Obsoletes: 1405 January 1998
Category: Experimental
MaXIM-11 - Mapping between X.400 / Internet mail
and
Mail-11 mail
Status of this Memo
This memo defines an Experimental Protocol for the Internet
community. It does not specify an Internet standard of any kind.
Discussion and suggestions for improvement are requested.
Distribution of this memo is unlimited.
Copyright Notice
Copyright (C) The Internet Society (1998). All Rights Reserved.
Abstract
This document describes a set of mappings which will enable inter
working between systems operating the ISO/IEC 10021 - CCITT (now ITU)
X.400 Recommendations on Message Handling Systems, and systems
running the Mail-11 (also known as DECnet mail or VMSmail) protocol.
The specifications are valid both within DECnet Phase IV and
DECnet/OSI addressing and routing scheme.
The complete scenario of X.400 / MIME / Mail-11 is also considered,
in order to cover the possible complex cases arising in multiple
gateway translations.
This document covers mainly the X.400 O/R address to/from Mail-11
address mapping and the RFC822 to/from Mail-11 ones; other mappings
are based on MIXER specifications. Bodypart mappings are not
specified in this document: MIXER and MIME-MHS specifications can be
applied to map bodyparts between X.400, MIME and Mail-11, too. In
fact MIME encoding can be used without modifications within Mail-11
text bodyparts.
This document obsoletes RFC 1405, which was a combined effort of
TERENA Working Group on Messaging, and the IETF X.400 Ops Working
Group. This update was prepared by IETF MIXER working group.
Chapter 1 - Introduction
1.1. X.400
The standard referred shortly into this document as "X.400" relates
to the ISO/IEC 10021 - CCITT 1984, 1988 and 1992 X.400 Series
Recommendations covering the Message Oriented Text Interchange
Service (MOTIS). This document covers the Inter Personal Messaging
System (IPMS) only.
1.2. Mail-11
Mail-11, also known as DECnet mail and often improperly referred as
VMSmail, is the proprietary protocol implemented by Digital Equipment
Corporation (DEC) to establish a real-time text messaging system
among systems implementing the DECnet Phase IV and DECnet/OSI (CLNS)
networking protocols.
1.3. RFC822 / MIME
RFC822 was defined as a standard for personal messaging systems
within the DARPA Internet and is now diffused on top of many
different message transfer protocols, like SMTP, UUCP, BITNET, JNT
Grey Book, CSnet. MIME specifications allows transport of non-textual
information into RFC822 messages. Their mapping with X.400 is fully
described in MIXER and MIME-MHS. In this document we will consider
their relations with Mail-11, too.
1.4. The user community
The community using MIME or X.400 messaging system is currently
growing in the whole world, but there is still a number of very large
communities using Mail-11 based messaging systems willing to
communicate easily with X.400 based Message Handling Systems and with
MIME based systems. Among these large DECnet based networks we can
include the High Energy Physics network (HEPnet) and the Space
Physics Analysis Network (SPAN).
Many other local communities actively use internally Mail-11 mailing
protocols. As any other "non standard" mail protocol, using non
standard mapping techniques between Mail-11 and standard mail systems
can produce unpredictable results.
For these reasons a set of rules covering conversion between Mail-11
and X.400 or MIME is described in this document.
This document also covers the case of Mail-11 systems implementing
the "foreign mail protocol" allowing Mail-11 to interface other mail
systems, including RFC822 based system.
Chapter 2 - Message Elements
2.1. Service Elements
Mail-11 protocol offers a very restricted set of elements composing a
Inter Personal Message (IPM), whereas X.400 and RFC822/MIME
specifications support a complex and large amount of service
elements. Considering the case where a message is relayed between
two X.400 MHS or MIME Message Transport System (MTS) via a Mail-11
messaging system this could result in a nearly complete loss of
information.
To minimise the inconvenience, any of the X.400 or MIME service
elements which do not map directly into Mail-11 equivalent ones
accordingly to this specification, will be included into Mail-11 text
body parts as an additional RFC822-like header; this additional
header will be inserted between the Mail-11 P2 headers (From:, To:,
CC:, Subj:) and the other Mail-11 bodyparts. In particular, X.400
elements will also be at first converted into textual representation
before insertion.
An example, where a multimedia message has been encoded into mail-11
after having crossed also a MIME-MHS (MIXER conformant) gateway:
From: smtp%"Admin@SURFnet.nl" "Erik" 18-OCT-1994 13:55:00.49
To: ALLOCCHIO
CC: smtp%"netman@MailFLOW.dante.net"
Subj: enjoy this nice picture!
X400-Originator: root@sun3.SURFnet.nl
X400-Recipients: Allocchio@elettra.ts.it, netman@MailFLOW.dante.net
Sender: Erik Newmann <root@SURFnet.nl>
Organisation: SURFnet bv
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="----- =_aaaaaa0"
Content-ID: <21223.78342785@SURFnet.nl>
------- =_aaaaaa0
Content-Type: text/plain; charset="us-ascii"
Content-ID: <21223.78342785@SURFnet.nl>
look... you never saw this one!!
I just include the picture in the next bodypart
and I hope you get it fine.
regards,
Erik (continues...)
------- =_aaaaaa0 (continued...)
Content-Type: image/gif
Content-ID: <21223.78342785@SURFnet.nl>
Content-Description: a nice snapshot!
Content-Transfer-Encoding: base64
RAV8372FAASD83D721NSHDHD3ASDFJKHWEHKJHCBASDFA829CA8SDB29B132RBAKDFA
9KSJ2KJAA0SDFNAL20DDKFALJ20AJDLFB239B9SC9B29BA9BDFADSDF03998ASDFASD
------- =_aaaaaa0
We need, in fact, to consider also the case when a message originates
from a network implementing RFC822/MIME protocols and is relayed via
Mail-11 to an X.400 MHS, or vice versa.
Whenever any X.400 element not covered in this specification needs to
be converted into textual representation (to be included into a
Mail-11 RFC822-like header or text bodypart) we will apply the rules
specified in MIXER (X.400 to RFC822/MIME sections).
Vice versa, MIXER specification (RFC822/MIME to X.400 sections) also
gives the correct rules to convert from textual representations
contained into Mail-11 RFC822-like header or bodyparts into X.400
elements.
On the other hand, RFC822/MIME headers not covered by this
specification are included 'as they are' into Mail-11 RFC822-like
header and bodyparts. The way back from Mail-11 to RFC822/MIME
structure becomes thus straightforward.
The above methods assures maximum transparency and minimal or null
loss of information also when Mail-11 is involved.
2.2. Mail-11 service elements to X.400 service elements.
All envelope (P1) and header (P2) Mail-11 service elements are
supported in the conversion to X.400. Note that Mail-11 P1 is solely
composed by P1-11.From and P1-11.To, and any other Mail-11 element
belongs to Mail-11 P2:
- P1-11.From
maps to P1.Originator
- P1-11.To
maps to P1.Primary Recipient
- P2-11.'From:'
usually maps to P2.Originator (see section 2.6)
- P2-11.'To:'
maps to P2.Primary Recipient
- P2-11.'CC:'
maps to P2.Copy Recipient
- P2-11.Date
maps to P2.Submission Time Stamp
- P2-11.'Subj:'
maps to P2.Subject
Any eventual RFC822-like text header in Mail-11 body part will be
interpreted as specified into MIXER.
2.3. X.400 service elements to Mail-11 service elements
The following X.400 service elements are supported directly into
Mail-11 conversion:
- P1.Originator
maps to P1-11.'From:'
- P1.Primary Recipients
maps to P1-11.'To:'
- P2.Originator
usually maps to P2-11.'From:' (see section 2.6)
- P2.Primary Recipients
maps to P2-11.'To:'
- P2.Copy Recipients
maps to P2-11.'CC:'
- P2.Submission Time Stamp
maps to P2-11.Date
- P2.Subject
maps to P2-11.'Subj:'
The following X.400 service element is partially supported into
Mail-11 conversion:
- P2.Blind Copy Recipient
to ensure the required privacy, when a message contains
a BCC address, the following actions occurs:
- a new message is created, containing the body parts;
- a new envelope is added to the new message, containing
the originator and the BCC recipient addresses only;
- a note is added to the message informing the BCC
recipient about the fact that the message was a BCC;
- the new message is delivered separately;
- a note is added to the message delivered to TO and CC
recipients informing them about the fact that there
were some BCC recipients, too.
Any other X.400 service element support is done accordingly to MIXER
including the mapped element into the RFC822-like header into Mail-11
body part.
2.4. Mail-11 service elements to RFC822/MIME service elements.
All envelope (P1) and header (P2) Mail-11 service elements are
supported in the conversion to RFC822/MIME:
- P1-11.From
maps to 822-MTS.Originator
- P1-11.To
maps to 822-MTS.Primary Recipient
- P2-11.'From:'
usually maps to 822.'From:' (see section 2.6)
- P2-11.'To:'
maps to 822.'To:'
- P2-11.'CC:'
maps to 822.'Cc:'
- P2-11.Date
maps to 822.'Date:'
- P2-11.'Subj:'
maps to 822.'Subject:'
Any eventual RFC822-like text header in Mail-11 body part will be
re-inserted into RFC822/MIME message 'as it is'.
2.5. RFC822/MIME service elements to Mail-11 service elements
The following RFC822 service elements are supported directly into
Mail-11 conversion:
- 822-MTS.Originator
maps to P1-11.From
- 822-MTS.Primary Recipients
maps to P1-11.To
- 822.'From:'
usually maps to P2-11.'From:' (see section 2.5)
- 822.'To:'
maps to P2-11.'To:'
- 822.'Cc:'
maps to P2-11.'CC:'
- 822.'Date:'
maps to P2-11.Date
- 822.'Subject:'
maps to P2-11.'Subj:'
The following RFC822 service element is partially supported into
Mail-11 conversion:
- 822.'Bcc:'
to ensure the required privacy, when a message contains
a BCC address, the following actions occurs:
- a new message is created, containing the body parts;
- a new envelope is added to the new message, containing
the originator and the BCC recipient addresses only;
- a note is added to the message informing the BCC
recipient about the fact that the message was a BCC;
- the new message is delivered separately;
- a note is added to the message delivered to TO and CC
recipients informing them about the fact that there
were some BCC recipients, too.
Any other RFC822/MIME service element support is done simply
including the element 'as it is' into the RFC822-like header and into
a Mail-11 body part.
2.6. Rules to define the Mail-11 P2-11.'From:' element
Mail-11 User Agents (usually VMSmail) uses the P2-11.'From:' element
as destination in case the REPLY command is issued, ignoring any
other specification like 'Sender:' 'Reply-To:' 'Return-Path:' etc.
Also a number of automatic responders uses this field only to address
their messages.
Is it thus essential to insert into this field the correct
information, i.e. the correct address where, according to X.400 or
RFC822 rules the REPLY command or any automatically generated message
should go.
The rules specified in RFC822, section 4.4.4 should be used as a
selection criterion to define the content of this field.
In particular, in case the P2-11.'From:' element is not generated
from the P2.Originator (X.400) or from the 822.'From:' (RFC822), it
is essential to preserve into a 'From:' record of the RFC822-like
header the original information contained into the P2.Originator or
822.'From:' fields.
Vice versa, when converting from Mail-11 into X.400 or RFC822/MIME
the information contained into the 'From:' field of the RFC822-like
header (if present) will supersede the one contained into the Mail-11
P2-11.'From:'. An example:
From: smtp%"Admin@SURFnet.nl" "Erik" 18-OCT-1994 13:55:00.49
To: ALLOCCHIO
CC: smtp%"netman@MailFLOW.dante.net"
Subj: enjoy this nice picture!
From: Erik Newmann <root@SURFnet.nl>
Reply-To: Admin@SURFnet.nl
Organisation: SURFnet bv
Message-Id: <21235.25442281@SURFnet.nl>
when converting back into RFC822 the header will be:
From: Erik Newmann <root@SURFnet.nl>
Reply-To: Admin@SURFnet.nl
To: Allocchio@elettra.ts.it
Cc: netman@MailFLOW.dante.net
Subject: enjoy this nice picture!
Organisation: SURFnet bv
Message-Id: <21235.25442281@SURFnet.nl>
The described method, although violating canonical conversion
principles, assures the maximum functionality to the users, and
provides consistency in case of multiple conversions for a single
message.
Chapter 3 - Basic Mappings
The basic mappings indicated in MIXER and its updates should be fully
used.
A special consideration must be used for encoding RFC822 addresses
containing quotes '"' into Mail-11. In fact Mail-11 addresses cannot
contain that special character, as it is reserved to delimit "quoted
strings" themselves, as when using the Mail-11 foreign mail protocol.
An example:
"John Poe"@Mixergw.local.ca.us (RFC822)
cannot be included in a Mail-11 foreign mail protocol address 'as
is', due to the quotes in the LHS section. Quotes must thus be
encoded. MIXER specifies exactly how to encode quotes and other
characters when translating RFC822 addresses into X.400. Mail-11
addresses are not limited to printablestring, as for X.400, but a
subset of the MIXER encoding can be used for the quotes character,
and, as a direct consequence, for open and closed round brackets '('
and ')':
smtp%"(q)John Poe(q)@Mixergw.local.ca.us"
Chapter 4 - Addressing - Mail-11 / X.400
4.1. Mail-11 addressing
Mail-11 addressing can vary from a very simple case up to complex
ones, if there are other Mail-11 to "something-else" gateways
involved. In any case a Mail-11 address is an ASCII string composed
of different elements.
4.2. X.400 addressing
On the other hand, An X.400 O/R address is a collection of
attributes, which can anyway be presented as an IA5 textual
representation as defined in RFC1685 and CCITT F.401, Annex B.
4.3. Mail-11 address components
Let us start defining the different parts composing a Mail-11
address. Mail-11 addresses syntax is slightly different between Phase
IV and DECnet/OSI cases:
- Phase IV: we consider a Mail-11 address as composed by 3 parts:
[route] [node::] local-part
where 'route' and 'node' are optional and only 'local-part' is
compulsory.
- DECnet/OSI: we consider a Mail-11 address as composed by 3 parts:
[net:] [node-clns::] local-part
where 'net and 'node-clns' are optional and only 'local-part' is
compulsory.
Here comes a formal definition of these elements
node = *(ALPHA/DIGIT) / *DIGIT / *DIGIT "." *DIGIT
route = *(node "::")
subdomain = *(ALPHA/DIGIT)
node-clns = *("." subdomain)
net = *(ALPHA/DIGIT)
local-part = username / nickname / for-protocol
username = *(ALPHA/DIGIT)
nickname = <printablestring - <" " and HTAB>>
for-protocol = (f-pref f-sep <">f-address<">)
f-pref = *(ALPHA/DIGIT)
f-sep = "%" / "::"
f-address = printablestring / RFC822-address / X400-text-address
X400-text-address = <textual representation of an X.400 O/R addr>
Please note that in x400-text-address both the ";" notation and the
"/" notation are equivalent and allowed (see examples in different
sect.)
Some examples (Phase IV):
route node local-part
-----------------------------------------------------------
USER47
MYNODE::BETTY
BOSTON::CLUS02::GOOFY1::MARY34
IN%"M.P.Tracy@Dicdum.cc.edu"
UCLA13::MVAX93::MRGATE::"MBOX1::MBX34::MYC3::BOB"
MIAMI2::George.Rosenthal
CCUBVX::VS3100::Jnet%"IAB3425@IBAX23L"
MRGATE::"C=xx::A=bbb::P=ppp::S=Joe"
MAINVX::IN%"path1!path2!user%dom"
GWX400::gw%"C=xx;ADMD=aaa;PRMD=ppp;S=Lee;"
GX409A::x400%"/C=xx/A=aaa/P=ppp/S=Lee"
smtp%"postmast@nodeb.bitnet"
MICKEY::PRFGAT::profs%"NANCY@IBMB"
edu%"HU427BD%CSUNIB@abc.acme.edu"
Some examples (DECnet/OSI):
net node local-part
-----------------------------------------------------------
USER47
.IT.MYDOM1.MYNODE::BETTY
OMNI:.US.GOV.LB.GOOFY1::MARY34
IN%"M.P.Tracy@Dicdum.cc.edu"
NET1:.SALES.ADM.MVAX93::MRGATE::"MBOX1::MBX34::MYC3::BOB"
.FR.LYON.MIAMI2::George.Rosenthal
.AU.ABXY2W.VS3100::Jnet%"IAB3425@IBAX23L"
MRGATE::"C=xx::A=bbb::P=ppp::S=Joe"
INT:.GB.3LABV56.MAINV::IN%"path1!path2!user%dom"
GWX400::gw%"C=xx;ADMD=aaa;PRMD=ppp;S=Lee;"
smtp%"postmast@nodeb.bitnet"
OMNI:.DE.TEST.V1.GWY32::GX409A::x400%"/C=xx/A=aaa/P=ppp/S=Lee"
Note that also in DECnet/OSI there can be Phase IV like node names,
the so called "Phase IV compatibility node names", but no 'route'
term is allowed in front of them. In case the address consists of a
DECnet/OSI 'net' and/or 'node' specification, plus an old Phase IV
node address (like the last one in above examples) we consider the
old Phese IV node name (GX409A) as 'local-part'.
Chapter 5 - Mapping - Mail-11 / X.400
5.1. Mapping scheme
DECnet phase IV address field is somehow a 'flat land' with some
obliged routes to reach some hidden areas. Thus a truly hierarchical
mapping scheme using mapping rules as suitable for RFC822 is not the
appropriate solution. A fixed set of encoding rules using DDAs
support is defined in order to define the mapping.
DECnet/OSI address field is, on the other hand, hyerarchical,
implementing a real domain style organization, resembling very
closely the RFC822 domain addresses. However also in DECnet/OSI
networks the old Phase IV flat addresing schema remains valid,
expecially for the so called 'Phase IV short aliases'. For this
reason, and to keep mapping as simple as possible, the same set of
fixed rules usind DDAs encoding will be used both for Phase IV and
DECnet/OSI addresses.
Another important aspect of the problem is the coexistence in DECnet
phase IV of many disjoint networks, using the same DECnet address
space, i.e., common X.400 and/or RFC822 mailing system acting as glue
to connect different isolated Mail-11 islands. In DECnet/OSI this
aspect is more canonically approached, introducing the concept of
'net', a unique name identifying the single internally fully
interconnected DECnet network sharing the same DECnet/OSI name space.
To identify uniquely each DECnet Phase IV network we will thus extend
the concept of DECnet/OSI 'net' also to this case. We define as 'net'
in Phase IV a unique ASCII string identifying the DECnet network we
are connected to. If the Phase IV network is already migrating and
thus interconnected to DECnet/OSI areas, the 'net' identifier already
used in the DECnet/OSI areas is automatically extended to the whole
DECnet community.
If the network still uses Phase IV protocols only, a 'net' identifier
must be chosen. In this case the 'net' element will identify the
DECnet community being served, but it could also differ from the
actual official network name. It is reccommended that the same 'net'
identifier will be adopted unmodified when the eventual migration to
DECnet/OSI will take place within that DECnet community.
Aliases are allowed for the 'net' identifier. Some well known
identifiers and aliases:
net = 'OMNI' the High Energy Physics & Space Physics
DECnet network;
aliases:
net = 'HEPnet' alias for 'OMNI'
net = 'SPAN' alias for 'OMNI'
The need of labelling each DECnet network with its name comes also
from the requirement to implement the 'intelligent' gateway, i.e.,
the gateway which is able to understand its ability to connect
directly to the specified DECnet network, even if the O/R address
specify a path to a different gateway. A more detailed discussion of
the problem is in 5.3 and 5.5.
A registry of 'net' attributes to insure uniqueness of names must be
established: this registry is the same one created for migration to
DECnet/OSI. A simple table coupling 'net' and the gateway address is
also used, in a syntax similar to the 'gate1' and 'gate2' tables used
in MIXER. An example:
OMNI#OU$Cosine-gw.O$@.PRMD$infn.ADMD$garr.C$IT#
OMNI#O$ESRIN1.PRMD$esa.ADMD$Master400.C$it#
HEPnet#OU$Cosine-gw.O$@.PRMD$infn.ADMD$garr.C$IT#
HEPnet#O$ESRIN1.PRMD$esa.ADMD$Master400.C$it#
SPAN#OU$Cosine-gw.O$@.PRMD$infn.ADMD$garr.C$IT#
SPAN#O$ESRIN1.PRMD$esa.ADMD$Master400.C$it#
Ambiguous left entries are allowed. Gateway implementations could
simply choose among one of the specified gateways, or try them all in
cyclic order to obtain better performances.
Note that aliases are established using this gate table, too: simply
add equivalent entries into the table, like the 'HEPnet' and 'SPAN'
entries. Aliases, however, must be used only to enable users to use
commonly used names, but any gateway implementing this specification
must generate addresses with official 'net' names, only ('OMNI' for
the above table).
The Mail-11 gateways table, however, just constitutes the list of the
the appropriate MIXER address translation) RFC822 world. Any other
gateway implementing this specification (and the related ones) should
use its local name as first choice for the Mail-11 'net' it can
reach, and use the official Mail-11 gateway table to reach only the
non connected ones. This list of Mail-11 gateway entries is supposed
to contain the list of 'net' tags and their aliases; as this list is
usually small, currently we do not take into account distribution
mechanisms for this information different from a static table.
In order to keep the mapping rules very simple, avoiding the need to
analyse Mail-11 addresses to distinguish the 'route', 'node', and
Attributes (DDAs) needed to cover the mapping problem.
5.2. Mail-11 --> X.400
We define the following Domain Defined Attributes to map a Mail-11
address:
DD.Dnet
DD.Mail-11
We thus define the Mail-11 Phase IV mapping rule:
route::node::localpart
maps into
C=xx; ADMD=yyy; PRMD=zzz; O=ooo; OU=uuu; DD.Dnet=net;
DD.Mail-11=route::node::localpart;
Meanwhile we define the mapping rule for Mail-11 DECnet/OSI:
net:node-clns::localpart
maps into
C=xx; ADMD=yyy; PRMD=zzz; O=ooo; OU=uuu; DD.Dnet=net;
DD.Mail-11=node-clns::localpart;
with:
xx = country code of the gateway performing the conversion
yyy = Admd of the gateway performing the conversion
zzz = Prmd of the gateway performing the conversion
ooo = Organisation of the gateway performing the conversion
uuu = Org. Unit(s) of the gateway performing the conversion
net = name of the DECnet network (e.g., OMNI, HEPnet, SPAN,...)
('zzz','ooo','uuu' being used or dropped appropriately in order to
identify uniquely within the X.400 MHS the gateway performing the
conversion).
The following defaults also apply:
if 'node' (or 'node-clns') is missing and we are mapping the Mail-11
originator (From) then 'node' (or 'node-clns') defaults to the DECnet
node name of the gateway (gwnode);
if 'node' (or 'node-clns') is missing and we are mapping the Mail-11
recipient (To, Cc) then 'node' (or 'node-clns') defaults to the
DECnet node name of the 'From' address.
if 'net' is missing, then it defaults to a value defined locally by
the gateway: if the gateway is connected to one DECnet network only,
then 'net' will be the name of this unique network; if the gateway is
connected to more than one DECnet network, then the gateway will
establish a 'first choice' DECnet network, and 'net' will default to
this value.
The 'node' syntax (DECnet/OSI or Phase IV) depends on the DECnet
protocol implemented and on the value of a system parameter (usually
the MAIL$SYSTEM_FLAGS one) on the gateway host.
In case 'local-part' contains 'x400-text-address' see also section
6.4.3;
In case 'local-part' contains 'RFC822-address' see also section
6.4.4.
5.2.1. Examples
Let us suppose that:
- the DECnet network name (net) is 'OMNI';
- the DECnet node name of the gateway (gwnode) is '.IT.DM.X4TDEC'
alias 'X4TDEC' in Phase IV;
- the Country Code of the gateway is 'IT' and its ADMD is 'garr'
(and these two fields are enough to identify uniquely the gateway
within the X.400 MHS).
USER47
C=it; ADMD=garr; DD.Dnet=OMNI; DD.Mail-11=.IT.DM.X4TDEC::USER47;
MYNODE::BETTY
C=it; ADMD=garr; DD.Dnet=OMNI; DD.Mail-11=MYNODE::BETTY;
BOSTON::GOOFY1::MARY34
C=it; ADMD=garr; DD.Dnet=OMNI; DD.Mail-11=BOSTON::GOOFY1::MARY34;
.DE.UNI-BN.PHYS.NODE18::MARY34
C=it; ADMD=garr; DD.Dnet=OMNI;
DD.Mail-11=.DE.UNI-BN.PHYS.NODE18::MARY34;
UCLA13::MVAX93::MRGATE::"MBOX1::MBX34:MYC3::BOB"
C=it; ADMD=garr; DD.Dnet=OMNI;
DD.Mail-11=UCLA13::MVAX93::MRGATE::(q)MBOX1::MBX34::MYC3::BOB(q)
ENET:.US.CENTRAL.MIAMI2::George.Rosenthal
C=it; ADMD=garr; DD.Dnet=ENET;
DD.Mail-11=.US.CENTRAL.MIAMI2::George.Rosenthal;
MRGATE::"C=xx::A=bbb::P=ppp::S=Joe"
C=it; ADMD=garr; DD.Dnet=OMNI;
DD.Mail-11=X4TDEC::MRGATE::(q)C=xx::A=bbb::P=ppp::S=Joe(q)
MAINVX::In%"path1!path2!user%dom"
C=it; ADMD=garr; DD.Dnet=OMNI;
DD.Mail-11=MAINVX::In(p)(q)path1(b)path2(b)user(p)dom(q)
5.3. X.400 encoding of Mail-11 --> Mail-11
In order to assure path reversibility in case of multiple Mail-
11/X.400 gateway crossing we must distinguish two cases:
- DD.Dnet=net is known to the gateway as one of the DECnet networks
it is connected to. In this case the mapping is trivial:
C=xx; ADMD=yyy; PRMD=zzz; O=ooo; OU=uuu; DD.Dnet=net;
DD.Mail-11=route::node::localpart;
(see sect. 5.2 for explication of 'xx','yyy','zzz','ooo','uuu','net')
maps into
route::node::localpart
and for DECnet/OSI addresses
C=xx; ADMD=yyy; PRMD=zzz; O=ooo; OU=uuu; DD.Dnet=net;
DD.Mail-11=node-clns::localpart;
maps into
net:node-clns::localpart
- DD.Dnet=net is NOT known to the gateway as one of the DECnet
networks it is connected to. In this case the mapping rule
described into section 5.4 apply:
C=xx; ADMD=yyy; PRMD=www; DD.Dnet=net;
DD.Mail-11=route::node::localpart;
maps into
gwnode::gw%"C=xx;ADMD=yyy;PRMD=www;DD.Dnet=net;
DD.Mail-11=route::node::localpart;"
Again for DECnet/OSI addresses:
C=xx; ADMD=yyy; PRMD=www; DD.Dnet=net;
DD.Mail-11=node-clns::localpart;
maps into
gwnode::gw%"C=xx;ADMD=yyy;PRMD=www;DD.Dnet=net;
DD.Mail-11=node-clns::localpart;"
5.3.1. Examples
Let us suppose that:
- the DECnet network name (net) is 'OMNI';
- the DECnet node name of the gateway (gwnode) is '.IT.DM.X4TDEC';
alias 'X4TDEC' in Phase IV;
- the Country Code of the gateway is 'IT' and its ADMD is 'garr';
(and these two fields are enough to identify uniquely the gateway
within the X.400 MHS).
C=it; ADMD=garr; DD.Dnet=OMNI;
DD.Mail-11=X4TDEC::MRGATE::(q)C=ab::A=dsa::P=qwty::OU=mie::S=Cly(q)
MRGATE::"C=ab::A=dsa::P=qwty::OU=mie::S=Cly"
C=it; ADMD=garr; DD.Dnet=EASYNET; DD.Mail-11=ROM01::CARLO;
X4TDEC::gw%"C=it;ADMD=garr;DD.Dnet=EASYNET;
DD.Mail-11=ROM01::CARLO;"
(in the above example 'EASYNET' is supposed to be not connected to
our gateway located on .IT.DM.X4TDEC DECnet node).
5.4. X.400 --> Mail-11
The mapping of an X.400 O/R address into Mail-11 is done encoding the
various attributes into the X400-text-address as defined in chapter 4
of MIXER, and including this as 'f-address'. A 'f-pref' and a the
DECnet node name of the gateway.
Thus
x400-text-address
will be encoded like
gwnode::gw%"x400-text-address"
having spaces dividing attributes as optional.
5.4.1. Example
Let us suppose that:
- the DECnet node name of the gateway (gwnode) is '.IT.DM.X4TDEC'
alias 'X4TDEC' in Phase IV, and 'net' is 'OMNI'
Thus
C=gb; ADMD=G400; PRMD=AC.UK; O=ucl; S=Clay;
will be encoded like
X4TDEC::gw%"/C=gb/A=G400/P=AC.UK/O=ucl/S=Clay"
or its equivalent with the ";" notation and DECnet/OSI 'node'
OMNI:.IT.DM.X4TDEC::gw%"C=gb;ADMD=G400;PRMD=AC.UK;O=ucl;S=Clay;"
5.5. Mail-11 encoding of X.400 --> X.400
It can happen that Mail-11 is used to relay messages between X.400
systems; this will mean multiple X.400/Mail-11 gateway crossing and
we will encounter Mail-11 addresses containing embedded X.400
informations. In order to assure path reversibility we must then
distinguish two cases:
- the embedded X.400 address belongs to a domain whose naming and
routing rules are known to the global X.400 MHS. In this case the
mapping is trivial:
route::gwnode::gw%"x400-text-address"
or (for DECnet/OSI)
net:gwnode::gw%"x400-text-address"
maps into
x400-text-address
'route' and 'gwnode' are mapped into X.400 Trace service elements.
- the encoded X.400 domain does not belong to the global X.400 name
space. In this case the mapping rule described into section 5.2
apply:
route::gwnode::gw%"x400-text-address"
maps into
C=xx; ADMD=yyy; DD.Dnet=net;
DD.Mail-11=route::gwnode::gw(p)(q)x400-text-address(q);
and (for DECnet/OSI)
net:gwnode::gw%"x400-text-address"
maps into
C=xx; ADMD=yyy; DD.Dnet=net;
DD.Mail-11=gwnode::gw(p)(q)x400-text-address(q);
The latter case is deprecated and must be regarded as a possible
temporary solution only, while waiting to include into the global
X.400 MHS also this domain.
5.5.1. Examples
Let us suppose that:
- the DECnet network name (net) is 'OMNI';
- the DECnet node name of the gateway (gwnode) is '.IT.DM.X4TDEC'
alias 'X4TDEC' in Phase IV;
- the Country Code of the gateway is 'IT' and its ADMD is 'garr';
(and these two fields are enough to identify uniquely the
gateway within the X.400 MHS).
X4TDEC::gw%"C=fr;ADMD=atlas;PRMD=ifip;O=poly;S=Moreau;"
C=fr; ADMD=atlas; PRMD=ifip; O=poly; S=Moreau;
X4TDEC::gw%"C=zz;ADMD= ;PRMD=Botwa;O=Miner;S=Chiuaw;"
C=it; ADMD=garr; DD.Dnet=OMNI;
DD.Mail-11=X4TDEC::gw(p)(q)C=zz;ADMD= ;
PRMD=Botwa;O=Miner;S=Chiuaw;(q)
(in the above example C=zz is unknown to the global X.400 MHS)
Chapter 6 - Mapping - Mail-11 / RFC822
6.1 Introduction
The implementation of a Mail-11 - RFC822 gateway was faced by many
software developers independently, and was included in many mail
products which were running on both VMS and UNIX systems. As there
was not a unique standard mapping way, the implementations resulted
into a number of possible variant methods to map a Mail-11 address
into an RFC822 one. Some of these products became then largely
widespread, starting to create a number of de facto mapping methods.
In this chapter some sort of standardisation of the mapping problem
is considered, trying to be compatible with the existing installed
software. We must also remind that, in some cases, only simple Mail-
11 addresses could be mapped into RFC822, having complex ones
producing all sort of quite strange results. In case DECnet/OSI
Mail-11 addresses are involved we must also notice that only one
mapping method can be used from/to RFC822 addresses.
On the other hand, the mapping of an RFC822 address in Mail-11 was
quite straightforward, resulting in a common definition which uses
"Mail-11 foreign mail protocol" to design an RFC822 address:
[[node::][node::]...]prot%"rfc-822-address"
or
[node::][node::]...]prot::"rfc-822-address"
or again for DECnet/OSI addresses
[net:][node-clns::]prot%"rfc-822-address"
or
[net:][node-clns::]prot::"rfc-822-addres"
6.2 De facto implementations
A considerable number of de-facto implementations of Mail-11/RFC822
gateways is existing. As said in the introduction, the mapping of
RFC822 addresses in Mail-11 is accomplished using the foreign mail
protocol syntax and is thus unique.
On the other hand, Mail-11 addresses are encoded in RFC822 syntax in
various ways. Here are the most common ones:
a) "node::user"@gateway-address
b) user%node@gateway-address
c) user@node.decnet.domains
d) user%node.dnet@gateway-address
Let's have a quick look to these different choices.
a - This form simply encloses as quoted Left Hand Side string the
original Mail-11 address into the RFC822 address of the
Mail-11/RFC822 gateway. This method is fully conformant with
RFC822 syntax, and the Mail-11 address is left untouched; thus
no encoding rules need to applied to it. This method applies also
easily to DECnet/OSI Mail-11 addresses.
b - As one will immediately notice, this form has nothing in it
indicating the address is a Mail-11 one; this makes the encoding
indistinguishable from a similar encoding of RSCS (BITnet)
addresses used by some IBM VM Mailer systems. It should thus be
deprecated.
c - In this case a sort of 'reserved word' (DECnet) embedded into
the address itself identifies the presence of a Mail-11 original
address preceding it. The decoding is possible, dropping
'domains' and extracting 'user' and 'node' parts. However complex
Mail-11 addresses cannot be mapped properly in this syntax, and
there is no specific rule for adding the 'domains' part of the
address.
d - In this case again there is a 'reserved word' (dnet) which make
possible the identification of the original Mail-11 address;
'gateway-address' points to the Mail-11/RFC822 gateway and 'node'
and 'user' information can be easily drawn from the address.
However complex Mail-11 addresses cannot be embedded easily into
this syntax.
Note the only methods a) can be successfully used for DECnet/OSI
Mail-11 addresses, while the other cases are already too complex to
encode in a unique way such addresses in RFC822.
6.3 Recommended mappings
From the examples seen in the previous paragraphs we can derive a
canonical form for representing the mapping between Mail-11 and
RFC822.
6.3.1 RFC822 mapped in Mail-11
The mapping of an RFC822 address in Mail-11 is straightforward, using
the "Mail-11 foreign mail protocol" syntax. The two possible variants
for Phase IV are:
[[node::][node::]...]prot%"rfc-822-address"
or
[node::][node::]...]prot::"rfc-822-address"
The equivalent two possible variants for DECnet/OSI are:
[net:][node-clns::]prot%"rfc-822-address"
or
[net:][node-clns::]prot::"rfc-822-address"
6.3.2 Mail-11 mapped in RFC822
RFC822 foresee a canonical form for representing non-RFC822
addresses: put the foreign address in local part (Left Hand Side,
LHS) is a form as similar as possible to its original syntax. Thus
the suggested mapping both for Phase IV and DECnet/OSI is:
"Mail-11-address"@gateway-address
This format assures also the return path via the appropriate gateway.
6.3.3 Mail-11 (foreign mail protocol) mapped in RFC822
A Mail-11 address containing a foreign mail protocol syntax can also
contain the percent '%' character as a separator between the foreign
protocol name and the actual address itself. In some cases the
address part can also be an unquoted string. Some examples:
deliver%swan
myprot%root.owner
listserv%my-private.list.A1
If these addresses are encoded into an RFC822 address using the
"natural" method described in 6.3.2, they will result in something
which can be easily mismatched with an address using the percent hack
in LHS for source routing.
"myprot%root.owner"@lohost.mydom.edu (Mail-11 address)
"LISTSERV%IBMB.BITnet"@bitgate.anu.edu (% routing address)
The percent hack is strongly deprecated, and thus should be avoided;
the second address above shoud be expressed as:
@bitgate.anu.edu:"LISTSERV@IBMB.BITnet"
However, in order to assure maximum functionality and avoid problems,
it is recommended to encode Mail-11 addresses containing the foreign
protocol specification in RFC822 syntax using the DD.Mail-11 and
DD.dnet qualifiers, i.e.
"/DD.Mail-11=myprot%root.owner/DD.dnet=OMNI"@lohost.mydom.edu
The DD.dnet defaults as indicated in the similar cases for the Mail-
11 / X.400 mappings. This encoding method can, of course, also be
used to map any other Mail-11 address in RFC822, and is the only one
which enable to specify the network name ('OMNI' in the above
example) for DECnet Phase IV Mail-11 addresse. The method is fully
compatible with the results also produced by gateways following the
MIXER specification for Mail-11 addresses encoded in X.400 and then
translated into RFC822.
Chapter 7 - Complex mapping - X.400 / Mail-11 / RFC822
7.1. The protocol triangle
The bilateral mappings described in chapters 5 and 6 must be extended
in order to cover also the case in which also RFC822 addressing is
involved, and the following triangular situation occurs:
X.400
/ \
/ \
/ \
Mail-11----RFC822
The X.400 - RFC822 side is fully covered by MIXER, and the previous
chapters in this document cover the Mail-11 - X.400 side and the
Mail-11 - RFC822 one.
7.2. RFC822 mapped in Mail-11
The 'RFC822-address' is usually included in 'local-part' as
route::gwnode::gw%"rfc822-address"
or the equivalent in DECnet/OSI:
net:gwnode::gw%"rfc822-address"
An example in Phase IV
NVXA23::SMTPGW::in%"M.T.Rose@CS.UCLA.edu"
and another one in DECnet/OSI
OMNI:.FR.INET.LABOL.SMTPGW::in%"M.T.Rose@CS.UCLA.edu"
7.3. Mail-11 mapped in RFC822
There are different styles in mapping a Mail-11 address in RFC822;
let's have a short summary of what was traditionally done in some
implementations.
7.3.1 Mail-11 address encoded in "Left Hand Side" (LHS) of RFC822
address, using "%" syntax or "::" syntax
route::node::localpart (Phase IV)
maps to
localpart%node%route@gw-domains
or
"route::node::localpart"@gw-domains
Again, let's consider the DECnet/OSI case:
net:node-clns::localpart (DECnet/OSI)
maps to
"net:node-clns::localpart"@gw-domains
(note that "%" encoding does not exist for this case)
where 'gw-domains' identify uniquely the Mail-11 / RFC822 gateway.
7.3.2 Mail-11 address maps partly to LHS and partly to 'domain' part of
RFC822 address
node::localpart
maps to
localpart@node.gw-domains
note that this kind of mapping does not exists with DECnet/OSI Mail-
11 addresses.
7.3.3 Mail-11 address is completely hidden by a mapping table
In this case the resultant RFC822 address contains no trace at all of
the original Mail-11 address.
7.4. Multiple conversions
Let us now examine briefly the possible situations which involve
multiple conversions, having one protocol as a relay between the
other two. This summary suggest some possible enhanced solutions to
avoid heavy and unduly mappings, but the 'step by step' approach,
considering blindly one conversion as disjointed to the other, as
described in the previous sections, can always be used.
7.4.1. X.400 --> RFC822 --> Mail-11
We apply the MIXER rules to the first step, obtaining an RFC822
address which can be mapped in Mail-11 using the 'f-address' field,
as described in section 7.2.
an example:
C=gb; ADMD=Gold 400; PRMD=AC.UK; O=UCL; OU=cs; G=Jim; S=Clay;
maps accordingly to MIXER to
Jim.Clay@cs.UCL.AC.UK
and finally becomes
SMTPGW::In%"Jim.Clay@cs.UCL.AC.UK"
and finally becomes
SMTPGW::In%"Jim.Clay@cs.UCL.AC.UK"
where 'SMTPGW' is the DECnet Phase IV node name of the machine
running the RFC822 to Mail-11 gateway. Again, in case the machine
running the RFC822 to Mail-11 gateway is a DECnet/OSI one (like
OMNI:.US.VA.CENTRL) we would get
OMNI:.US.VA.CENTRL::In%"Jim.Clay@cs.UCL.AC.UK"
7.4.2. Mail-11 --> RFC822 --> X.400
Some of the possible mapping described in section 7.3 for Phase IV
apply to the Mail-11 address, hiding completely its origin. The MIXER
apply on the last step.
an example:
RELAY::MYNODE::BETTY
could map into RFC822 as
BETTY%MYNODE@RELAY.dnet.gw1.it
and accordingly to MIXER
C=it; A=garr; P=dom1; O=gw1; OU=RELAY; S=BETTY(p)MYNODE;
where 'dnet.gw1.it' is the domain of the machine running the Mail-11
to RFC822 gateway.
7.4.3. X.400 --> Mail-11 --> RFC822
The X.400 address is stored into Mail-11 'f-address' element as
described in sections 5.3 and 5.4; then if the Mail-11 to RFC822
gateway is able to understand the presence of a 'x400-text-address'
nto the Mail-11 address, then it applies MIXER to it, and encodes
header. Otherwise it applies the rules described in 7.3.
an example:
C=gb; ADMD=Gold 400; PRMD=AC.UK; O=UCL; OU=cs; G=Jim; S=Clay;
will be encoded like
X4TDEC::gw%"/C=gb/A=Gold 400/P=AC.UK/O=UCL/OU=cs/G=Jim/S=Clay"
If the Mail-11 to RFC822 gateway recognise the x400-text-address,
then the address becomes, accordingly to MIXER
Jim.Clay@cs.UCL.AC.UK
and the following RFC822 header line is added
Received: from X4TDEC with DECnet (Mail-11) on xx-xxx-xxxx.
Otherwise one of the dumb rules could produce
gw%"/C=gb/A=Gold 400/P=AC.UK/O=UCL/OU=cs/G=Jim/S=Clay"@X4TDEC.doms
The case with DECnet/OSI Mail-11 is conceptually identical.
7.4.4. RFC822 --> Mail-11 --> X.400
The RFC822 address is encoded in Mail-11 f-address element as
described in sect. 7.2; then if the Mail-11 to X.400 gateway is able
to understand the presence of an 'RFC822-address' into the Mail-11
address, then it applies MIXER to it, and encodes 'route' and applies
the rules described in 5.2 and 5.5.
an example:
Jim.Clay@cs.UCL.AC.UK
will be encoded like
SMTPGW::In%"Jim.Clay@cs.UCL.AC.UK"
If the Mail-11 to X.400 gateway recognise the RFC822-address, then
the address becomes, accordingly to MIXER
C=gb; ADMD=Gold 400; PRMD=AC.UK; O=UCL; OU=cs; G=Jim; S=Clay;
and a 'trace' record is added into the X.400 P1 data, stating that a
node named SMTPGW was crossed.
Otherwise dumb rule produces
C=it; ADMD=garr; DD.Dnet=HEP;
DD.Mail-11=SMTPGW::In(p)(q)Jim.Clay(a)cs.UCL.AC.UK(q)
Again, the case for DECnet/OSI Mail-11 addresses, is conceptually
identical.
7.4.5. RFC822 --> X.400 --> Mail-11
We apply MIXER to the first conversion, obtaining an X.400 address.
Then the rules described in sections 5.3 and 5.4 are used to store
the X.400 address as 'x400-text-address' into the Mail-11.
an example:
Jim.Clay@cs.UCL.AC.UK
maps accordingly to MIXER to
C=gb; ADMD=Gold 400; PRMD=AC.UK; O=UCL; OU=cs; G=Jim; S=Clay;
and finally becomes
SMTPGW::gw%"/C=gb/A=Gold 400/P=AC.UK/O=UCL/OU=cs/G=Jim/S=Clay"
where 'SMTPGW' is the DECnet Phase IV node name of the machine
running the X.400 to Mail-11 gateway. No differences also for
DECnet/OSI Mail-11 addresses.
7.4.6. Mail-11 --> X.400 --> RFC822
The Mail-11 address is encoded as specified in sections 5.2 and 5.5;
then MIXER is used to convert the address in RFC822.
an example:
RELAY::MYNODE::BETTY
maps into X.400 as
C=it; ADMD=garr; DD.Dnet=OMNI; DD.Mail-11=RELAY::MYNODE::BETTY;
and accordingly to MIXER
"/C=it/A=garr/DD.Dnet=OMNI/DD.Mail-11=RELAY::MYNODE::BETTY"@gw2.it
where 'gw2.it' is the domain of the machine running the MIXER
gateway.
7.4. Conclusions
A standard way of mapping Mail-11 addresses into RFC822 and vice
versa is feasible. A suggestion is thus made to unify all existing
and future implementations. It should be noted, however, that it
could be impossible (in case of DECnet Phase IV) to specify in these
mappings the name of the decnet community owning the encoded address,
as it can be always done for X.400; thus the implementation of the
'intelligent' gateway in this case could result impossible.
Chapter 8 - Notifications and Probes
8.1. Overview
Mail-11 is a real time protocol, i.e. connection is established
directly to the destination node. This makes possible some level of
services like verification of an address, and delivery confirmation.
However, Mail-11 User Agents ususally do not support notification or
probe services, whereas it is possible to deliver the result of a
notification or a probe to Mail-11. In this section we will briefly
describe the level of service which can be obtained on these services
when Mail-11 is involved.
8.2. Delivery of Notifications via Mail-11
As described in the previous chapters, it is possible to transport
also in Mail-11 with minimal loss of information complex information.
This also includes Notifications. In fact Notifications in
RFC822/MIME are encoded as MIME multipart messages: there are thus no
problems in transporting these messages in Mail-11 as any other MIME
message. Also X.400 Notifications can be transported and delivered
via Mail-11: MIXER describes in fact how to convert them into MIME
multipart messages, taking the problem back to the previous
situation.
Even when Mail-11 is just an intermediate step for a Notification
message, this consideration just enable support for the service.
8.3. Generation of Notifications and Probes from Mail-11
Although Mail-11 does not support Notification or Probe, the service
could also be supported at gateway level. In fact, due to real time
nature of Mail-11 protocol, the gateway could be reasonably sure that
delivery until the other end of the Mail-11 path was successful or
unsuccessful (and try to verify the feasibility of a delivery in case
a Probe as requested). However, Mail-11 could just be an intermediate
relay service, vanishing the value of the information.
Implementation of this kind of service at gateway level is thus
questionable, and if done, should clearly state the situation where
it was generated, and the "confidence level" it conveys.
Security Considerations
Security issues are not discussed in this memo.
Acknowledgements
I wish to thank all those people who read the first draft and
contributed a lot with their useful suggestions to the revision of
this document, in particular RARE WG1 and IETF X.400 ops group
members and S. E. Kille.
Thanks also to a number of implementors (among which Ned Freed,
Julian Onions, The Hebrew University of Tel Aviv - Pine VMS support
team), to the HEPnet Mail Technical Committee and to all my Mail-11
"end users", in particular Enzo Valente, for their suggestions and
wishes which helped me really a lot to prepare this revision of
former RFC1405.
References
[1] CCITT, "CCITT Recommendations X.400-X.430", Message Handling
Systems: Red Book, October 1984.
[2] CCITT, "CCITT Recommendations X.400-X.420", Message Handling
Systems: Blue Book, November 1988.
[3] CCITT/ISO, "CCITT Recommendations X.400/ ISO IS 10021-1,"
Message Handling: System and Service Overview , December 1992.
[4] Crocker D., "Standard of the Format of ARPA Internet Text
Messages", STD 11, RFC 822, UDel, August 1982.
[5] Kille, S., "MIXER (Mime Internet X.400 Enhanced Relay):
Mapping between X.400 and RFC 822/MIME", RFC 2156, January
1998.
[6] Alvestrand H., Kille S., Miles R., Rose M., and Thompson S.,
(MIME-MHS) "Mapping between X.400 and RFC-822 Message Bodies,"
RFC 1495, Aug 1993.
[7] Digital Equipment Corp., "VMS Mail Utility".
[8] Joiner Associates Inc., "Jnet User's Manual".
[9] PMDF User's Guide.
[10] Alvestrand, H. "Writing X.400 O/R Names", UNINETT / RFC1685,
August 1994.
[11] CCITT, "F.401 CCITT Message Handling Services - Operations and
Definitions of Service - Naming and Addressing for Public
Message Handling Services, Annex B (08/92)", August 1992.
Author's Address
Claudio Allocchio
Sincrotrone Trieste
SS 14 Km 163.5 Basovizza
I 34012 Trieste
Italy
Phone: +39 40 3758523
Fax: +39 40 3758565
EMail: Claudio.Allocchio@elettra.Trieste.it
C=it; A=garr; P=Trieste; O=Elettra; S=Allocchio; G=Claudio;
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.