分享
 
 
 

RFC1495 - Mapping between X.400 and RFC-822 Message Bodies

王朝other·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

Network Working Group H. Alvestrand

Request for Comments: 1495 SINTEF DELAB

Updates: 1327 S. Kille

ISODE Consortium

R. Miles

Soft*Switch, Inc.

M. Rose

Dover Beach Consulting, Inc.

S. Thompson

Soft*Switch, Inc.

August 1993

Mapping between X.400 and RFC-822 Message Bodies

Status of this Memo

This RFCspecifies an IAB standards track protocol for the Internet

community, and requests discussion and suggestions for improvements.

Please refer to the current edition of the "IAB Official Protocol

Standards" for the standardization state and status of this protocol.

Distribution of this memo is unlimited.

Table of Contents

1. IntrodUCtion ............................................. 1

2. Approach ................................................. 2

3. Mapping between X.400 and RFC-822 Message Bodies ......... 3

3.1 Mapping from X.400 to RFC-822 ........................... 4

3.2 Mapping from RFC-822 to X.400 ........................... 5

3.2.1 Asymmetric Mappings .................................... 6

3.2.1.1 Message/External-Body ................................ 6

3.2.1.2 Message/Partial ...................................... 6

3.2.1.3 Nested Multipart Content-types ....................... 6

3.2.2 Multipart IPMS Heading Extension ....................... 7

4. Mapping between X.400 and RFC-822 Message Headers ........ 7

5. OID Assignments .......................................... 9

6. Security Considerations .................................. 9

7. Authors' Addresses ....................................... 10

8. References ............................................... 11

1. Introduction

The Internet community is a large collection of networks under

autonomous administration, but sharing a core set of protocols.

These are known as the Internet suite of protocols (or simply

"TCP/IP").

Use of electronic-mail in the Internet is defined primarily by one

document, STD-11, RFC-822 [1], which defines the standard format for

the exchange of messages. RFC-822 has proven immensely popular; in

fact, the 822-connected Internet, is larger than the scope of the

IP-connected Internet.

The framework provided by RFC-822 allows for memo-based textual

messages. Each message consists of two parts: the headers and the

body. The headers are analogous to the structured fields found in an

inter-Office memo, whilst the body is free-form. Both parts are

encoded using ASCII.

Recently, the Internet Engineering Task Force (IETF) has developed an

document called,

Multipurpose Internet Mail Extensions

or MIME RFC-1341. The title is actually misleading. MIME defines

structure for Internet message bodies. It is not an extension to

RFC-822.

Independently of this, the International standards community

developed a different framework in 1984 (some say that's the

problem). This framework is known as the OSI Message Handling System

(MHS) or sometimes X.400.

Since the introduction of X.400(84), there has been work ongoing for

defining mappings between MHS and RFC-822. The most recent work in

this area is RFC-1327 [3], which focuses primarily on translation of

envelope and headers. This document is complimentary to RFC-1327 as

it focuses on translation of the message body. The mappings defined

are largely symmetrical with respect to MIME and MHS structuring

semantics, although the MIME semantics are somewhat richer. In order

to provide for reversible transformations, MHS heading extensions are

used to carry the additional MIME semantics.

Please send comments to the MIME-MHS mailing list:

<mime-mhs@surfnet.nl>.

2. Approach

The mappings have been specifically designed to provide optimal

behavior for three different scenarios:

(1) Allow a MIME user and an MHS user to exchange an arbitrary binary

content;

(2) Allow MIME content-types to "tunnel" through an MHS relay that

is, two MIME users can exchange content-types without loss

through an MHS relay); and,

(3) Allow MHS body parts to "tunnel" through a MIME relay that is,

two MHS users can exchange body parts without loss through a MIME

relay).

Other, related, scenarios can also be easily accommodated.

To facilitate the mapping process, the Internet Assigned Numbers

Authority (IANA) maintains a table termed the "IANA MHS/MIME

