Internet Draft Mapping between X.400 P772 and RFC-822 Graeme Lunt Julian Onions NEXOR Ltd Oct 93 1. Status of this Memo This document is an Internet Draft. Internet Drafts are working documents of the Internet Engineering Task Force (IETF), its Areas, and its Working Groups. Note that other groups may also distribute working documents as Internet Drafts. Internet Drafts are valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. (The file 1id-abstracts.txt on nic.ddn.mil describes the current status of each Internet Draft.) It is not appropriate to use Internet Drafts as reference material or to cite them other than as a "work in progress". 2. Abstract This document describes a method for allowing the exchange of P772 military X.400 mail with RFC-822 text based mail. This allows gateways to convert between the two provided certain criteria are met. The version of this document is known as draft-onions-x400p772-822- mapping-01. 3. Introduction RFC-822 defines a protocol for the format of electronic messages exchanged on the Internet. This protocol is text based an in very common usage. P772 is a military specification defined in STANAG 4406 which defines a number of extensions to the basic X.400 (1988) protocol for the services required by military mail. The extensions are fairly small and do not impact on security, which is already covered in X.400. This document is concerned with P772 version 1.0 published on December 6, 1991. A set of possible syntaxes for version 1.4 which is currently in draft status is included as in this document. Lunt, Onions Expires May 22, 1994 [Page 1] INTERNET DRAFT P772 to RFC822 Mapping Oct 93 This document allows where possible the mapping of the service ele- ments between the two protocols. As RFC-822 does not have all the services that P772 supports, this mapping mostly enables the inten- tions to be passed through the gateway so that RFC-822 recipients can view them. There is obviously no way a user with a standard RFC-822 based user agent can take action on these. This document is built on and extends the RFC-1327 X.400 mapping specifically for the P772 attributes. The document is primarily aimed at the ability to represent P772 mes- sages in RFC-822, although it does allow RFC-822 users limited access to P772 features. This mapping also allows a message that travels P772 - RFC-822 - P772 to mostly recover the original elements of service. Where new RFC-822 Headers are defined they are prefixed with the string P772- to dis- tinguish them from any other extensions. It is unclear how much traffic there will be between the communities using P772 and the existing RFC-822 community at this time. However, such a document as this allows implementors of RFC-1327 based gate- ways to "do something sensible" on the receipt of a P772 format mes- sage. 4. General Mappings If any of the mappings are used, a new header field MUST be intro- duced into the RFC-822 address P772-Version: 1.0 This identifies the version of P772 that is being carried. If present, this field should preceed all other P772 specific header fields. This allows implementations to change their parsing rules if required, dependant on version. 5. MTA Mappings P772 only defines one extra element of service at the P1 or MTA level. This is Priority-Level-Qualifier. This is reversibly mapped into the new address header field P772-Priority-Level-Qualifier. This field has the syntax of a labelled-integer described in RFC- 1327. It can have the values of low (0) high (1) or for extensibility just a number Lunt, Onions Expires May 22, 1994 [Page 2] INTERNET DRAFT P772 to RFC822 Mapping Oct 93 (3) (5) When reversing the mapping, just the number should be used. This is general to all labelled integers used in this document. An example of such a field might be P772-Priority-Level-Qualifier: low(0) 6. MTS Mappings P772 defines a number of extra elements to the basic P2 Header struc- ture. These are principally mapped into new header fields in RFC-822. These are discussed in turn. Exempted-Address. This is mapped into the new RFC-822 field P772-Exempted-Address. It has a syntax of a sequence of strings, which are separated by the P772-Exempted-Address: Captain Picard & Worf & Tasha Ya More formally this is defined as a printable-string-sequence by the following EBNF. printable-string-sequence ::= printablestring [ "&" printable-string-sequence ] Extended-Authorisation-Info This is mapped into the new RFC-822 field P772-Extended- Authorisation-Info. It has a syntax of 822.date-time, and is mapped in the manner described in RFC-1327. Examples might include: P772-Extended-Authorisation-Info: Thu, 2 Sep 1993 08:58:50 +0100 Distribution-Codes This is mapped into the new RFC 822 field P772-Distribution- Codes. It has a syntax composed of the following BNF distribution-code ::= sic-sequence "&" dist-code-sequence sic-sequence ::= sic [ "#" sic-sequence ] sic ::= printablestring Lunt, Onions Expires May 22, 1994 [Page 3] INTERNET DRAFT P772 to RFC822 Mapping Oct 93 dist-code-sequence ::= dist-code [ "#" dist-code-sequence ] dist-code ::= printablestring An example might be P772-Distribution-Codes: ABC # DEF & USS-Enterprise # USS-Intrepid Handling-Instructions This is mapped into the new RFC-822 field P772-Handling- Instructions. It has the syntax printable-string-sequence as defined above. An example might be P772-Handling-Instructions: beam down to planet & await instructions Message-Instructions This is mapped into the new RFC-822 field P772-Message- Instructions. The syntax is again printable-string-sequence. An example might be P772-Message-Instructions: Take out of space pod & reconstitute Codress-Message This is mapped into the new RFC-822 header field P772-Codress- Message. It has a syntax of EBNF.numericstring as defined in RFC-1327 P772-Codress-Message: 23 OriginatorIdentifier This is mapped into the new RFC-822 field P772-Originator- Identifier. It has a syntax of printablestring P772-Originator-Identifier: Mr Data PrimaryPrecedence / CopyPrecedence These attributes use the same syntax of labelled-integer and are encoded into the new RFC-822 heading fields P772-Primary-Precedence: deferred(0) P772-Copy-Precedence: flash(4) Lunt, Onions Expires May 22, 1994 [Page 4] INTERNET DRAFT P772 to RFC822 Mapping Oct 93 MessageType This is encoded into the new RFC-822 field P772-Message-Type. It has a syntax described by the following EBNF. int-and-printablestring ::= labelled-integer [ "=" printablestring ] The printablestring component is optional in this attribute, and may be missed off if not present. P772-Message-Type: exercise(0) = space manoeuvre OtherRecipientIndicator This is mapped into the new header field P772-Other-Recipient- Indicator. It has a syntax as follows int-and-ps-list ::= int-and-printablestring [ "&" int-and-ps-list ] And example of this might be P772-Other-Recipient-Indicator: information (0) = Commander W. Riker, Star Base XII & action (1) = Lt. LaForge, Planet Recon Party AcpMessageIdentifier This is mapped into the new RFC-822 header field P772-Acp- Message-Identifier. The syntax is a simple printablestring P772-Acp-Message-Identifier: 41153.7.bridge.enterprise.sector34.milkyway OriginatorPLAD This is mapped into a new RFC-822 field with syntax printable- string. P772-Originator-PLAD: Captains Chair, bridge, USS enterprise. AddressListIndicator Mapped into a new header field P772-Address-List-Indicator. This has the following EBNF syntax. address-list-indicator::= int-and-printablestring "#" Lunt, Onions Expires May 22, 1994 [Page 5] INTERNET DRAFT P772 to RFC822 Mapping Oct 93 [ labelled-integer ] "#" [ labelled-integer ] [ "&" address-list-indicator ] This might result in the header field P772-Address-List-Indicator: primaryAddressList (0) = ships-crew # action(0) # info(1) PilotForwardingInfo Mapped into a new header field P772-Pilot-Forwarding-Info. It has a syntax of pilot-info ::= labelled-integer "=" [ recipientlist ] "#" [ printablestring *[ "%" printablestring ] ] recipientlist ::= ??? [ "%" recipientlist ] If the security label is present, then this element cannot be translated. In this case it is probably best to generate a delivery report. The definition of Recipient does not seem to be defined. P772-Pilot-Forwarding-Info: routine(1) = ???? # transport % open on planet 7. Mappings for the proposed 1.4 version of P772. There are not many changes need to encompass the proposed changes to 1.4. The possible syntaxes that change are defined here. If 1.4 mes- sages are being converted, a header of P772-Version: 1.4 MUST be inserted. DistributionCodes This mapping would be as before, except there is no second set of strings. If the extensions in this X.400 element are present, this is not mapped. The message may be rejected if required. Alternatively, a gateway may implement specific extensions only. AddressListIndicator The ORDescriptor present in this new attribute, will be mapped as in RFC-1327 but will otherwise use the same mapping as above. Lunt, Onions Expires May 22, 1994 [Page 6] INTERNET DRAFT P772 to RFC822 Mapping Oct 93 ACP127NotificationRequest This can be mapped into RFC-822 Header of P772-ACP127- Notification-Request. The syntax will be a comma separated list of bits, in labelled-integer format. P772-ACP127-Notification-Request: acp127-nn Acp127NotificationResponse This can be mapped into the RFC-822 Header P772-ACP127- Notification-Response. The syntax is as follows acp127notificationresponse ::= 1*labelled-integer "#" 822.date-time "#" [ printablestring ] "#" ; Acp127Recipient [ printablestring ] "#" ; Acp127SuppInfo address-list-indicator The two printable strings are the Acp127Recipient and Acp127SuppInfo elements respectively. 8. Security Considerations Security considerations are not discussed in this document. 9. Authors' Addresses Graeme Lunt Julian Onions NEXOR Ltd PO Box 132 Nottingham NG7 2UU Lunt, Onions Expires May 22, 1994 [Page 7]