draft-ietf-imapext-i18n-10.txt   draft-ietf-imapext-i18n-11.txt 
Network Working Group Chris Newman Network Working Group Chris Newman
Internet-Draft Sun Microsystems Internet-Draft Sun Microsystems
Intended Status: Proposed Standard Arnt Gulbrandsen Intended Status: Proposed Standard Arnt Gulbrandsen
Oryx Mail Systems GmhH Oryx Mail Systems GmhH
Internet Message Access Protocol Internationalization Internet Message Access Protocol Internationalization
draft-ietf-imapext-i18n-10.txt draft-ietf-imapext-i18n-11.txt
Status of this Memo Status of this Memo
By submitting this Internet-Draft, each author represents that any By submitting this Internet-Draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware applicable patent or other IPR claims of which he or she is aware
have been or will be disclosed, and any of which he or she becomes have been or will be disclosed, and any of which he or she becomes
aware will be disclosed, in accordance with Section 6 of BCP 79. aware will be disclosed, in accordance with Section 6 of 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), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet- other groups may also distribute working documents as Internet-
skipping to change at page 1, line 30 skipping to change at page 1, line 30
Internet-Drafts are draft documents valid for a maximum of six Internet-Drafts are draft documents valid for a maximum of six
months and may be updated, replaced, or obsoleted by other documents months and may be updated, replaced, or obsoleted by other documents
at any time. It is inappropriate to use Internet-Drafts as at any time. It is inappropriate to use Internet-Drafts as
reference material or to cite them other than as "work in progress". reference material or to cite them other than as "work in progress".
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt. The list of Internet- http://www.ietf.org/ietf/1id-abstracts.txt. The list of Internet-
Draft Shadow Directories can be accessed at Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
This Internet-Draft expires in September 2007. This Internet-Draft expires in December 2007.
Copyright Notice Copyright Notice
Copyright (C) The IETF Trust (2007). Copyright (C) The IETF Trust (2007).
Abstract Abstract
Internet Message Access Protocol (IMAP) version 4rev1 has basic Internet Message Access Protocol (IMAP) version 4rev1 has basic
support for non-ASCII characters in mailbox names and search support for non-ASCII characters in mailbox names and search
substrings. It also supports non-ASCII message headers and content substrings. It also supports non-ASCII message headers and content
skipping to change at page 2, line 13 skipping to change at page 2, line 13
for search, sort and thread, language negotiation for international for search, sort and thread, language negotiation for international
error text, and translations for namespace prefixes. error text, and translations for namespace prefixes.
Table of Contents Table of Contents
1. Conventions Used in this Document . . . . . . . . . . . . . . 2 1. Conventions Used in this Document . . . . . . . . . . . . . . 2
2. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
3. LANGUAGE Extension . . . . . . . . . . . . . . . . . . . . . 3 3. LANGUAGE Extension . . . . . . . . . . . . . . . . . . . . . 3
3.1 LANGUAGE Extension Requirements . . . . . . . . . . . . . . . 3 3.1 LANGUAGE Extension Requirements . . . . . . . . . . . . . . . 3
3.2 LANGUAGE Command . . . . . . . . . . . . . . . . . . . . . . 4 3.2 LANGUAGE Command . . . . . . . . . . . . . . . . . . . . . . 4
3.3 LANGUAGE Response . . . . . . . . . . . . . . . . . . . . . . 5 3.3 LANGUAGE Response . . . . . . . . . . . . . . . . . . . . . . 6
3.4 TRANSLATION Extension to the NAMESPACE Response . . . . . . . 6 3.4 TRANSLATION Extension to the NAMESPACE Response . . . . . . . 6
3.5 Formal Syntax . . . . . . . . . . . . . . . . . . . . . . . . 6 3.5 Formal Syntax . . . . . . . . . . . . . . . . . . . . . . . . 6
4. COMPARATOR Extension . . . . . . . . . . . . . . . . . . . . 7 4. COMPARATOR Extension . . . . . . . . . . . . . . . . . . . . 7
4.1 COMPARATOR Extension Requirements . . . . . . . . . . . . . . 8 4.1 COMPARATOR Extension Requirements . . . . . . . . . . . . . . 8
4.2 Comparators and Charsets . . . . . . . . . . . . . . . . . . 8 4.2 Comparators and Charsets . . . . . . . . . . . . . . . . . . 9
4.3 COMPARATOR Command . . . . . . . . . . . . . . . . . . . . . 9 4.3 COMPARATOR Command . . . . . . . . . . . . . . . . . . . . . 9
4.4 COMPARATOR Response . . . . . . . . . . . . . . . . . . . . . 10 4.4 COMPARATOR Response . . . . . . . . . . . . . . . . . . . . . 10
4.5 Formal Syntax . . . . . . . . . . . . . . . . . . . . . . . . 10 4.5 Formal Syntax . . . . . . . . . . . . . . . . . . . . . . . . 10
5. Other IMAP Internationalization Issues . . . . . . . . . . . 11 5. Other IMAP Internationalization Issues . . . . . . . . . . . 11
5.1 UTF-8 Userids and Passwords . . . . . . . . . . . . . . . . . 11 5.1 UTF-8 Userids and Passwords . . . . . . . . . . . . . . . . . 11
5.2 UTF-8 Mailbox Names . . . . . . . . . . . . . . . . . . . . . 11 5.2 UTF-8 Mailbox Names . . . . . . . . . . . . . . . . . . . . . 11
5.3 UTF-8 Domains, Addresses and Mail Headers . . . . . . . . . . 11 5.3 UTF-8 Domains, Addresses and Mail Headers . . . . . . . . . . 11
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12
7. Security Considerations . . . . . . . . . . . . . . . . . . . 12 7. Security Considerations . . . . . . . . . . . . . . . . . . . 12
8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 12 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 12
skipping to change at page 3, line 16 skipping to change at page 3, line 16
This specification defines two IMAP4rev1 [RFC3501] extensions to This specification defines two IMAP4rev1 [RFC3501] extensions to
enhance international support. These extensions can be advertised enhance international support. These extensions can be advertised
and implemented separately. and implemented separately.
The LANGUAGE extension allows the client to request a suitable The LANGUAGE extension allows the client to request a suitable
language for protocol error messages and in combination with the language for protocol error messages and in combination with the
NAMESPACE extension [RFC2342] enables namespace translations. NAMESPACE extension [RFC2342] enables namespace translations.
The COMPARATOR extension allows the client to request a suitable The COMPARATOR extension allows the client to request a suitable
comparator which will modify the behavior of the base collation which will modify the behavior of the base specification's
specification's SEARCH command as well as the SORT and THREAD SEARCH command as well as the SORT and THREAD extensions [SORT].
extensions [SORT]. This leverages the comparator registry This leverages the collation registry [RFC4790].
[RFC4790].
3. LANGUAGE Extension 3. LANGUAGE Extension
IMAP allows server responses to include human-readable text that in IMAP allows server responses to include human-readable text that in
many cases needs to be presented to the user. But that text is many cases needs to be presented to the user. But that text is
limited to US-ASCII by the IMAP specification [RFC3501] in order to limited to US-ASCII by the IMAP specification [RFC3501] in order to
preserve backwards compatibility with deployed IMAP implementations. preserve backwards compatibility with deployed IMAP implementations.
This section specifies a way for an IMAP client to negotiate which This section specifies a way for an IMAP client to negotiate which
language the server should use when sending human-readable text. language the server should use when sending human-readable text.
skipping to change at page 3, line 50 skipping to change at page 3, line 49
CAPABILITY data. CAPABILITY data.
A server that advertises this extension MUST use the language "i- A server that advertises this extension MUST use the language "i-
default" as described in [RFC2277] as its default language until default" as described in [RFC2277] as its default language until
another supported language is negotiated by the client. A server another supported language is negotiated by the client. A server
MUST include "i-default" as one of its supported languages. MUST include "i-default" as one of its supported languages.
Clients and servers that support this extension MUST also support Clients and servers that support this extension MUST also support
the NAMESPACE extension [RFC2342]. the NAMESPACE extension [RFC2342].
The LANGUAGE command is valid in all states. The LANGUAGE command is valid in all states. Clients are urged to
issue LANGUAGE before authentication, since some servers send
valuable user information as part of authentication (e.g. "password
is correct, but expired").
3.2 LANGUAGE Command 3.2 LANGUAGE Command
Arguments: Optional language range arguments. Arguments: Optional language range arguments.
Response: A possible LANGUAGE response (see section 3.3). Response: A possible LANGUAGE response (see section 3.3).
A possible NAMESPACE response (see section 3.4). A possible NAMESPACE response (see section 3.4).
Result: OK - Command completed Result: OK - Command completed
NO - Could not complete command NO - Could not complete command
BAD - arguments invalid BAD - arguments invalid
The LANGUAGE command requests that human-readable text emitted by The LANGUAGE command requests that human-readable text emitted by
the server be localized to a language matching one of the language the server be localized to a language matching one of the language
range argument as described by section 2.5 of RFC 3066. range argument as described by section 2 of [RFC4647].
If the command succeeds, the server will return human-readable If the command succeeds, the server will return human-readable
responses in the first supported language specified. These responses in the first supported language specified. These
responses will be in UTF-8 [RFC3629]. The server MUST send a responses will be in UTF-8 [RFC3629]. The server MUST send a
LANGUAGE response specifying the language used, and the change takes LANGUAGE response specifying the language used, and the change takes
effect immediately after the LANGUAGE response. effect immediately after the LANGUAGE response.
If the command fails, the server continues to return human-readable If the command fails, the server continues to return human-readable
responses in the language it was previously using. responses in the language it was previously using.
The special "*" language range argument indicates a request to use a The special "default" language range argument indicates a request to
language designated as preferred by the server administrator. The use a language designated as preferred by the server administrator.
preferred language MAY vary based on the currently active user. The preferred language MAY vary based on the currently active user.
If a language range does not match a known language tag exactly but If a language range does not match a known language tag exactly but
does match a language by the rules of [RFC4647], the server MUST does match a language by the rules of [RFC4647], the server MUST
send an untagged LANGUAGE response indicating the language selected. send an untagged LANGUAGE response indicating the language selected.
If there aren't any arguments, the server SHOULD send an untagged If there aren't any arguments, the server SHOULD send an untagged
LANGUAGE response listing the languages it supports. If the server LANGUAGE response listing the languages it supports. If the server
is unable to enumerate the list of languages it supports it MAY is unable to enumerate the list of languages it supports it MAY
return a tagged NO response to the enumeration request. return a tagged NO response to the enumeration request.
skipping to change at page 5, line 39 skipping to change at page 5, line 42
the server is using. > the server is using. >
C: D001 LANGUAGE FR C: D001 LANGUAGE FR
S: D001 NO Diese Sprache ist nicht unterstuetzt S: D001 NO Diese Sprache ist nicht unterstuetzt
C: D002 LANGUAGE DE-IT C: D002 LANGUAGE DE-IT
S: * LANGUAGE (DE-IT) S: * LANGUAGE (DE-IT)
S: * NAMESPACE (("" "/"))(("Other Users/" "/" "TRANSLATION" S: * NAMESPACE (("" "/"))(("Other Users/" "/" "TRANSLATION"
("Andere Ben&APw-tzer/"))) (("Public Folders/" "/" ("Andere Ben&APw-tzer/"))) (("Public Folders/" "/"
"TRANSLATION" ("Gemeinsame Mailboxen/"))) "TRANSLATION" ("Gemeinsame Mailboxen/")))
S: D002 OK Sprachwechsel durch LANGUAGE-Befehl ausgefuehrt S: D002 OK Sprachwechsel durch LANGUAGE-Befehl ausgefuehrt
C: D003 LANGUAGE "*" C: D003 LANGUAGE "default"
S: * LANGUAGE (DE) S: * LANGUAGE (DE)
S: D003 OK Sprachwechsel durch LANGUAGE-Befehl ausgefuehrt S: D003 OK Sprachwechsel durch LANGUAGE-Befehl ausgefuehrt
< Server does not speak French, but does speak English. User < Server does not speak French, but does speak English. User
speaks Canadian French and Canadian English. > speaks Canadian French and Canadian English. >
C: E001 LANGUAGE FR-CA EN-CA C: E001 LANGUAGE FR-CA EN-CA
S: * LANGUAGE (EN) S: * LANGUAGE (EN)
S: E001 OK Now speaking English S: E001 OK Now speaking English
skipping to change at page 6, line 45 skipping to change at page 6, line 45
C: A001 LANGUAGE DE-IT C: A001 LANGUAGE DE-IT
S: * NAMESPACE (("" "/")) (("Other Users/" "/" "TRANSLATION" S: * NAMESPACE (("" "/")) (("Other Users/" "/" "TRANSLATION"
("Andere Ben&APw-tzer/"))) (("Public Folders/" "/" ("Andere Ben&APw-tzer/"))) (("Public Folders/" "/"
"TRANSLATION" ("Gemeinsame Mailboxen/"))) "TRANSLATION" ("Gemeinsame Mailboxen/")))
S: A001 OK LANGUAGE-Befehl ausgefuehrt S: A001 OK LANGUAGE-Befehl ausgefuehrt
3.5 Formal Syntax 3.5 Formal Syntax
The following syntax specification inherits ABNF [RFC4234] rules The following syntax specification inherits ABNF [RFC4234] rules
from IMAP4rev1 [RFC3501], IMAP4 Namespace [RFC2342], Tags for the from IMAP4rev1 [RFC3501], IMAP4 Namespace [RFC2342], Tags for the
Identifying Languages [RFC4646], and UTF-8 [RFC3629]. Identifying Languages [RFC4646], UTF-8 [RFC3629] and Collected
Extensions to IMAP4 ABNF [RFC4466].
command-any =/ language-cmd command-any =/ language-cmd
; LANGUAGE command is valid in all states ; LANGUAGE command is valid in all states
language-cmd = "LANGUAGE" *(SP lang-range-quoted) language-cmd = "LANGUAGE" *(SP lang-range-quoted)
response-payload =/ language-data / comparator-data response-payload =/ language-data / comparator-data
language-data = "LANGUAGE" SP "(" lang-tag-quoted *(SP lang-tag- language-data = "LANGUAGE" SP "(" lang-tag-quoted *(SP lang-tag-
quoted) ")" quoted) ")"
namespace-trans = SP DQUOTE "TRANSLATION" DQUOTE SP "(" string ")" namespace-trans = SP DQUOTE "TRANSLATION" DQUOTE SP "(" string ")"
; the string is encoded in Modified UTF-7. ; the string is encoded in Modified UTF-7.
; this is a subset of the syntax permitted by ; this is a subset of the syntax permitted by
; the Namespace_Response_Extension rule in [RFC2342] ; the Namespace-Response-Extension rule in [RFC4466]
lang-range-quoted = astring lang-range-quoted = astring
; Once any literal wrapper or quoting is removed, this ; Once any literal wrapper or quoting is removed, this
; follows the language-range rule in [RFC4647] ; follows the language-range rule in [RFC4647]
lang-tag-quoted = astring lang-tag-quoted = astring
; Once any literal wrapper or quoting is removed, this follows ; Once any literal wrapper or quoting is removed, this follows
; the Language-Tag rule in [RFC4646] ; the Language-Tag rule in [RFC4646]
resp-text = ["[" resp-text-code "]" SP ] UTF8-TEXT-CHAR resp-text = ["[" resp-text-code "]" SP ] UTF8-TEXT-CHAR
skipping to change at page 8, line 44 skipping to change at page 8, line 46
to the current user. Once the IMAP connection enters authenticated to the current user. Once the IMAP connection enters authenticated
state, the default comparator MUST remain static for the remainder state, the default comparator MUST remain static for the remainder
of that connection. of that connection.
A server that advertises this extension MUST support UTF-8 as a A server that advertises this extension MUST support UTF-8 as a
SEARCH charset. SEARCH charset.
The COMPARATOR command is valid in authenticated and selected The COMPARATOR command is valid in authenticated and selected
states. states.
Note that since SEARCH uses the substring operation, IMAP servers
can only implement collations that offer the substring operation
(see [RFC4790 section 4.2.2). Since SORT uses ordering operation
(and by implication equality), IMAP servers which advertise the SORT
extension can only implement collations that offer all three
operations (see [RFC4790] sections 4.2.2-4).
If the active collation does not provide the operations needed by an
IMAP command, the server MUST respond with a tagged BAD.
4.2 Comparators and Character Encodings 4.2 Comparators and Character Encodings
When SEARCH, SORT, THREAD or another command needs to perform When SEARCH, SORT, THREAD or another command needs to perform
collation operations on messages (or on the command's arguments), collation operations on messages (or on the command's arguments),
the server MUST remove MIME encoding (see [RFC2047] for headers and the server MUST remove MIME encoding (see [RFC2047] for headers and
[RFC2045] for bodyparts) and convert character encodings compatibly [RFC2045] for bodyparts) and convert character encodings compatibly
before doing the collation operation. before doing the collation operation.
Strings encoded using unknown character encodings should never match Strings encoded using unknown character encodings should never match
when using the SEARCH command, and should sort together with invalid when using the SEARCH command, and should sort together with invalid
input for the SORT and THREAD commands. input (as defined by the active collation) for the SORT and THREAD
commands.
4.3 COMPARATOR Command 4.3 COMPARATOR Command
Arguments: Optional comparator order arguments. Arguments: Optional comparator order arguments.
Response: A possible COMPARATOR response (see Section 4.4). Response: A possible COMPARATOR response (see Section 4.4).
Result: OK - Command completed Result: OK - Command completed
NO - No matching comparator found NO - No matching comparator found
BAD - arguments invalid BAD - arguments invalid
The COMPARATOR command is used to determine or change the active The COMPARATOR command is used to determine or change the active
comparator. When issued with no arguments, it results in a comparator. When issued with no arguments, it results in a
COMPARATOR response indicating the currently active comparator. COMPARATOR response indicating the currently active comparator.
When issued with one or more comparator order argument, it will
change the active comparator if any comparator matches any argument.
The COMPARATOR response will list other matching comparators if more
than one matches the specified patterns.
The argument "*" refers to the server's default comparator. When issued with one or more comparator argument, it changes the
Otherwise each argument is an comparator specification as defined in active comparator as directed. (If more than one installed
comparator is matched by an argument, the first argument wins.) The
COMPARATOR response lists all matching comparators if more than one
matches the specified patterns.
The argument "default" refers to the server's default comparator.
Otherwise each argument is an collation specification as defined in
the Internet Application Protocol Comparator Registry [RFC4790]. the Internet Application Protocol Comparator Registry [RFC4790].
< The client requests activating a Czech comparator if possible, < The client requests activating a Czech comparator if possible,
or else a generic international comparator which it considers or else a generic international comparator which it considers
suitable for Czech. The server picks the first supported suitable for Czech. The server picks the first supported
comparator. > comparator. >
C: A001 COMPARATOR "cz;*" i;basic
C: A001 COMPARATOR cz;* i;basic
S: * COMPARATOR i;basic S: * COMPARATOR i;basic
S: A001 OK Will use i;basic for collation S: A001 OK Will use i;basic for collation
< The client requests pure octet matching, then does a search
for potential GIF files, then switches back to its usual
comparator. Note that this may not work on all IMAP servers,
see RFC 3501, page 50, second paragraph. >
C: B123 COMPARATOR i;octet
S: * COMPARATOR i;octet
S: B123 OK
C: B124 SEARCH OR BODY GIF87A BODY GIF89A
S: * SEARCH 42 69
S: B124 OK
C: B125 COMPARATOR cz;* i;basic
S: * COMPARATOR i;basic
S: B125 OK.
4.4 COMPARATOR Response 4.4 COMPARATOR Response
Contents: The active comparator. Contents: The active comparator.
An optional list of available matching comparators An optional list of available matching comparators
The COMPARATOR response occurs as a result of a COMPARATOR command. The COMPARATOR response occurs as a result of a COMPARATOR command.
The first argument in the comparator response is the name of the The first argument in the comparator response is the name of the
active comparator. The second argument is a list of comparators active comparator. The second argument is a list of comparators
which matched any of the arguments to the COMPARATOR command and is which matched any of the arguments to the COMPARATOR command and is
present only if more than one match is found. present only if more than one match is found.
skipping to change at page 10, line 32 skipping to change at page 10, line 32
from IMAP4rev1 [RFC3501], and Internet Application Protocol from IMAP4rev1 [RFC3501], and Internet Application Protocol
Comparator Registry [RFC4790]. Comparator Registry [RFC4790].
command-auth =/ comparator-cmd command-auth =/ comparator-cmd
resp-text-code =/ "BADCOMPARATOR" / "BADMATCH" resp-text-code =/ "BADCOMPARATOR" / "BADMATCH"
comparator-cmd = "COMPARATOR" *(SP comp-order-quoted) comparator-cmd = "COMPARATOR" *(SP comp-order-quoted)
comparator-data = "COMPARATOR" SP comp-sel-quoted [SP "(" comparator-data = "COMPARATOR" SP comp-sel-quoted [SP "("
comp-name-quoted *(SP comp-name-quoted) ")"] comp-id-quoted *(SP comp-id-quoted) ")"]
comp-name-quoted = astring comp-id-quoted = astring
; Once any literal wrapper or quoting is removed, this ; Once any literal wrapper or quoting is removed, this
; follows the collation-name rule from [RFC4790] ; follows the collation-id rule from [RFC4790]
comp-order-quoted = astring comp-order-quoted = astring
; Once any literal wrapper or quoting is removed, this ; Once any literal wrapper or quoting is removed, this
; follows the collation-order rule from [RFC4790] ; follows the collation-order rule from [RFC4790]
comp-sel-quoted = astring comp-sel-quoted = astring
; Once any literal wrapper or quoting is removed, this ; Once any literal wrapper or quoting is removed, this
; follows the collation-sel rule from [RFC4790] ; follows the collation-selected rule from [RFC4790]
5. Other IMAP Internationalization Issues 5. Other IMAP Internationalization Issues
The following sections provide an overview of various other IMAP The following sections provide an overview of various other IMAP
internationalization issues. These issues are not resolved by this internationalization issues. These issues are not resolved by this
specification, but could be resolved by other standards work, such specification, but could be resolved by other standards work, such
as that being done by the EAI group (see [IMAP-EAI]). as that being done by the EAI group (see [IMAP-EAI]).
5.1 Unicode Userids and Passwords 5.1 Unicode Userids and Passwords
skipping to change at page 12, line 10 skipping to change at page 12, line 10
Applications [RFC3490]. While IMAP clients are free to support this Applications [RFC3490]. While IMAP clients are free to support this
standard, an argument can be made that it would be helpful to simple standard, an argument can be made that it would be helpful to simple
clients if the IMAP server could perform this conversion (the same clients if the IMAP server could perform this conversion (the same
argument would apply to MIME header encoding [RFC2047]). However, argument would apply to MIME header encoding [RFC2047]). However,
it would be unwise to move forward with such work until the work in it would be unwise to move forward with such work until the work in
progress to define the format of international email addresses is progress to define the format of international email addresses is
complete. complete.
6. IANA Considerations 6. IANA Considerations
The IANA is requested to add LANGUAGE and COMPARATOR to the IMAP The IANA is requested to add LANGUAGE and COMPARATOR to the IMAP4
Extensions registry, Capabilities Registry. [Note to IANA:
http://www.iana.org/assignments/imap4-capabilities. http://www.iana.org/assignments/imap4-capabilities]
7. Security Considerations 7. Security Considerations
The LANGUAGE extension makes a new command available in "Not The LANGUAGE extension makes a new command available in "Not
Authenticated" state in IMAP. Some IMAP implementations run with Authenticated" state in IMAP. Some IMAP implementations run with
root privilege when the server is in "Not Authenticated" state and root privilege when the server is in "Not Authenticated" state and
do not revoke that privilege until after authentication is complete. do not revoke that privilege until after authentication is complete.
Such implementations are particularly vulnerable to buffer overflow Such implementations are particularly vulnerable to buffer overflow
security errors at this stage and need to implement parsing of this security errors at this stage and need to implement parsing of this
command with extra care. command with extra care.
skipping to change at page 14, line 9 skipping to change at page 14, line 9
[RFC3629] Yergeau, "UTF-8, a transformation format of ISO 10646", [RFC3629] Yergeau, "UTF-8, a transformation format of ISO 10646",
STD 63, RFC 3629, November 2003. STD 63, RFC 3629, November 2003.
[RFC4234] Crocker, Overell, "Augmented BNF for Syntax [RFC4234] Crocker, Overell, "Augmented BNF for Syntax
Specifications: ABNF", RFC 4234, Brandenburg Specifications: ABNF", RFC 4234, Brandenburg
Internetworking, Demon Internet Ltd, October 2005. Internetworking, Demon Internet Ltd, October 2005.
[RFC4422] Melnikov, Zeilenga, "Simple Authentication and Security [RFC4422] Melnikov, Zeilenga, "Simple Authentication and Security
Layer (SASL)", RFC 4422, June 2006. Layer (SASL)", RFC 4422, June 2006.
[RFC4466] Melnikov, Daboo, "Collected Extensions to IMAP4 ABNF",
RFC 4466, Isode Ltd., April 2006.
[RFC4646] Philips, Davis, "Tags for Identifying Languages", BCP 47, [RFC4646] Philips, Davis, "Tags for Identifying Languages", BCP 47,
RFC 4646, September 2006. RFC 4646, September 2006.
[RFC4647] Philips, Davis, "Matching of Language Tags", BCP 47, RFC [RFC4647] Philips, Davis, "Matching of Language Tags", BCP 47, RFC
4647, September 2006. 4647, September 2006.
[RFC4790] Newman, Duerst, Gulbrandsen, "Internet Application [RFC4790] Newman, Duerst, Gulbrandsen, "Internet Application
Protocol Comparator Registry", RFC 4790, February 2007 Protocol Comparator Registry", RFC 4790, February 2007
[SORT] Crispin, M. and K. Murchison, "INTERNET MESSAGE ACCESS
PROTOCOL - SORT AND THREAD EXTENSION", draft-ietf-
imapext-sort-18 (work in progress), November 2006.
[UCM] Crispin, "i;unicode-casemap - Simple Unicode Collation
Algorithm", draft-crispin-collation-unicasemap-04.txt,
May 2007.
Informative References Informative References
[RFC2045] Freed, Borenstein, "Multipurpose Internet Mail Extensions [RFC2045] Freed, Borenstein, "Multipurpose Internet Mail Extensions
(MIME) Part One: Format of Internet Message Bodies", RFC (MIME) Part One: Format of Internet Message Bodies", RFC
2045, November 1996. 2045, November 1996.
[RFC2047] Moore, "MIME (Multipurpose Internet Mail Extensions) Part [RFC2047] Moore, "MIME (Multipurpose Internet Mail Extensions) Part
Three: Message Header Extensions for Non-ASCII Text", RFC Three: Message Header Extensions for Non-ASCII Text", RFC
2047, November 1996. 2047, November 1996.
skipping to change at page 14, line 39 skipping to change at page 14, line 50
Extensions: Character Sets, Languages, and Extensions: Character Sets, Languages, and
Continuations", RFC 2231, November 1997. Continuations", RFC 2231, November 1997.
[RFC3490] Faltstrom, Hoffman, Costello, "Internationalizing Domain [RFC3490] Faltstrom, Hoffman, Costello, "Internationalizing Domain
Names in Applications (IDNA)", RFC 3490, March 2003. Names in Applications (IDNA)", RFC 3490, March 2003.
[RFC3492] Costello, "Punycode: A Bootstring encoding of Unicode for [RFC3492] Costello, "Punycode: A Bootstring encoding of Unicode for
Internationalized Domain Names in Applications (IDNA)", Internationalized Domain Names in Applications (IDNA)",
RFC 3492, March 2003. RFC 3492, March 2003.
[SORT] Crispin, M. and K. Murchison, "INTERNET MESSAGE ACCESS
PROTOCOL - SORT AND THREAD EXTENSION", draft-ietf-
imapext-sort-17 (work in progress), May 2004.
[METADATA] Daboo, C., "IMAP METADATA Extension", draft-daboo-imap- [METADATA] Daboo, C., "IMAP METADATA Extension", draft-daboo-imap-
annotatemore-10 (work in progress), November 2006. annotatemore-10 (work in progress), November 2006.
[UCM] Crispin,, "i;unicode-casemap - Simple Unicode Collation
Algorithm", draft-crispin-collation-unicasemap-00.txt,
December 2006.
[IMAP-EAI] Resnick, Newman, "IMAP Support for UTF-8", draft-ietf- [IMAP-EAI] Resnick, Newman, "IMAP Support for UTF-8", draft-ietf-
iea-imap-utf8 (work in progress), May 2006. eai-imap-utf8 (work in progress), May 2006.
Authors' Addresses Authors' Addresses
Chris Newman Chris Newman
Sun Microsystems Sun Microsystems
3401 Centrelake Dr., Suite 410 3401 Centrelake Dr., Suite 410
Ontario, CA 91761 Ontario, CA 91761
US US
Email: chris.newman@sun.com Email: chris.newman@sun.com
 End of changes. 29 change blocks. 
57 lines changed or deleted 60 lines changed or added

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