Equivalence Table". Once an enterprise has registered an OID to

describe an MHS body part, it should complete a corresponding

registry with the IANA for a MIME content-type/suBType. In practice,

the corresponding content-type will be "application", with an

appropriate choice of sub-type and possible parameters. If a new

MIME content-type/subtype is registered with the IANA without a

corresponding entry in the Equivalence Table, the IANA will assign it

an OID, from the arc defined in this memo. See [4], section 5 for

details.

The companion document, "Equivalences between 1988 X.400 and RFC-822

Message Bodies"[4], defines the initial configuration of this table.

The mappings described in both this document and the companion

document use the notational conventions of RFC-1327.

3. Mapping between X.400 and RFC-822 Message Bodies

MHS messages are comprised of an IPMS.heading and an IPMS.body. The

IPMS.Body is a sequence of IPMS.BodyParts. An IPMS.BodyPart may be a

nested message (IPMS.MessageBodyPart).

A MIME message consists of headers and a content. For the purpose of

discussion, the content may be structured (multipart or message), or

atomic (otherwise). An element of a structured content may be a

message or a content. Both message and structured content have

subtypes which do not have direct analogies in MHS.

The mapping between X.400 and RFC-822 message bodies which this

document defines is symmetrical for the following cases:

(1) any atomic body part

(2) multipart: digest and mixed subtypes

(3) message/rfc822

RFC-1327 specifies the mappings for headers. Section 4 describes how

those mappings are modified by this document. When mapping between

an MHS body and a MIME content, the following algorithm is used:

3.1. Mapping from X.400 to RFC-822

This section replaces the text in RFC-1327 starting at the bottom of

page 84,

The IPMS.Body is mapped into the RFC-822 message body. Each

IPMS.BodyPart is converted to ASCII as follows:

and continuing up to and including page 86 of Section 5.3.4 of RFC-

1327.

If the IPMS.Body

Body ::=

SEQUENCE OF

BodyPart

consists of a single body part, then the RFC-822 message body is

constructed as the MIME content corresponding to that body part.

If the body part is an IPMS.MessageBodyPart (forwarded IPM), the

mapping is applied recursively. Otherwise, to map a specific MHS

body part to a MIME content-type, the IANA MHS/MIME Equivalence table

is consulted. If the MHS body part is not identified in this table,

then the body-part is mapped onto an "application/x400-bp" content,

as specified in [4].

If the IPMS.Body consists of more than one body part, then the RFC-

822 message body is constructed as a

multipart/mixed

content-type, unless all of the body parts are messages, in which

case it is mapped to a

multipart/digest

content-type. Each component of the multipart content-type

corresponds to a IPMS.BodyPart, preserving the ordering of the body

parts in the IPMS.Body.

There is one case which gets special treatement. If the IPMS.Body

consists solely of a single IA5Text body part, then the RFC822

message body is NOT marked as a MIME content. This prevents RFC822

mailers from invoking MIME function unnecessarily.

3.2. Mapping from RFC-822 to X.400

First, replace the first paragraph of Section 5.1.3 on page 72 of

RFC-1327 to read as:

The IPM (IPMS Service Request) is generated according to the

rules of this section. The IPMS.body usually consists of one

IPMS.BodyPart of type

IPMS.IA5TextBodyPart

with

IPMS.IA5TextBodyPart.parameters.repertoire

set to the default (ia5), which contains the body of the RFC-822

message. However, if the 822.MIME-Version header field is

present, a special algorithm is used to generate the IPMS.body.

Second, replace the "Comments:" paragraph on page 74 to reads as:

Comments:

If an 822.MIME-Version header field is not present,

generate an IPMS.Bodypart of type

IPMS.IA5TextBodyPart

with

IPMS.IA5TextBodyPart.parameters.repertoire

set to the default (ia5), containing the value of

the fields, preceded by the string "Comments: ".

This body part shall preceed the other one.

