draft-ietf-eai-popimap-downgrade-02.txt   draft-ietf-eai-popimap-downgrade-03.txt 
Email Address Internationalization K. Fujiwara Email Address Internationalization K. Fujiwara
(EAI) JPRS (EAI) JPRS
Internet-Draft July 11, 2011 Internet-Draft Oct 31, 2011
Updates: 5322 (if approved)
Intended status: Standards Track Intended status: Standards Track
Expires: January 12, 2012 Expires: May 3, 2012
Post-delivery Message Downgrading for Internationalized Email Messages Post-delivery Message Downgrading for Internationalized Email Messages
draft-ietf-eai-popimap-downgrade-02.txt draft-ietf-eai-popimap-downgrade-03.txt
Abstract Abstract
The Email Address Internationalization (UTF8SMTP) extension allows The Email Address Internationalization (UTF8SMTP) extension allows
UTF-8 characters in mail header fields. POP and IMAP servers support UTF-8 characters in mail header fields. POP and IMAP servers support
internationalized email messages. If a POP/IMAP client does not internationalized email messages. If a POP/IMAP client does not
support Email Address Internationalization, POP/IMAP servers cannot support Email Address Internationalization, POP/IMAP servers cannot
send Internationalized Email Headers to the client and cannot remove send Internationalized Email Headers to the client and cannot remove
the message. To avoid the situation, this document describes a the message. To avoid the situation, this document describes a
conversion mechanism for internationalized Email messages to be conversion mechanism for internationalized Email messages to be
traditional message format. traditional message format.
Status of This Memo Status of This Memo
This Internet-Draft is submitted to IETF in full conformance with the This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF). Note that other groups may also distribute
other groups may also distribute working documents as Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts. Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at This Internet-Draft will expire on May 3, 2012.
http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
This Internet-Draft will expire on January 12, 2012.
Copyright Notice Copyright Notice
Copyright (c) 2011 IETF Trust and the persons identified as the Copyright (c) 2011 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 5
3. Updating RFC 5322 . . . . . . . . . . . . . . . . . . . . . . 4 3. Updating RFC 5322 . . . . . . . . . . . . . . . . . . . . . . 5
4. New Header Fields Definition . . . . . . . . . . . . . . . . . 5 4. New Header Fields Definition . . . . . . . . . . . . . . . . . 6
4.1. Unknown Header Fields' Preservation Header Fields . . . . 5 4.1. Preservation Header Fields . . . . . . . . . . . . . . . . 6
5. Email Header Fields Downgrading . . . . . . . . . . . . . . . 6 5. Email Header Fields Downgrading . . . . . . . . . . . . . . . 7
5.1. Downgrading Method for Each ABNF Element . . . . . . . . . 6 5.1. Downgrading Method for Each ABNF Element . . . . . . . . . 7
5.1.1. RECEIVED Downgrading . . . . . . . . . . . . . . . . . 7 5.1.1. RECEIVED Downgrading . . . . . . . . . . . . . . . . . 7
5.1.2. UNSTRUCTURED Downgrading . . . . . . . . . . . . . . . 7 5.1.2. UNSTRUCTURED Downgrading . . . . . . . . . . . . . . . 7
5.1.3. WORD Downgrading . . . . . . . . . . . . . . . . . . . 7 5.1.3. WORD Downgrading . . . . . . . . . . . . . . . . . . . 7
5.1.4. COMMENT Downgrading . . . . . . . . . . . . . . . . . 7 5.1.4. COMMENT Downgrading . . . . . . . . . . . . . . . . . 7
5.1.5. MIME-VALUE Downgrading . . . . . . . . . . . . . . . . 7 5.1.5. MIME-VALUE Downgrading . . . . . . . . . . . . . . . . 7
5.1.6. DISPLAY-NAME Downgrading . . . . . . . . . . . . . . . 7 5.1.6. DISPLAY-NAME Downgrading . . . . . . . . . . . . . . . 8
5.1.7. GROUP Downgrading . . . . . . . . . . . . . . . . . . 7 5.1.7. GROUP Downgrading . . . . . . . . . . . . . . . . . . 8
5.1.8. MAILBOX Downgrading . . . . . . . . . . . . . . . . . 8 5.1.8. MAILBOX Downgrading . . . . . . . . . . . . . . . . . 8
5.1.9. ENCAPSULATION Downgrading . . . . . . . . . . . . . . 8 5.1.9. ENCAPSULATION Downgrading . . . . . . . . . . . . . . 9
5.1.10. TYPED-ADDRESS Downgrading . . . . . . . . . . . . . . 8 5.1.10. TYPED-ADDRESS Downgrading . . . . . . . . . . . . . . 9
5.2. Downgrading Method for Each Header Field . . . . . . . . . 8 5.2. Downgrading Method for Each Header Field . . . . . . . . . 9
5.2.1. Address Header Fields That Contain <address>s . . . . 9 5.2.1. Address Header Fields That Contain <address>s . . . . 9
5.2.2. Address Header Fields with Typed Addresses . . . . . . 9 5.2.2. Address Header Fields with Typed Addresses . . . . . . 10
5.2.3. Downgrading Non-ASCII in Comments . . . . . . . . . . 9 5.2.3. Downgrading Non-ASCII in Comments . . . . . . . . . . 10
5.2.4. Received Header Field . . . . . . . . . . . . . . . . 10 5.2.4. Message-ID Header Fields . . . . . . . . . . . . . . . 10
5.2.5. MIME Content Header Fields . . . . . . . . . . . . . . 10 5.2.5. Received Header Field . . . . . . . . . . . . . . . . 11
5.2.6. Non-ASCII in <unstructured> . . . . . . . . . . . . . 10 5.2.6. MIME Content Header Fields . . . . . . . . . . . . . . 11
5.2.7. Non-ASCII in <phrase> . . . . . . . . . . . . . . . . 10 5.2.7. Non-ASCII in <unstructured> . . . . . . . . . . . . . 11
5.2.8. Other Header Fields . . . . . . . . . . . . . . . . . 10 5.2.8. Non-ASCII in <phrase> . . . . . . . . . . . . . . . . 11
6. MIME Body-Part Header Field Downgrading . . . . . . . . . . . 11 5.2.9. Other Header Fields . . . . . . . . . . . . . . . . . 11
7. Security Considerations . . . . . . . . . . . . . . . . . . . 11 6. MIME Body-Part Header Field Downgrading . . . . . . . . . . . 12
8. Implementation Notes . . . . . . . . . . . . . . . . . . . . . 12 7. Security Considerations . . . . . . . . . . . . . . . . . . . 12
8.1. RFC 2047 Encoding . . . . . . . . . . . . . . . . . . . . 12 8. Implementation Notes . . . . . . . . . . . . . . . . . . . . . 13
9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12 8.1. RFC 2047 Encoding . . . . . . . . . . . . . . . . . . . . 13
10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 13 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13
11. References . . . . . . . . . . . . . . . . . . . . . . . . . . 13 9.1. Statement about Downgraded- registration . . . . . . . . . 14
11.1. Normative References . . . . . . . . . . . . . . . . . . . 13 9.2. Existing Downgraded- registrations . . . . . . . . . . . . 14
11.2. Informative References . . . . . . . . . . . . . . . . . . 14 9.3. Additional header fields . . . . . . . . . . . . . . . . . 14
Appendix A. Examples . . . . . . . . . . . . . . . . . . . . . . 14 10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 15
A.1. Downgrading Example . . . . . . . . . . . . . . . . . . . 14 11. Change History . . . . . . . . . . . . . . . . . . . . . . . . 15
11.1. Version 00 . . . . . . . . . . . . . . . . . . . . . . . . 15
11.2. Version 01 . . . . . . . . . . . . . . . . . . . . . . . . 15
11.3. Version 02 . . . . . . . . . . . . . . . . . . . . . . . . 16
11.4. Version 03 . . . . . . . . . . . . . . . . . . . . . . . . 16
12. References . . . . . . . . . . . . . . . . . . . . . . . . . . 16
12.1. Normative References . . . . . . . . . . . . . . . . . . . 16
12.2. Informative References . . . . . . . . . . . . . . . . . . 17
Appendix A. Examples . . . . . . . . . . . . . . . . . . . . . . 17
A.1. Downgrading Example . . . . . . . . . . . . . . . . . . . 17
1. Introduction 1. Introduction
Traditional mail systems, which are defined by [RFC5322], allow ASCII Traditional mail systems, which are defined by [RFC5322], allow ASCII
characters in mail header field values. The UTF8SMTP extension characters in mail header field values. The UTF8SMTP extension
([I-D.ietf-eai-frmwrk-4952bis] and [I-D.ietf-eai-rfc5335bis] allows ([I-D.ietf-eai-frmwrk-4952bis] and [I-D.ietf-eai-rfc5335bis] allows
UTF-8 characters in mail header field values. UTF-8 characters in mail header field values.
If a header field contains non-ASCII characters, POP/IMAP servers If a header field contains non-ASCII characters, POP/IMAP servers
cannot send Internationalized Email Headers to the client and cannot cannot send Internationalized Email Headers to the client and cannot
skipping to change at page 6, line 10 skipping to change at page 6, line 10
This specification redefines "From:", "Sender:", "Resent-From:" and This specification redefines "From:", "Sender:", "Resent-From:" and
"Resent-Sender:" header fields defined in Section 3.6.2 and 3.6.6 of "Resent-Sender:" header fields defined in Section 3.6.2 and 3.6.6 of
[RFC5322] to allow <group> in the header fields. [RFC5322] to allow <group> in the header fields.
from = "From:" address-list CRLF from = "From:" address-list CRLF
resent-from = "Resent-From:" address-list CRLF resent-from = "Resent-From:" address-list CRLF
sender = "Sender:" address CRLF sender = "Sender:" address CRLF
resent-sender = "Resent-Sender:" address CRLF resent-sender = "Resent-Sender:" address CRLF
[[Note in Draft: There are still outstanding questions about the use
of group syntax that the WG should resolve, or confirm that it is
willing to live with and figure out how to describe in the document,
at IETF 81. They include
1. RFC 5322 does not allow group syntax in From and Sender header
fields. Existing MUAs may become very confused when they see
group syntax in originator fields.
2. Use of group syntax in this way will essentially make it
impossible to reply to a message.
3. "Reply-To:" header field allows the group syntax in [RFC5322].
Is it correct ?
4. The ABNF syntax here is not yet complete.
5. Should the document explicitly recommend the use of comments,
possibly with encoded words, to document the original non-ASCII
mailboxes?
Suggestion made to the WG for more in depth discussion. ]]
4. New Header Fields Definition 4. New Header Fields Definition
New header fields starting with "Downgraded-" are defined here to New header fields starting with "Downgraded-" are defined here to
preserve those mail header field values that contain UTF-8 preserve those mail header field values that contain UTF-8
characters. During downgrading, one new "Downgraded-" header field characters. During downgrading, one new "Downgraded-" header field
is added for each mail header field that cannot be passed as-is to a is added for each mail header field that cannot be passed as-is to a
POP/IMAP client that does not support UTF8 extension. The original POP/IMAP client that does not support UTF8 extension. The original
mail header field is removed or rewritten. Only those mail header mail header field is removed. Only those mail header fields that
fields that contain non-ASCII characters are affected. The result of contain non-ASCII characters are affected. The result of this
this process is a message that is compliant with existing email process is a message that is compliant with existing email
specifications [RFC5322]. The original internationalized information specifications [RFC5322]. The original internationalized information
can be retrieved by examining the "Downgraded-" header fields that can be retrieved by examining the "Downgraded-" header fields that
were added. were added.
4.1. Unknown Header Fields' Preservation Header Fields 4.1. Preservation Header Fields
The unknown header fields' preservation header fields are defined to
encapsulate those original header fields that contain non-ASCII
characters and are not otherwise provided for in this specification.
The encapsulation header field name is the concatenation of
"Downgraded-" and the original name. The value field holds the
original header field value.
The header field syntax is specified as follows:
fields =/ unknown-downgraded-headers ":" unstructured CRLF
unknown-downgraded-headers = "Downgraded-" original-header-field-name New preservation header fields are defined to preserve information
that appeared in non-ASCII text in header fields of the incoming
message. The values of the new fields holds the original header
field value in encoded form. The revised header field syntax is
specified as follows:
original-header-field-name = field-name fields =/ known-downgraded-headers ":"
unstructured CRLF
field-name = 1*ftext known-downgraded-headers = "Downgraded-" original-headers
ftext = %d33-57 / ; Any character except original-headers = "Message-Id" / "Resent-Message-Id" /
%d59-126 ; controls, SP, and ":". "In-Reply-To:" / "References:" /
"Original-Recipient" / "Final-Recipient"
To encapsulate a header field in a "Downgraded-" header field: To preserve a header field in a "Downgraded-" header field:
1. Generate a new "Downgraded-" header field whose value is the 1. Generate a new "Downgraded-" header field whose value is the
original header field value. original header field value.
2. Treat the generated header field content as if it were 2. Treat the generated header field content as if it were
unstructured, and then apply [RFC2047] encoding with charset unstructured, and then apply [RFC2047] encoding with charset
UTF-8 as necessary so the result is ASCII. UTF-8 as necessary so that the result is ASCII.
3. Remove the original header field. 3. Remove the original header field.
5. Email Header Fields Downgrading 5. Email Header Fields Downgrading
This section defines the conversion method to ASCII for each header This section defines the conversion method to ASCII for each header
field that may contain non-ASCII characters. field that may contain non-ASCII characters.
[I-D.ietf-eai-rfc5335bis] expands "Received:" header fields; [I-D.ietf-eai-rfc5335bis] expands "Received:" header fields;
[RFC5322] describes ABNF elements <mailbox>, <word>, <comment>, [RFC5322] describes ABNF elements <mailbox>, <word>, <comment>,
<unstructured>; [RFC2045] describes ABNF element <value>. <unstructured>; [RFC2045] describes ABNF element <value>.
5.1. Downgrading Method for Each ABNF Element 5.1. Downgrading Method for Each ABNF Element
Header field downgrading is defined below for each ABNF element. Header field downgrading is defined below for each ABNF element.
Downgrading an unknown header field is also defined as ENCAPSULATION Converting the header field terminates when no non-ASCII characters
downgrading. Converting the header field terminates when no non- remain in the header field.
ASCII characters remain in the header field.
5.1.1. RECEIVED Downgrading 5.1.1. RECEIVED Downgrading
If the header field name is "Received:" and the FOR clause contains a If the header field name is "Received:" and the FOR clause contains a
non-ASCII address, remove the FOR clause from the header field. non-ASCII address, remove the FOR clause from the header field.
Other parts (not counting <comment>s) should not contain non-ASCII Other parts (not counting <comment>s) should not contain non-ASCII
values. values.
5.1.2. UNSTRUCTURED Downgrading 5.1.2. UNSTRUCTURED Downgrading
skipping to change at page 8, line 49 skipping to change at page 8, line 18
and they have <display-name> elements that contain non-ASCII and they have <display-name> elements that contain non-ASCII
characters, encode the <display-name> elements according to [RFC2047] characters, encode the <display-name> elements according to [RFC2047]
with charset UTF-8. DISPLAY-NAME downgrading is the same algorithm with charset UTF-8. DISPLAY-NAME downgrading is the same algorithm
as WORD downgrading. as WORD downgrading.
5.1.7. GROUP Downgrading 5.1.7. GROUP Downgrading
<group> is defined in Section 3.4 of [RFC5322]. The <group> elements <group> is defined in Section 3.4 of [RFC5322]. The <group> elements
may contain <mailbox>s which contain non-ASCII addresses. may contain <mailbox>s which contain non-ASCII addresses.
If the header field has any <group> elements which contain <mailbox> If the header field has any <group> elements that contain <mailbox>
elements that contain non-ASCII addresses, rewrite each <group> elements, and those <mailbox> elements in turn contain non-ASCII
element as addresses, rewrite each <group> element as
"Internationalized_Address_Removed" display-name ENCODED_WORD ":;" [CFWS] "Internationalized address removed" display-name ENCODED_WORD ":;"
where the <ENCODED_WORD> is the original <group-list> encoded where the <ENCODED_WORD> is the original <group-list> encoded
according to [RFC2047]. according to [RFC2047].
5.1.8. MAILBOX Downgrading 5.1.8. MAILBOX Downgrading
The <mailbox> elements have no equivalent format for non-ASCII The <mailbox> elements have no equivalent format for non-ASCII
addresses. If the header field has any <mailbox> elements that addresses. If the header field has any <mailbox> elements that
contain non-ASCII characters, rewrite each <mailbox> element to contain non-ASCII characters in their <addr-spec> element, rewrite
ASCII-only format. The <mailbox> element that contains non-ASCII each <addr-spec> element to ASCII-only format. The <addr-spec>
characters is one of two formats. element that contains non-ASCII characters may appear in two forms
as:
[ Display-name ] "<" Utf8-addr-spec ">" "<" addr-spec ">"
addr-spec
Utf8-addr-spec Rewrite both as:
Rewrite both as: "Internationalized address " ENCODED-WORD " removed:;"
[ Display-name ] "Internationalized Address " Encoded-word
" Removed:;" where the <ENCODED-WORD> is the original <addr-spec> encoded
where the <Encoded-word> is the original <Utf8-addr-spec> encoded according to [RFC2047].
according to [RFC2047].
5.1.9. ENCAPSULATION Downgrading 5.1.9. ENCAPSULATION Downgrading
If the header field contains non-ASCII characters and is such that no Encapsulate the header field in a "Downgraded-" header field as
rule is given above, encapsulate it in a "Downgraded-" header field described in Section 4 as a last resort.
as described in Section 4.1 as a last resort.
Applying this procedure to "Received:" header field is prohibited. Applying this procedure to "Received:" header field is prohibited.
ENCAPSULATION Downgrading is allowed for "Message-ID",
"In-Reply-To:", "References:", "Original-Recipient" and "Final-
Recipient" header fields.
5.1.10. TYPED-ADDRESS Downgrading 5.1.10. TYPED-ADDRESS Downgrading
If the header field contains <utf-8-type-addr> and the <utf-8-type- If the header field contains <utf-8-type-addr> and the <utf-8-type-
addr> contains raw non-ASCII characters, it is in utf-8-address form. addr> contains raw non-ASCII characters, it is in utf-8-address form.
Convert it to utf-8-addr-xtext form. Those forms are described in Convert it to utf-8-addr-xtext form. Those forms are described in
[I-D.ietf-eai-rfc5337bis-dsn]. COMMENT downgrading is also performed [I-D.ietf-eai-rfc5337bis-dsn]. COMMENT downgrading is also performed
in this case. If the address type is unrecognized and the header in this case. If the address type is unrecognized and the header
field contains non-ASCII characters, then fall back to using field contains non-ASCII characters, then fall back to using
ENCAPSULATION downgrading on the entire header field. ENCAPSULATION downgrading on the entire header field.
skipping to change at page 10, line 45 skipping to change at page 10, line 27
Original-Recipient: Original-Recipient:
Final-Recipient: Final-Recipient:
If the header field contains non-ASCII characters, perform TYPED- If the header field contains non-ASCII characters, perform TYPED-
ADDRESS downgrading. ADDRESS downgrading.
5.2.3. Downgrading Non-ASCII in Comments 5.2.3. Downgrading Non-ASCII in Comments
Date: Date:
Message-ID:
Resent-Message-ID:
In-Reply-To:
References:
Resent-Date: Resent-Date:
Resent-Message-ID:
MIME-Version: MIME-Version:
Content-ID: Content-ID:
Content-Transfer-Encoding: Content-Transfer-Encoding:
Content-Language: Content-Language:
Accept-Language: Accept-Language:
Auto-Submitted: Auto-Submitted:
These header fields do not contain non-ASCII characters except in These header fields do not contain non-ASCII characters except in
comments. If the header field contains UTF-8 characters in comments, comments. If the header field contains UTF-8 characters in comments,
perform COMMENT downgrading. perform COMMENT downgrading.
5.2.4. Received Header Field 5.2.4. Message-ID Header Fields
Message-ID:
Resent-Message-ID:
In-Reply-To:
References:
Perform ENCAPSULATION Downgrading.
5.2.5. Received Header Field
Received: Received:
Perform COMMENT downgrading and RECEIVED downgrading. Perform COMMENT downgrading and RECEIVED downgrading.
5.2.5. MIME Content Header Fields 5.2.6. MIME Content Header Fields
Content-Type: Content-Type:
Content-Disposition: Content-Disposition:
Perform MIME-VALUE downgrading and COMMENT downgrading. Perform MIME-VALUE downgrading and COMMENT downgrading.
5.2.6. Non-ASCII in <unstructured> 5.2.7. Non-ASCII in <unstructured>
Subject: Subject:
Comments: Comments:
Content-Description: Content-Description:
Perform UNSTRUCTURED downgrading. Perform UNSTRUCTURED downgrading.
5.2.7. Non-ASCII in <phrase> 5.2.8. Non-ASCII in <phrase>
Keywords: Keywords:
Perform WORD downgrading. Perform WORD downgrading.
5.2.8. Other Header Fields 5.2.9. Other Header Fields
For all other header fields that contain non-ASCII characters, are There are other header fields that contain non-ASCII characters.
user-defined, and are missing from this document or future defined They are user-defined and missing from this document, or future
header fields, perform ENCAPSULATION downgrading. defined header fields. They are treated as "Optional Fields" and
their field value are treated as unstructured described in Section
3.6.8 of [RFC5322].
Perform UNSTRUCTURED downgrading.
If the software understands the header field's structure and a If the software understands the header field's structure and a
downgrading algorithm other than ENCAPSULATION is applicable, that downgrading algorithm other than UNSTRUCTURED is applicable, that
software SHOULD use that algorithm; ENCAPSULATION downgrading is used software SHOULD use that algorithm; UNSTRUCTURED downgrading is used
as a last resort. as a last resort.
Mailing list header fields (those that start in "List-") are part of Mailing list header fields (those that start in "List-") are part of
this category. this category.
6. MIME Body-Part Header Field Downgrading 6. MIME Body-Part Header Field Downgrading
MIME body-part header fields may contain non-ASCII characters MIME body-part header fields may contain non-ASCII characters
[I-D.ietf-eai-rfc5335bis]. This section defines the conversion [I-D.ietf-eai-rfc5335bis]. This section defines the conversion
method to ASCII-only header fields for each MIME header field that method to ASCII-only header fields for each MIME header field that
skipping to change at page 12, line 34 skipping to change at page 12, line 26
COMMENT downgrading, MIME-VALUE downgrading, and UNSTRUCTURED COMMENT downgrading, MIME-VALUE downgrading, and UNSTRUCTURED
downgrading are described in Section 5. downgrading are described in Section 5.
Content-ID: Content-ID:
The "Content-ID:" header field does not contain non-ASCII The "Content-ID:" header field does not contain non-ASCII
characters except in comments. If the header field contains UTF-8 characters except in comments. If the header field contains UTF-8
characters in comments, perform COMMENT downgrading. characters in comments, perform COMMENT downgrading.
Content-Type: Content-Type:
Content-Disposition: Perform MIME-VALUE downgrading and COMMENT Content-Disposition:
downgrading. Perform MIME-VALUE downgrading and COMMENT downgrading.
Content-Description: Perform UNSTRUCTURED downgrading. Content-Description: Perform UNSTRUCTURED downgrading.
7. Security Considerations 7. Security Considerations
Existing clients do not know new From: and Sender: header fields
syntax updated by Section 3 and may get wrong when they confront
<group> syntax in From: and Sender: fields.
A downgraded message's header fields contain ASCII characters only. A downgraded message's header fields contain ASCII characters only.
But they still contain MIME-encapsulated header fields that contain But they still contain MIME-encapsulated header fields that contain
non-ASCII UTF-8 characters. Furthermore, the body part may contain non-ASCII UTF-8 characters. Furthermore, the body part may contain
UTF-8 characters. Implementations parsing Internet messages need to UTF-8 characters. Implementations parsing Internet messages need to
accept UTF-8 body parts and UTF-8 header fields that are MIME- accept UTF-8 body parts and UTF-8 header fields that are MIME-
encoded. Thus, this document inherits the security considerations of encoded. Thus, this document inherits the security considerations of
MIME-encoded header fields ([RFC2047] and [RFC3629]). MIME-encoded header fields ([RFC2047] and [RFC3629]).
Rewriting header fields increases the opportunities for undetected Rewriting header fields increases the opportunities for undetected
spoofing by malicious senders. However, rewritten header fields are spoofing by malicious senders. However, rewritten header fields are
skipping to change at page 13, line 45 skipping to change at page 13, line 41
result, whitespace behavior is somewhat unpredictable in practice result, whitespace behavior is somewhat unpredictable in practice
when multiple encoded words are used. While RFC 5322 states that when multiple encoded words are used. While RFC 5322 states that
implementations SHOULD limit lines to not more than 78 characters, implementations SHOULD limit lines to not more than 78 characters,
implementations MAY choose to allow overly long encoded words in implementations MAY choose to allow overly long encoded words in
order to work around faulty [RFC2047] implementations. order to work around faulty [RFC2047] implementations.
Implementations that choose to do so SHOULD have an optional Implementations that choose to do so SHOULD have an optional
mechanism to limit line length to 78 characters. mechanism to limit line length to 78 characters.
9. IANA Considerations 9. IANA Considerations
IANA is requested to refuse registration of all field names that [[RFC Editor: Please change "should now be" and "should be" to "have
start with "Downgraded-". For unknown header fields, use the been" when the IANA actions are complete.]]
downgrading method described in Section 4.1 to avoid conflicts with
existing IETF activity (Email Address Internationalization). [[ Notes in draft: this section is not finished, to be reviewed with
IANA. ]]
Following instructions in the now-obsolete [RFC5504], IANA has made a
series of entries in the the Permanent Message Header Field registry.
Those registrations should now be changed as follows:
9.1. Statement about Downgraded- registration
The statement about refusing any "Downgraded-" registrations should
be updated to refer to this document and to provide for registering
such fields as specified in Section 9.3.
[[ Note in draft: The restriction may become useless if unknown
header fields may be treated as unstructured. ]]
9.2. Existing Downgraded- registrations
Individual existing registrations for
Downgraded-Bcc
Downgraded-Cc
Downgraded-Disposition-Notification-To
Downgraded-From
Downgraded-Mail-From
Downgraded-Rcpt-To
Downgraded-Reply-To
Downgraded-Resent-Bcc
Downgraded-Resent-Cc
Downgraded-Resent-From
Downgraded-Resent-Reply-To
Downgraded-Resent-Sender
Downgraded-Resent-To
Downgraded-Return-Path
Downgraded-Sender
Downgraded-To
should be updated to replace "experimental" with "obsoleted" and to
reference this document.
9.3. Additional header fields
The following header fields should be registered in the Permanent
Message Header Field registry, in accordance with the procedures set
out in [RFC3864].
Header field name: Downgraded-Message-Id
Applicable protocol: mail
Status: standard
Author/change controller: IETF
Specification document(s): This document (Section 4)
Header field name: Downgraded-In-Reply-To
Applicable protocol: mail
Status: standard
Author/change controller: IETF
Specification document(s): This document (Section 4)
Header field name: Downgraded-References
Applicable protocol: mail
Status: standard
Author/change controller: IETF
Specification document(s): This document (Section 4)
Header field name: Downgraded-Original-Recipient
Applicable protocol: mail
Status: standard
Author/change controller: IETF
Specification document(s): This document (Section 4)
Header field name: Downgraded-Final-Recipient
Applicable protocol: mail
Status: standard
Author/change controller: IETF
Specification document(s): This document (Section 4)
10. Acknowledgements 10. Acknowledgements
This document draws heavily from the experimental in-transit message This document draws heavily from the experimental in-transit message
downgrading procedure described in RFC 5504 [RFC5504]. The downgrading procedure described in RFC 5504 [RFC5504]. The
contribution of the co-author of that earlier document, Y. Yoneya, contribution of the co-author of that earlier document, Y. Yoneya,
are gratefully acknowledged. are gratefully acknowledged.
11. References 11. Change History
11.1. Normative References This section is used for tracking the update of this document. Will
be removed after finalize.
11.1. Version 00
o Initial version
o Imported header field downgrading from RFC 5504
11.2. Version 01
o same as Version 00
11.3. Version 02
o Added updating RFC 5322 to allow <group> syntax in From: and
Sender
o Added GROUP Downgrading
11.4. Version 03
o Replaced <utf8-addr-spec> with <addr-spec>
o Added updating RFC 5322 to allow <group> syntax in From: and
Sender
o Added one sentence in Security considerations
o Updated IANA considerations
12. References
12.1. Normative References
[I-D.ietf-eai-frmwrk-4952bis] Klensin, J. and Y. Ko, "Overview and [I-D.ietf-eai-frmwrk-4952bis] Klensin, J. and Y. Ko, "Overview and
Framework for Internationalized Framework for Internationalized
Email", Email",
draft-ietf-eai-frmwrk-4952bis-10 (work draft-ietf-eai-frmwrk-4952bis-12 (work
in progress), September 2010. in progress), October 2011.
[I-D.ietf-eai-rfc5335bis] Yang, A., Steele, S., and N. Freed, [I-D.ietf-eai-rfc5335bis] Yang, A., Steele, S., and N. Freed,
"Internationalized Email Headers", "Internationalized Email Headers",
draft-ietf-eai-rfc5335bis-11 (work in draft-ietf-eai-rfc5335bis-13 (work in
progress), July 2011. progress), October 2011.
[I-D.ietf-eai-rfc5337bis-dsn] Hansen, T., Newman, C., and A. [I-D.ietf-eai-rfc5337bis-dsn] Hansen, T., Newman, C., and A.
Melnikov, "Internationalized Delivery Melnikov, "Internationalized Delivery
Status and Disposition Notifications", Status and Disposition Notifications",
draft-ietf-eai-rfc5337bis-dsn-02 (work draft-ietf-eai-rfc5337bis-dsn-05 (work
in progress), April 2011. in progress), October 2011.
[RFC2045] Freed, N. and N. Borenstein, [RFC2045] Freed, N. and N. Borenstein,
"Multipurpose Internet Mail Extensions "Multipurpose Internet Mail Extensions
(MIME) Part One: Format of Internet (MIME) Part One: Format of Internet
Message Bodies", RFC 2045, Message Bodies", RFC 2045,
November 1996. November 1996.
[RFC2047] Moore, K., "MIME (Multipurpose [RFC2047] Moore, K., "MIME (Multipurpose
Internet Mail Extensions) Part Three: Internet Mail Extensions) Part Three:
Message Header Extensions for Non- Message Header Extensions for Non-
ASCII Text", RFC 2047, November 1996. ASCII Text", RFC 2047, November 1996.
[RFC2119] Bradner, S., "Key words for use in
RFCs to Indicate Requirement Levels",
BCP 14, RFC 2119, March 1997.
[RFC2183] Troost, R., Dorner, S., and K. Moore, [RFC2183] Troost, R., Dorner, S., and K. Moore,
"Communicating Presentation "Communicating Presentation
Information in Internet Messages: The Information in Internet Messages: The
Content-Disposition Header Field", Content-Disposition Header Field",
RFC 2183, August 1997. RFC 2183, August 1997.
[RFC2231] Freed, N. and K. Moore, "MIME [RFC2231] Freed, N. and K. Moore, "MIME
Parameter Value and Encoded Word Parameter Value and Encoded Word
Extensions: Character Sets, Languages, Extensions: Character Sets, Languages,
and Continuations", RFC 2231, and Continuations", RFC 2231,
November 1997. November 1997.
[RFC5322] Resnick, P., Ed., "Internet Message
Format", RFC 5322, October 2008.
[RFC3629] Yergeau, F., "UTF-8, a transformation [RFC3629] Yergeau, F., "UTF-8, a transformation
format of ISO 10646", STD 63, format of ISO 10646", STD 63,
RFC 3629, November 2003. RFC 3629, November 2003.
[RFC4021] Klyne, G. and J. Palme, "Registration [RFC4021] Klyne, G. and J. Palme, "Registration
of Mail and MIME Header Fields", of Mail and MIME Header Fields",
RFC 4021, March 2005. RFC 4021, March 2005.
[RFC5322] Resnick, P., Ed., "Internet Message [RFC2119] Bradner, S., "Key words for use in
Format", RFC 5322, October 2008. RFCs to Indicate Requirement Levels",
BCP 14, RFC 2119, March 1997.
11.2. Informative References [RFC3864] Klyne, G., Nottingham, M., and J.
Mogul, "Registration Procedures for
Message Header Fields", BCP 90,
RFC 3864, September 2004.
12.2. Informative References
[RFC5504] Fujiwara, K. and Y. Yoneya, [RFC5504] Fujiwara, K. and Y. Yoneya,
"Downgrading Mechanism for Email "Downgrading Mechanism for Email
Address Internationalization", Address Internationalization",
RFC 5504, March 2009. RFC 5504, March 2009.
Appendix A. Examples Appendix A. Examples
A.1. Downgrading Example A.1. Downgrading Example
skipping to change at page 16, line 5 skipping to change at page 18, line 23
o The "Cc:" header field contains a non-ASCII address, o The "Cc:" header field contains a non-ASCII address,
"NON-ASCII-remote3@example.org". Its display-name is "DISPLAY- "NON-ASCII-remote3@example.org". Its display-name is "DISPLAY-
remote3". remote3".
o Four display names contain non-ASCII characters. o Four display names contain non-ASCII characters.
o The Subject header field is "NON-ASCII-SUBJECT", which contains o The Subject header field is "NON-ASCII-SUBJECT", which contains
non-ASCII characters. non-ASCII characters.
o The "Message-Id:" header field contains "NON-ASCII-MESSAGE_ID",
which contains non-ASCII characters.
o There is an unknown header field "X-Unknown-Header" which contains o There is an unknown header field "X-Unknown-Header" which contains
non-ASCII characters. non-ASCII characters.
Return-Path: <NON-ASCII-local@example.com> Return-Path: <NON-ASCII-local@example.com>
Received: from ... by ... for <NON-ASCII-remote1@example.net> Received: from ... by ... for <NON-ASCII-remote1@example.net>
Received: from ... by ... for <NON-ASCII-remote1@example.net> Received: from ... by ... for <NON-ASCII-remote1@example.net>
From: DISPLAY-local <NON-ASCII-local@example.com> From: DISPLAY-local <NON-ASCII-local@example.com>
To: DISPLAY-remote1 <NON-ASCII-remote1@example.net>, To: DISPLAY-remote1 <NON-ASCII-remote1@example.net>,
DISPLAY-remote2 <NON-ASCII-remote2@example.com> DISPLAY-remote2 <NON-ASCII-remote2@example.com>
Cc: DISPLAY-remote3 <NON-ASCII-remote3@example.org> Cc: DISPLAY-remote3 <NON-ASCII-remote3@example.org>
Subject: NON-ASCII-SUBJECT Subject: NON-ASCII-SUBJECT
Date: DATE Date: DATE
Message-Id: MESSAGE_ID Message-Id: NON-ASCII-MESSAGE_ID
Mime-Version: 1.0 Mime-Version: 1.0
Content-Type: text/plain; charset="UTF-8" Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit Content-Transfer-Encoding: 8bit
X-Unknown-Header: NON-ASCII-CHARACTERS X-Unknown-Header: NON-ASCII-CHARACTERS
MAIL_BODY MAIL_BODY
Figure 1: Received message in a mail drop Figure 1: Received message in a mail drop
The downgraded message is shown in Figure 2. "Return-Path:", The downgraded message is shown in Figure 2. "Return-Path:",
"From:", "To:" and "Cc:" header fields are rewritten. "X-Unknown- "From:", "To:" and "Cc:" header fields are rewritten. "Subject:" and
Header:" is encapsulated as "Downgraded-X-Unknown-Header:". "X-Unknown-Header:" header fields are encoded using [RFC2047].
"Message-Id:" header field is encapsulated as
"Downgraded-Message-Id:" header field.
Return-Path: Internationalized address Return-Path: Internationalized address
=?UTF-8?Q?NON-ASCII-local@example.com?= removed:; =?UTF-8?Q?NON-ASCII-local@example.com?= removed:;
Received: from ... by ... Received: from ... by ...
Received: from ... by ... Received: from ... by ...
From: =?UTF-8?Q?DISPLAY-local?= Internationalized address From: =?UTF-8?Q?DISPLAY-local?= Internationalized address
=?UTF-8?Q?NON-ASCII-local@example.com?= removed:; =?UTF-8?Q?NON-ASCII-local@example.com?= removed:;
To: =?UTF-8?Q?DISPLAY-remote1?= Internationalized address To: =?UTF-8?Q?DISPLAY-remote1?= Internationalized address
=?UTF-8?Q?NON-ASCII-remote1@example.net?= removed:;, =?UTF-8?Q?NON-ASCII-remote1@example.net?= removed:;,
=?UTF-8?Q?DISPLAY-remote2?= Internationalized address =?UTF-8?Q?DISPLAY-remote2?= Internationalized address
=?UTF-8?Q?NON-ASCII-remote2@example.com?= removed:;, =?UTF-8?Q?NON-ASCII-remote2@example.com?= removed:;,
Cc: =?UTF-8?Q?DISPLAY-remote3?= Internationalized address Cc: =?UTF-8?Q?DISPLAY-remote3?= Internationalized address
=?UTF-8?Q?NON-ASCII-remote3@example.org?= removed:; =?UTF-8?Q?NON-ASCII-remote3@example.org?= removed:;
Subject: =?UTF-8?Q?NON-ASCII-SUBJECT?= Subject: =?UTF-8?Q?NON-ASCII-SUBJECT?=
Date: DATE Date: DATE
Message-Id: MESSAGE_ID Downgraded-Message-Id: =?UTF-8?Q?MESSAGE_ID?=
Mime-Version: 1.0 Mime-Version: 1.0
Content-Type: text/plain; charset="UTF-8" Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit Content-Transfer-Encoding: 8bit
Downgraded-X-Unknown-Header: =?UTF-8?Q?NON-ASCII-CHARACTERS?= X-Unknown-Header: =?UTF-8?Q?NON-ASCII-CHARACTERS?=
MAIL_BODY MAIL_BODY
Figure 2: Downgraded message Figure 2: Downgraded message
Author's Address Author's Address
Kazunori Fujiwara Kazunori Fujiwara
Japan Registry Services Co., Ltd. Japan Registry Services Co., Ltd.
Chiyoda First Bldg. East 13F, 3-8-1 Nishi-Kanda Chiyoda First Bldg. East 13F, 3-8-1 Nishi-Kanda
Chiyoda-ku, Tokyo 101-0065 Chiyoda-ku, Tokyo 101-0065
Japan Japan
Phone: +81 3 5215 8451 Phone: +81 3 5215 8451
EMail: fujiwara@jprs.co.jp EMail: fujiwara@wide.ad.jp, fujiwara@jprs.co.jp
 End of changes. 57 change blocks. 
154 lines changed or deleted 258 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/