Third, add the remainder of this section to the end of Section 5.1.3

of RFC-1327.

If the 822.MIME-Version header field is present, the following

mapping rules are used to generate the IPMS.body.

If the MIME content-type is one of:

(1) any atomic body part

(2) multipart: digest and mixed subtypes

(3) message/rfc822

then the symmetric mapping applies as described in Section 6.1. Note

that the multipart content-types should be marked with the

IPMS.HeadingExtension described below.

Otherwise, three cases remain, which are discussed in turn.

3.2.1. Asymmetric Mappings

3.2.1.1. Message/External-Body

This is mapped into a mime-body-part, as specified in [4].

3.2.1.2. Message/Partial

This is mapped onto a message, and the following heading extension is

used. The extension is derived from the message/partial parameters:

partial-message HEADING-EXTENSION

VALUE PartialMessage

::= id-hex-partial-message

PartialMessage ::=

SEQUENCE {

number INTEGER,

total INTEGER,

id IA5String

}

If this heading is present when mapping from MHS to MIME, then a

message/partial should be generated.

3.2.1.3. Nested Multipart Content-types

In MIME, a multipart content refers to a set of content-types, not a

message with a set of content-types. However, a nested multipart

content will always be mapped to an IPMS.MessageBodyPart, with an

IPMS.BodyPart for each contained content-type.

The only mandatory field in the heading is the IPMS.this-IPM, which

must always be generated (by the gateway). A IPMS.subject field

should also be generated where there is no "real" heading. This will

present useful information to the non-MIME capable X.400(88) and to

all X.400(84) UAs.

The IPM.subject fields for the various types are:

mixed: "Multipart Message"

alternative: "Alternate Body Parts containing the same information"

digest: "Message Digest"

parallel: "Body Parts to be interpreted in parallel"

3.2.2. Multipart IPMS Heading Extension

The following IPMS.HeadingExtension should be generated for all

multipart content-types, with the enumerated value set according to

the subtype:

multipart-message HEADING-EXTENSION

VALUE MultipartType

::= id-hex-multipart-message

MultipartType ::=

ENUMERATED {

mixed(1),

alternative(2),

digest(3),

parallel(4)

}

If this heading is present when mapping from MHS to MIME, then the

appropriate multipart content-type should be generated.

4. Mapping between X.400 and RFC-822 Message Headers

Replace the first paragraph of Section 3.3.4 on page 26 of RFC-1327

to read as:

In cases where T.61 strings are used only for conveying human-

interpreted information, the aim of this mapping is to render

the characters appropriately in the remote character set, rather

than to maximize reversibility. For these cases, the following

steps are followed to find an appropriate encoding:

1) If all the characters in the string are contained within the

ASCII repertoire, the string is simply copied.

2) If all the characters in the string are from an IANA-

registered character set, then the appropriate encoded-Word(s)

according to [5] are generated instead.

3) If the characters in the string are from a character set

which is not registered with the IANA, then the mappings to IA5

defined in CCITT Recommendation X.408 (1988) shall be used

[CCITT/ISO88a]. These will then be encoded in ASCII.

This approach will only be used for human-readable information

(Subject and FreeForm Name).

When mapping from an RFC-822 header, when an encoded-word (as

defined in [5]) is encountered:

1) If all the characters contained therein are mappable to T.61,

the string content shall be converted into T.61.

2) Otherwise, the encoded-word shall be copied directly into the

T.61 string.

Modify procedure "2a" on page 56 of RFC-1327 to read as:

If the IPMS.ORDescriptor.free-form-name is present, convert it

to ASCII or T.61 (Section 3.3.4), and use this as the 822.phrase

component of the 822.mailbox construct.

Modify the final paragraph of procedure "2" on page 55 of RFC-1327 to

read as:

The string is then encoded into T.61 or ASCII using a human-

oriented mapping (as described in Section 3.3.4). If the string

is not null, it is assigned to IPMS.ORDescriptor.free-form.name.

Modify the second paragraph of procedure "3" on page 55 of RFC-1327

to read as:

If the 822.group construct is present, any included 822.mailbox

is encoded as above to generate a separate IPMS.ORDescriptor.

The 822.group is mapped to T.61 or ASCII (as described in

Section 3.3.4), and an IPMS.ORDescriptor with only an free-

form-name component is built from it.

Modify procedure "822.Subject" on page 62 of RFC-1327 to read as:

Mapped to IMPS.Heading.subject. The field-body uses the human-

oriented mapping referenceed in Section 3.3.4.

Modify procedure "IPMS.Heading.subject" on page 71 of RFC-1327 to

read as:

Mapped to "Subject:". The contents are converted to ASCII or

T.61 (Section 3.3.4). Any CRLF are not mapped, but are used as

points at which the subject field must be folded.

5. OID Assignments

MIME-MHS DEFINITIONS ::= BEGIN

mail OBJECT IDENTIFIER ::= { internet 7 }

mime-mhs OBJECT IDENTIFIER ::= { mail 1 }

mime-mhs-headings OBJECT IDENTIFIER ::= { mime-mhs 1 }

id-hex-partial-message OBJECT IDENTIFIER ::=

{ mime-mhs-headings 1 }

id-hex-multipart-message OBJECT IDENTIFIER ::=

{ mime-mhs-headings 2 }

mime-mhs-bodies OBJECT IDENTIFIER ::= { mime-mhs 2 }

END

6. Security Considerations

There are no eXPlicit security provisions in this document. However,

a warning is in order. This document maps two mechanisms between

RFC822 and X.400 that could cause problems. The first is the

transfer of binary files. The inherent risks are well known and

won't be reiterated here. The second is the propagation of strong

content typing. The typing can be used to automatically "launch" or

initiate applications against those contents. Any such launching

leaves the invoker vulnerable to application-specific viruses; for

example, a spreadsheet macro or Postscript command that deletes

files. See [2], Section 7.4.2 for a Postscript-specific discussion

of this issue.

7. Authors' Addresses

Harald Tveit Alvestrand

SINTEF DELAB

N-7034 Trondheim

NORWAY

EMail: Harald.Alvestrand@delab.sintef.no

Steve Kille

ISODE Consortium

P.O. Box 505

London

SW11 1DX

England

Phone: +44-71-223-4062

EMail: S.Kille@ISODE.COM

Robert S. Miles

Soft*Switch, Inc.

640 Lee Road

Wayne, PA 19087

Phone: (215) 640-7556

EMail: rsm@spyder.ssw.com

Marshall T. Rose

Dover Beach Consulting, Inc.

420 Whisman Court

Mountain View, CA 94043-2186

US

Phone: +1 415 968 1052

Fax: +1 415 968 2510

EMail: mrose@dbc.mtview.ca.us

Steven J. Thompson

Soft*Switch, Inc.

640 Lee Road

Wayne, PA 19087

Phone: (215) 640-7556

EMail: sjt@gateway.ssw.com

8. References

[1] Crocker, D., "Standard for the Format of ARPA Internet Text

Messages", STD 11, RFC822, UDEL, August 1982.

[2] Borenstein, N., and N. Freed, "MIME: Mechanisms for Specifying

and Describing the Format of Internet Message Bodies", RFC1341,

Bellcore, Innosoft, June 1992.

[3] Hardcastle-Kille, S., "Mapping between X.400(1988) / ISO 10021

and RFC-822", RFC1327, University College London, May 1992.

[4] Alvestrand, H., and S. Thompson, "Equivalences between 1988 X.400

and RFC-822 Message Bodies", RFC1494, SINTEF DELAB, Soft*Switch,

Inc., August 1993.

[5] Moore, K., "Representation of Non-ASCII Text in Internet Message

Headers Message Bodies", RFC1342, University of Tennesse, June

1992.

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有