imapext-2007
diff docs/draft/i18n.txt @ 0:ada5e610ab86
imap-2007e
author | yuuji@gentei.org |
---|---|
date | Mon, 14 Sep 2009 15:17:45 +0900 |
parents | |
children |
line diff
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/docs/draft/i18n.txt Mon Sep 14 15:17:45 2009 +0900 1.3 @@ -0,0 +1,1140 @@ 1.4 + 1.5 + 1.6 + 1.7 + 1.8 + 1.9 + 1.10 +Network Working Group Chris Newman 1.11 +Internet-Draft Sun Microsystems 1.12 +Intended Status: Proposed Standard Arnt Gulbrandsen 1.13 + Oryx Mail Systems GmhH 1.14 + Alexey Melnikov 1.15 + Isode Limited 1.16 + February 1, 2008 1.17 + 1.18 + Internet Message Access Protocol Internationalization 1.19 + draft-ietf-imapext-i18n-15.txt 1.20 + 1.21 + 1.22 +Status of this Memo 1.23 + By submitting this Internet-Draft, each author represents that any 1.24 + applicable patent or other IPR claims of which he or she is aware 1.25 + have been or will be disclosed, and any of which he or she becomes 1.26 + aware will be disclosed, in accordance with Section 6 of BCP 79. 1.27 + 1.28 + Internet-Drafts are working documents of the Internet Engineering 1.29 + Task Force (IETF), its areas, and its working groups. Note that 1.30 + other groups may also distribute working documents as Internet- 1.31 + Drafts. 1.32 + 1.33 + Internet-Drafts are draft documents valid for a maximum of six 1.34 + months and may be updated, replaced, or obsoleted by other documents 1.35 + at any time. It is inappropriate to use Internet-Drafts as 1.36 + reference material or to cite them other than as "work in progress". 1.37 + 1.38 + The list of current Internet-Drafts can be accessed at 1.39 + http://www.ietf.org/ietf/1id-abstracts.txt. The list of Internet- 1.40 + Draft Shadow Directories can be accessed at 1.41 + http://www.ietf.org/shadow.html. 1.42 + 1.43 + This Internet-Draft expires in August 2008. 1.44 + 1.45 + 1.46 +Copyright Notice 1.47 + 1.48 + Copyright (C) The IETF Trust (2008). 1.49 + 1.50 + 1.51 +Abstract 1.52 + 1.53 + Internet Message Access Protocol (IMAP) version 4rev1 has basic 1.54 + support for non-ASCII characters in mailbox names and search 1.55 + substrings. It also supports non-ASCII message headers and content 1.56 + encoded as specified by Multipurpose Internet Mail Extensions 1.57 + (MIME). This specification defines a collection of IMAP extensions 1.58 + 1.59 + 1.60 + 1.61 +Newman & Co Expires August 2008 FF[Page 1] 1.62 + 1.63 + 1.64 + 1.65 + 1.66 + 1.67 +Internet-draft February 2008 1.68 + 1.69 + 1.70 + which improve international support including comparator negotiation 1.71 + for search, sort and thread, language negotiation for international 1.72 + error text, and translations for namespace prefixes. 1.73 + 1.74 + 1.75 +Table of Contents 1.76 + 1.77 + 1. Conventions Used in this Document . . . . . . . . . . . . . . 2 1.78 + 2. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 1.79 + 3. LANGUAGE Extension . . . . . . . . . . . . . . . . . . . . . 3 1.80 + 3.1 LANGUAGE Extension Requirements . . . . . . . . . . . . . . . 3 1.81 + 3.2 LANGUAGE Command . . . . . . . . . . . . . . . . . . . . . . 4 1.82 + 3.3 LANGUAGE Response . . . . . . . . . . . . . . . . . . . . . . 6 1.83 + 3.4 TRANSLATION Extension to the NAMESPACE Response . . . . . . . 6 1.84 + 3.5 Formal Syntax . . . . . . . . . . . . . . . . . . . . . . . . 6 1.85 + 4. I18NLEVEL=1 and I18NLEVEL=2 Extensions . . . . . . . . . . . 7 1.86 + 4.1 Introduction and Overview . . . . . . . . . . . . . . . . . . 8 1.87 + 4.2 Requirements common to both I18NLEVEL=1 and I18NLEVEL=2 . . . 1.88 + 4.3 I18NLEVEL=1 Extension Requirements . . . . . . . . . . . . . 8 1.89 + 4.4 I18NLEVEL=2 Extension Requirements . . . . . . . . . . . . . 8 1.90 + 4.5 Compatibility Notes 1.91 + 4.6 Comparators and Charsets . . . . . . . . . . . . . . . . . . 9 1.92 + 4.7 COMPARATOR Command . . . . . . . . . . . . . . . . . . . . . 9 1.93 + 4.8 COMPARATOR Response . . . . . . . . . . . . . . . . . . . . . 10 1.94 + 4.9 BADCOMPARATOR Response Code . . . . . . . . . . . . . . . . . 1.95 + 4.10 Formal Syntax . . . . . . . . . . . . . . . . . . . . . . . 10 1.96 + 5. Other IMAP Internationalization Issues . . . . . . . . . . . 11 1.97 + 5.1 UTF-8 Userids and Passwords . . . . . . . . . . . . . . . . . 11 1.98 + 5.2 UTF-8 Mailbox Names . . . . . . . . . . . . . . . . . . . . . 11 1.99 + 5.3 UTF-8 Domains, Addresses and Mail Headers . . . . . . . . . . 11 1.100 + 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12 1.101 + 7. Security Considerations . . . . . . . . . . . . . . . . . . . 12 1.102 + 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 12 1.103 + 9. Relevant Standards for i18n IMAP Implementations . . . . . . 13 1.104 + Normative References . . . . . . . . . . . . . . . . . . . . 13 1.105 + Informative References . . . . . . . . . . . . . . . . . . . 14 1.106 + Authors' Addresses . . . . . . . . . . . . . . . . . . . . . 15 1.107 + Intellectual Property and Copyright Statements . . . . . . . 16 1.108 + 1.109 + 1.110 +Conventions Used in This Document 1.111 + 1.112 + The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 1.113 + "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 1.114 + document are to be interpreted as described in [RFC2119]. 1.115 + 1.116 + The formal syntax use the Augmented Backus-Naur Form (ABNF) 1.117 + [RFC4234] notation including the core rules defined in Appendix A. 1.118 + 1.119 + 1.120 + 1.121 +Newman & Co Expires August 2008 FF[Page 2] 1.122 + 1.123 + 1.124 + 1.125 + 1.126 + 1.127 +Internet-draft February 2008 1.128 + 1.129 + 1.130 + The UTF8-related productions are defined in [RFC3629]. 1.131 + 1.132 + In examples, "C:" and "S:" indicate lines sent by the client and 1.133 + server respectively. If a single "C:" or "S:" label applies to 1.134 + multiple lines, then the line breaks between those lines are for 1.135 + editorial clarity only and are not part of the actual protocol 1.136 + exchange. 1.137 + 1.138 + 1.139 +2. Introduction 1.140 + 1.141 + This specification defines two IMAP4rev1 [RFC3501] extensions to 1.142 + enhance international support. These extensions can be advertised 1.143 + and implemented separately. 1.144 + 1.145 + The LANGUAGE extension allows the client to request a suitable 1.146 + language for protocol error messages and in combination with the 1.147 + NAMESPACE extension [RFC2342] enables namespace translations. 1.148 + 1.149 + The I18NLEVEL=2 extension allows the client to request a suitable 1.150 + collation which will modify the behavior of the base specification's 1.151 + SEARCH command as well as the SORT and THREAD extensions [SORT]. 1.152 + This leverages the collation registry [RFC4790]. 1.153 + 1.154 + 1.155 +3. LANGUAGE Extension 1.156 + 1.157 + IMAP allows server responses to include human-readable text that in 1.158 + many cases needs to be presented to the user. But that text is 1.159 + limited to US-ASCII by the IMAP specification [RFC3501] in order to 1.160 + preserve backwards compatibility with deployed IMAP implementations. 1.161 + This section specifies a way for an IMAP client to negotiate which 1.162 + language the server should use when sending human-readable text. 1.163 + 1.164 + The LANGUAGE extension only provides a mechanism for altering fixed 1.165 + server strings such as response text and NAMESPACE folder names. 1.166 + Assigning localized language aliases to shared mailboxes would be 1.167 + done with a separate mechanism such as the proposed METADATA 1.168 + extension (see [METADATA]). 1.169 + 1.170 + 1.171 +3.1 LANGUAGE Extension Requirements 1.172 + 1.173 + IMAP servers that support this extension MUST list the keyword 1.174 + LANGUAGE in their CAPABILITY response as well as in the greeting 1.175 + CAPABILITY data. 1.176 + 1.177 + A server that advertises this extension MUST use the language "i- 1.178 + 1.179 + 1.180 + 1.181 +Newman & Co Expires August 2008 FF[Page 3] 1.182 + 1.183 + 1.184 + 1.185 + 1.186 + 1.187 +Internet-draft February 2008 1.188 + 1.189 + 1.190 + default" as described in [RFC2277] as its default language until 1.191 + another supported language is negotiated by the client. A server 1.192 + MUST include "i-default" as one of its supported languages. 1.193 + 1.194 + Clients and servers that support this extension MUST also support 1.195 + the NAMESPACE extension [RFC2342]. 1.196 + 1.197 + The LANGUAGE command is valid in all states. Clients are urged to 1.198 + issue LANGUAGE before authentication, since some servers send 1.199 + valuable user information as part of authentication (e.g. "password 1.200 + is correct, but expired"). If a security layer (such as SASL or 1.201 + TLS) is subsequently negotiated by the client, it MUST re-issue the 1.202 + LANGUAGE command in order to make sure that no previous active 1.203 + attack (if any) on LANGUAGE negotiation has effect on subsequent 1.204 + error messages. (See Section 7 for a more detailed explanation of 1.205 + the attack.) 1.206 + 1.207 + 1.208 + 1.209 +3.2 LANGUAGE Command 1.210 + 1.211 + Arguments: Optional language range arguments. 1.212 + 1.213 + Response: A possible LANGUAGE response (see section 3.3). 1.214 + A possible NAMESPACE response (see section 3.4). 1.215 + 1.216 + Result: OK - Command completed 1.217 + NO - Could not complete command 1.218 + BAD - arguments invalid 1.219 + 1.220 + The LANGUAGE command requests that human-readable text emitted by 1.221 + the server be localized to a language matching one of the language 1.222 + range argument as described by section 2 of [RFC4647]. 1.223 + 1.224 + If the command succeeds, the server will return human-readable 1.225 + responses in the first supported language specified. These 1.226 + responses will be in UTF-8 [RFC3629]. The server MUST send a 1.227 + LANGUAGE response specifying the language used, and the change takes 1.228 + effect immediately after the LANGUAGE response. 1.229 + 1.230 + If the command fails, the server continues to return human-readable 1.231 + responses in the language it was previously using. 1.232 + 1.233 + The special "default" language range argument indicates a request to 1.234 + use a language designated as preferred by the server administrator. 1.235 + The preferred language MAY vary based on the currently active user. 1.236 + 1.237 + If a language range does not match a known language tag exactly but 1.238 + 1.239 + 1.240 + 1.241 +Newman & Co Expires August 2008 FF[Page 4] 1.242 + 1.243 + 1.244 + 1.245 + 1.246 + 1.247 +Internet-draft February 2008 1.248 + 1.249 + 1.250 + does match a language by the rules of [RFC4647], the server MUST 1.251 + send an untagged LANGUAGE response indicating the language selected. 1.252 + 1.253 + If there aren't any arguments, the server SHOULD send an untagged 1.254 + LANGUAGE response listing the languages it supports. If the server 1.255 + is unable to enumerate the list of languages it supports it MAY 1.256 + return a tagged NO response to the enumeration request. 1.257 + 1.258 + < The server defaults to using English i-default responses until 1.259 + the user explicitly changes the language. > 1.260 + 1.261 + C: A001 LOGIN KAREN PASSWORD 1.262 + S: A001 OK LOGIN completed 1.263 + 1.264 + < Client requested MUL language, which no server supports. > 1.265 + 1.266 + C: A002 LANGUAGE MUL 1.267 + S: A002 NO Unsupported language MUL 1.268 + 1.269 + < A LANGUAGE command with no arguments is a request to enumerate 1.270 + the list of languages the server supports. > 1.271 + 1.272 + C: A003 LANGUAGE 1.273 + S: * LANGUAGE (EN DE IT i-default) 1.274 + S: A003 OK Supported languages have been enumerated 1.275 + 1.276 + C: B001 LANGUAGE 1.277 + S: B001 NO Server is unable to enumerate supported languages 1.278 + 1.279 + < Once the client changes the language, all responses will be in 1.280 + that language starting after the LANGUAGE response. Note that 1.281 + this includes the NAMESPACE response. Because RFCs are in US- 1.282 + ASCII, this document uses an ASCII transcription rather than 1.283 + UTF-8 text, e.g. ue in the word "ausgefuehrt" > 1.284 + 1.285 + C: C001 LANGUAGE DE 1.286 + S: * LANGUAGE (DE) 1.287 + S: * NAMESPACE (("" "/")) (("Other Users/" "/" "TRANSLATION" 1.288 + ("Andere Ben&APw-tzer/"))) (("Public Folders/" "/" 1.289 + "TRANSLATION" ("Gemeinsame Postf&AM8-cher/"))) 1.290 + S: C001 OK Sprachwechsel durch LANGUAGE-Befehl ausgefuehrt 1.291 + 1.292 + < If a server does not support the requested primary language, 1.293 + responses will continue to be returned in the current language 1.294 + the server is using. > 1.295 + 1.296 + C: D001 LANGUAGE FR 1.297 + S: D001 NO Diese Sprache ist nicht unterstuetzt 1.298 + 1.299 + 1.300 + 1.301 +Newman & Co Expires August 2008 FF[Page 5] 1.302 + 1.303 + 1.304 + 1.305 + 1.306 + 1.307 +Internet-draft February 2008 1.308 + 1.309 + 1.310 + C: D002 LANGUAGE DE-IT 1.311 + S: * LANGUAGE (DE-IT) 1.312 + S: * NAMESPACE (("" "/"))(("Other Users/" "/" "TRANSLATION" 1.313 + ("Andere Ben&APw-tzer/"))) (("Public Folders/" "/" 1.314 + "TRANSLATION" ("Gemeinsame Postf&AM8-cher/"))) 1.315 + S: D002 OK Sprachwechsel durch LANGUAGE-Befehl ausgefuehrt 1.316 + C: D003 LANGUAGE "default" 1.317 + S: * LANGUAGE (DE) 1.318 + S: D003 OK Sprachwechsel durch LANGUAGE-Befehl ausgefuehrt 1.319 + 1.320 + < Server does not speak French, but does speak English. User 1.321 + speaks Canadian French and Canadian English. > 1.322 + 1.323 + C: E001 LANGUAGE FR-CA EN-CA 1.324 + S: * LANGUAGE (EN) 1.325 + S: E001 OK Now speaking English 1.326 + 1.327 + 1.328 + 1.329 +3.3 LANGUAGE Response 1.330 + 1.331 + Contents: A list of one or more language tags. 1.332 + 1.333 + The LANGUAGE response occurs as a result of a LANGUAGE command. A 1.334 + LANGUAGE response with a list containing a single language tag 1.335 + indicates that the server is now using that language. A LANGUAGE 1.336 + response with a list containing multiple language tags indicates the 1.337 + server is communicating a list of available languages to the client, 1.338 + and no change in the active language has been made. 1.339 + 1.340 + 1.341 +3.4 TRANSLATION Extension to the NAMESPACE Response 1.342 + 1.343 + If localized representations of the namespace prefixes are available 1.344 + in the selected language, the server SHOULD include these in the 1.345 + TRANSLATION extension to the NAMESPACE response. 1.346 + 1.347 + The TRANSLATION extension to the NAMESPACE response returns a single 1.348 + string, containing the modified UTF-7 [RFC3501] encoded translation 1.349 + of the namespace prefix. It is the responsibility of the client to 1.350 + convert between the namespace prefix and the translation of the 1.351 + namespace prefix when presenting mailbox names to the user. 1.352 + 1.353 + In this example a server supports the IMAP4 NAMESPACE command. It 1.354 + uses no prefix to the user's Personal Namespace, a prefix of "Other 1.355 + Users" to its Other Users' Namespace and a prefix of "Public 1.356 + Folders" to its only Shared Namespace. Since a client will often 1.357 + display these prefixes to the user, the server includes a 1.358 + 1.359 + 1.360 + 1.361 +Newman & Co Expires August 2008 FF[Page 6] 1.362 + 1.363 + 1.364 + 1.365 + 1.366 + 1.367 +Internet-draft February 2008 1.368 + 1.369 + 1.370 + translation of them that can be presented to the user. 1.371 + 1.372 + C: A001 LANGUAGE DE-IT 1.373 + S: * NAMESPACE (("" "/")) (("Other Users/" "/" "TRANSLATION" 1.374 + ("Andere Ben&APw-tzer/"))) (("Public Folders/" "/" 1.375 + "TRANSLATION" ("Gemeinsame Postf&AM8-cher/"))) 1.376 + S: A001 OK LANGUAGE-Befehl ausgefuehrt 1.377 + 1.378 + 1.379 +3.5 Formal Syntax 1.380 + 1.381 + The following syntax specification inherits ABNF [RFC4234] rules 1.382 + from IMAP4rev1 [RFC3501], IMAP4 Namespace [RFC2342], Tags for the 1.383 + Identifying Languages [RFC4646], UTF-8 [RFC3629] and Collected 1.384 + Extensions to IMAP4 ABNF [RFC4466]. 1.385 + 1.386 + command-any =/ language-cmd 1.387 + ; LANGUAGE command is valid in all states 1.388 + 1.389 + language-cmd = "LANGUAGE" *(SP lang-range-quoted) 1.390 + 1.391 + response-payload =/ language-data 1.392 + 1.393 + language-data = "LANGUAGE" SP "(" lang-tag-quoted *(SP 1.394 + lang-tag-quoted) ")" 1.395 + 1.396 + namespace-trans = SP DQUOTE "TRANSLATION" DQUOTE SP "(" string ")" 1.397 + ; the string is encoded in Modified UTF-7. 1.398 + ; this is a subset of the syntax permitted by 1.399 + ; the Namespace-Response-Extension rule in [RFC4466] 1.400 + 1.401 + lang-range-quoted = astring 1.402 + ; Once any literal wrapper or quoting is removed, this 1.403 + ; follows the language-range rule in [RFC4647] 1.404 + 1.405 + lang-tag-quoted = astring 1.406 + ; Once any literal wrapper or quoting is removed, this follows 1.407 + ; the Language-Tag rule in [RFC4646] 1.408 + 1.409 + resp-text = ["[" resp-text-code "]" SP ] UTF8-TEXT-CHAR 1.410 + *(UTF8-TEXT-CHAR / "[") 1.411 + ; After the server is changed to a language other than 1.412 + ; i-default, this resp-text rule replaces the resp-text 1.413 + ; rule from [RFC3501]. 1.414 + 1.415 + UTF8-TEXT-CHAR = %x20-5A / %x5C-7E / UTF8-2 / UTF8-3 / UTF8-4 1.416 + ; UTF-8 excluding 7-bit control characters and "[" 1.417 + 1.418 + 1.419 + 1.420 + 1.421 +Newman & Co Expires August 2008 FF[Page 7] 1.422 + 1.423 + 1.424 + 1.425 + 1.426 + 1.427 +Internet-draft February 2008 1.428 + 1.429 + 1.430 +4. I18NLEVEL=1 and I18NLEVEL=2 Extensions 1.431 + 1.432 + 1.433 +4.1 Introduction and Overview 1.434 + 1.435 + IMAP4rev1 [RFC3501] includes the SEARCH command which can be used to 1.436 + locate messages matching criteria including human-readable text. 1.437 + The SORT extension [SORT] to IMAP allows the client to ask the 1.438 + server to determine the order of messages based on criteria 1.439 + including human-readable text. These mechanisms require the ability 1.440 + to support non-English search and sort functions. 1.441 + 1.442 + Section 4 defines two IMAP extensions for internationalizing IMAP 1.443 + SEARCH, SORT and THREAD [SORT] using the comparator framework 1.444 + [RFC4790]. 1.445 + 1.446 + The I18NLEVEL=1 extension updates SEARCH/SORT/THREAD to use 1.447 + i;unicode-casemap comparator, as defined in [UCM]. See Sections 4.2 1.448 + and 4.3 for more details. 1.449 + 1.450 + The I18NLEVEL=2 extension is a superset of the I18NLEVEL=1 1.451 + extension. It adds to I18NLEVEL=1 extension the ability to determine 1.452 + the active comparator (see definition below) and negotiate use of 1.453 + comparators using the COMPARATOR command. It also adds the 1.454 + COMPARATOR response that indicates the active comparator and 1.455 + possibly other available comparators. See Sections 4.2 and 4.4 for 1.456 + more details. 1.457 + 1.458 + 1.459 +4.2 Requirements common to both I18NLEVEL=1 and I18NLEVEL=2 1.460 + 1.461 + The term "default comparator" refers to the comparator which is used 1.462 + by SEARCH and SORT absent any negotiation using the COMPARATOR (see 1.463 + Section 4.7) command. The term "active comparator" refers to the 1.464 + comparator which will be used within a session e.g. by SEARCH and 1.465 + SORT. The COMPARATOR command is used to change the active 1.466 + comparator. 1.467 + 1.468 + The active comparator applies to the following SEARCH keys: "BCC", 1.469 + "BODY", "CC", "FROM", "SUBJECT", "TEXT", "TO" and "HEADER". If the 1.470 + server also advertises the "SORT" extension, then the active 1.471 + comparator applies to the following SORT keys: "CC", "FROM", 1.472 + "SUBJECT" and "TO". If the server advertises THREAD=ORDEREDSUBJECT, 1.473 + then the active comparator applies to the ORDEREDSUBJECT threading 1.474 + algorithm. If the server advertises THREAD=REFERENCES, then the 1.475 + active comparator applies to the subject field comparisons done by 1.476 + REFERENCES threading algorithm. Future extensions may choose to 1.477 + apply the active comparator to their SEARCH keys. 1.478 + 1.479 + 1.480 + 1.481 +Newman & Co Expires August 2008 FF[Page 8] 1.482 + 1.483 + 1.484 + 1.485 + 1.486 + 1.487 +Internet-draft February 2008 1.488 + 1.489 + 1.490 + For SORT and THREAD, the pre-processing necessary to extract the 1.491 + base subject text from a Subject header occurs prior to the 1.492 + application of a comparator. 1.493 + 1.494 + A server that advertises I18NLEVEL=1 or I18NLEVEL=2 extension MUST 1.495 + implement the i;unicode-casemap comparator, as defined in [UCM]. 1.496 + 1.497 + A server that advertises I18NLEVEL=1 or I18NLEVEL=2 extension MUST 1.498 + support UTF-8 as a SEARCH charset. 1.499 + 1.500 + 1.501 +4.3 I18NLEVEL=1 Extension Requirements 1.502 + 1.503 + An IMAP server that satisfies all requirements specified in sections 1.504 + 4.2 and 4.6 (and doesn't support/advertise any other I18NLEVEL=<n> 1.505 + extension, where n > 1) MUST list the keyword I18NLEVEL=1 in its 1.506 + CAPABILITY data once IMAP enters the authenticated state, and MAY 1.507 + list that keyword in other states. 1.508 + 1.509 + 1.510 + 1.511 +4.4 I18NLEVEL=2 Extension Requirements 1.512 + 1.513 + IMAP server that satisfies all requirements specified in sections 1.514 + 4.2, 4.4, 4.6-4.10 (and doesn't support/advertise any other 1.515 + I18NLEVEL=<n> extension, where n > 2) MUST list the keyword 1.516 + I18NLEVEL=2 in its CAPABILITY data once IMAP enters the 1.517 + authenticated state, and MAY list that keyword in other states. 1.518 + 1.519 + A server that advertises this extension MUST implement the 1.520 + i;unicode-casemap comparator, as defined in [UCM]. It MAY implement 1.521 + other comparators from the IANA registry established by [RFC4790]. 1.522 + See also section 4.5 of this document. 1.523 + 1.524 + A server that advertises this extension SHOULD use i;unicode-casemap 1.525 + as the default comparator. (Note that i;unicode-casemap is the 1.526 + default comparator for I18NLEVEL=1, but not necessarily the default 1.527 + for I18NLEVEL=2.) The selection of the default comparator MAY be 1.528 + adjustable by the server administrator, and MAY be sensitive to the 1.529 + current user. Once the IMAP connection enters authenticated state, 1.530 + the default comparator MUST remain static for the remainder of that 1.531 + connection. 1.532 + 1.533 + Note that since SEARCH uses the substring operation, IMAP servers 1.534 + can only implement collations that offer the substring operation 1.535 + (see [RFC4790 section 4.2.2). Since SORT uses ordering operation 1.536 + (and by implication equality), IMAP servers which advertise the SORT 1.537 + extension can only implement collations that offer all three 1.538 + 1.539 + 1.540 + 1.541 +Newman & Co Expires August 2008 FF[Page 9] 1.542 + 1.543 + 1.544 + 1.545 + 1.546 + 1.547 +Internet-draft February 2008 1.548 + 1.549 + 1.550 + operations (see [RFC4790] sections 4.2.2-4). 1.551 + 1.552 + If the active collation does not provide the operations needed by an 1.553 + IMAP command, the server MUST respond with a tagged BAD. 1.554 + 1.555 + 1.556 +4.5 Compatibility Notes 1.557 + 1.558 + Several server implementations deployed prior to the publication of 1.559 + this specification comply with I18NLEVEL=1 (see section 4.3), but do 1.560 + not advertise that. Other legacy servers use the i;ascii-casemap 1.561 + (see [RFC4790]) comparator. 1.562 + 1.563 + There is no good way for a client to know which comparator that a 1.564 + legacy server uses. If the client has to assume the worst, it may 1.565 + end up doing expensive local operations to obtain i;unicode-casemap 1.566 + comparisons even though the server implements it. 1.567 + 1.568 + Legacy server implementations which comply with I18NLEVEL=1 should 1.569 + be updated to advertise I18NLEVEL=1. All server implementations 1.570 + should eventually be updated to comply with the I18NLEVEL=2 1.571 + extension. 1.572 + 1.573 + 1.574 +4.6 Comparators and Character Encodings 1.575 + 1.576 + RFC 3501, section 6.4.4 says: 1.577 + 1.578 + In all search keys that use strings, a message matches 1.579 + the key if the string is a substring of the field. The 1.580 + matching is case-insensitive. 1.581 + 1.582 + When performing the SEARCH operation, the active comparator is 1.583 + applied instead of the case-insensitive matching specified above. 1.584 + 1.585 + An IMAP server which performs collation operations (e.g., as part of 1.586 + commands such as SEARCH, SORT, THREAD) does so according to the 1.587 + following procedure: 1.588 + 1.589 + (a) MIME encoding (for example see [RFC2047] for headers and 1.590 + [RFC2045] for body parts) MUST be removed in the texts being 1.591 + collated. 1.592 + 1.593 + If MIME encoding removal fails for a message (e.g., a body part 1.594 + of the message has an unsupported Content-Transfer-Encoding, 1.595 + uses characters not allowed by the Content-Transfer-Encoding, 1.596 + etc.), the collation of this message is undefined by this 1.597 + specification, and is handled in an implementation-dependent 1.598 + 1.599 + 1.600 + 1.601 +Newman & Co Expires August 2008 FF[Page 10] 1.602 + 1.603 + 1.604 + 1.605 + 1.606 + 1.607 +Internet-draft February 2008 1.608 + 1.609 + 1.610 + manner. 1.611 + 1.612 + (b) The decoded text from (a) MUST be converted to the charset 1.613 + expected by the active comparator. 1.614 + 1.615 + (c) For the substring operation: 1.616 + If step (b) failed (e.g., the text is in an unknown charset, 1.617 + contains a sequence which is not valid according in that 1.618 + charset, etc.), the original decoded text from (a) (i.e., 1.619 + before the charset conversion attempt) is collated using the 1.620 + i;octet comparator (see [RFC4790]). 1.621 + 1.622 + If step (b) was successful, the converted text from (b) is 1.623 + collated according to the active comparator. 1.624 + 1.625 + 1.626 + For the ordering operation: 1.627 + 1.628 + All strings that were successfully converted by step (b) are 1.629 + separated from all strings that failed step (b). Strings in 1.630 + each group are collated independently. All strings successfully 1.631 + converted by step (b) are then validated by the active 1.632 + comparator. Strings that pass validation are collated using the 1.633 + active comparator. All strings that either fail step (b) or fail 1.634 + the active collation's validity operation are collated (after 1.635 + applying step (a)) using the i;octet comparator (see [RFC4790]). 1.636 + The resulting sorted list is produced by appending all collated 1.637 + "failed" strings after all strings collated using the active 1.638 + comparator. 1.639 + 1.640 + 1.641 + Example: The following example demonstrates ordering of 4 1.642 + different strings using i;unicode-casemap [UCM] comparator. 1.643 + Strings are represented using hexadecimal notation used by 1.644 + ABNF [RFC4234]. 1.645 + 1.646 + (1) %xD0 %xC0 %xD0 %xBD %xD0 %xB4 %xD1 %x80 %xD0 %xB5 1.647 + %xD0 %xB9 (labeled with charset=UTF-8) 1.648 + (2) %xD1 %x81 %xD0 %x95 %xD0 %xA0 %xD0 %x93 %xD0 %x95 1.649 + %xD0 %x99 (labeled with charset=UTF-8) 1.650 + (3) %xD0 %x92 %xD0 %xB0 %xD1 %x81 %xD0 %xB8 %xD0 %xBB 1.651 + %xD0 %xB8 %xFF %xB9 (labeled with charset=UTF-8) 1.652 + (4) %xE1 %xCC %xC5 %xCB %xD3 %xC5 %xCA (labeled with 1.653 + charset=KOI8-R) 1.654 + 1.655 + Step (b) will convert string # 4 to the following 1.656 + sequence of octets (in UTF-8): 1.657 + 1.658 + 1.659 + 1.660 + 1.661 +Newman & Co Expires August 2008 FF[Page 11] 1.662 + 1.663 + 1.664 + 1.665 + 1.666 + 1.667 +Internet-draft February 2008 1.668 + 1.669 + 1.670 + %xD0 %x90 %xD0 %xBB %xD0 %xB5 %xD0 %xBA %xD1 %x81 %xD0 1.671 + %xB5 %xD0 %xB9 1.672 + 1.673 + and will reject strings (1) and (3), as they contain 1.674 + octets not allowed in charset=UTF-8. 1.675 + After that, using the i;unicode-casemap collation, 1.676 + string (4) will collate before string (2). Using the 1.677 + i;octet collation on the original strings, string (3) 1.678 + will collate before string (1). So the final ordering 1.679 + is as follows: (4) (2) (3) (1). 1.680 + 1.681 + If the substring operation (e.g., IMAP SEARCH) of the active 1.682 + comparator returns the "undefined" result (see section 4.2.3 of 1.683 + [RFC4790]) for either the text specified in the SEARCH command or 1.684 + the message text, then the operation is repeated on the result of 1.685 + step (a) using the i;octet comparator. 1.686 + 1.687 + The ordering operation (e.g., IMAP SORT and THREAD) SHOULD collate 1.688 + the following together: strings encoded using unknown or invalid 1.689 + character encodings, strings in unrecognized charsets, and invalid 1.690 + input (as defined by the active collation). 1.691 + 1.692 + 1.693 + 1.694 +4.7 COMPARATOR Command 1.695 + 1.696 + Arguments: Optional comparator order arguments. 1.697 + 1.698 + Response: A possible COMPARATOR response (see Section 4.8). 1.699 + 1.700 + Result: OK - Command completed 1.701 + NO - No matching comparator found 1.702 + BAD - arguments invalid 1.703 + 1.704 + The COMPARATOR command is valid in authenticated and selected 1.705 + states. 1.706 + 1.707 + The COMPARATOR command is used to determine or change the active 1.708 + comparator. When issued with no arguments, it results in a 1.709 + COMPARATOR response indicating the currently active comparator. 1.710 + 1.711 + When issued with one or more comparator argument, it changes the 1.712 + active comparator as directed. (If more than one installed 1.713 + comparator is matched by an argument, the first argument wins.) The 1.714 + COMPARATOR response lists all matching comparators if more than one 1.715 + matches the specified patterns. 1.716 + 1.717 + The argument "default" refers to the server's default comparator. 1.718 + 1.719 + 1.720 + 1.721 +Newman & Co Expires August 2008 FF[Page 12] 1.722 + 1.723 + 1.724 + 1.725 + 1.726 + 1.727 +Internet-draft February 2008 1.728 + 1.729 + 1.730 + Otherwise each argument is an collation specification as defined in 1.731 + the Internet Application Protocol Comparator Registry [RFC4790]. 1.732 + 1.733 + < The client requests activating a Czech comparator if possible, 1.734 + or else a generic international comparator which it considers 1.735 + suitable for Czech. The server picks the first supported 1.736 + comparator. > 1.737 + 1.738 + C: A001 COMPARATOR "cz;*" i;basic 1.739 + S: * COMPARATOR i;basic 1.740 + S: A001 OK Will use i;basic for collation 1.741 + 1.742 + 1.743 +4.8 COMPARATOR Response 1.744 + 1.745 + Contents: The active comparator. 1.746 + An optional list of available matching comparators 1.747 + 1.748 + The COMPARATOR response occurs as a result of a COMPARATOR command. 1.749 + The first argument in the comparator response is the name of the 1.750 + active comparator. The second argument is a list of comparators 1.751 + which matched any of the arguments to the COMPARATOR command and is 1.752 + present only if more than one match is found. 1.753 + 1.754 + 1.755 +4.9 BADCOMPARATOR response code 1.756 + 1.757 + This response code SHOULD be returned as a result of server failing 1.758 + an IMAP command (returning NO), when the server knows that none of 1.759 + the specified comparators match the requested comparator(s). 1.760 + 1.761 + 1.762 +4.10 Formal Syntax 1.763 + 1.764 + The following syntax specification inherits ABNF [RFC4234] rules 1.765 + from IMAP4rev1 [RFC3501], and Internet Application Protocol 1.766 + Comparator Registry [RFC4790]. 1.767 + 1.768 + command-auth =/ comparator-cmd 1.769 + 1.770 + resp-text-code =/ "BADCOMPARATOR" 1.771 + 1.772 + comparator-cmd = "COMPARATOR" *(SP comp-order-quoted) 1.773 + 1.774 + response-payload =/ comparator-data 1.775 + 1.776 + comparator-data = "COMPARATOR" SP comp-sel-quoted [SP "(" 1.777 + comp-id-quoted *(SP comp-id-quoted) ")"] 1.778 + 1.779 + 1.780 + 1.781 +Newman & Co Expires August 2008 FF[Page 13] 1.782 + 1.783 + 1.784 + 1.785 + 1.786 + 1.787 +Internet-draft February 2008 1.788 + 1.789 + 1.790 + comp-id-quoted = astring 1.791 + ; Once any literal wrapper or quoting is removed, this 1.792 + ; follows the collation-id rule from [RFC4790] 1.793 + 1.794 + comp-order-quoted = astring 1.795 + ; Once any literal wrapper or quoting is removed, this 1.796 + ; follows the collation-order rule from [RFC4790] 1.797 + 1.798 + comp-sel-quoted = astring 1.799 + ; Once any literal wrapper or quoting is removed, this 1.800 + ; follows the collation-selected rule from [RFC4790] 1.801 + 1.802 + 1.803 +5. Other IMAP Internationalization Issues 1.804 + 1.805 + The following sections provide an overview of various other IMAP 1.806 + internationalization issues. These issues are not resolved by this 1.807 + specification, but could be resolved by other standards work, such 1.808 + as that being done by the EAI group (see [IMAP-EAI]). 1.809 + 1.810 + 1.811 +5.1 Unicode Userids and Passwords 1.812 + 1.813 + IMAP4rev1 currently restricts the userid and password fields of the 1.814 + LOGIN command to US-ASCII. The "userid" and "password" fields of the 1.815 + IMAP LOGIN command are restricted to US-ASCII only until a future 1.816 + standards track RFC states otherwise. Servers are encouraged to 1.817 + validate both fields to make sure they conform to the formal syntax 1.818 + of UTF-8 and to reject the LOGIN command if that syntax is violated. 1.819 + Servers MAY reject the use of any 8-bit in the "userid" or 1.820 + "password" field. 1.821 + 1.822 + When AUTHENTICATE is used, some servers may support userids and 1.823 + passwords in Unicode [RFC3490] since SASL (see [RFC4422]) allows 1.824 + that. However, such userids cannot be used as part of email 1.825 + addresses. 1.826 + 1.827 + 1.828 +5.2 UTF-8 Mailbox Names 1.829 + 1.830 + The modified UTF-7 mailbox naming convention described in section 1.831 + 5.1.3 of RFC 3501 is best viewed as an transition from the status 1.832 + quo in 1996 when modified UTF-7 was first specified. At that time, 1.833 + there was widespread unofficial use of local character sets such as 1.834 + ISO-8859-1 and Shift-JIS for non-ASCII mailbox names, with resultant 1.835 + non-interoperability. 1.836 + 1.837 + The requirements in section 5.1 of RFC 3501 are very important if 1.838 + 1.839 + 1.840 + 1.841 +Newman & Co Expires August 2008 FF[Page 14] 1.842 + 1.843 + 1.844 + 1.845 + 1.846 + 1.847 +Internet-draft February 2008 1.848 + 1.849 + 1.850 + we're ever going to be able to deploy UTF-8 mailbox names. Servers 1.851 + are encouraged to enforce them. 1.852 + 1.853 + 1.854 +5.3 UTF-8 Domains, Addresses and Mail Headers 1.855 + 1.856 + There is now an IETF standard for Internationalizing Domain Names in 1.857 + Applications [RFC3490]. While IMAP clients are free to support this 1.858 + standard, an argument can be made that it would be helpful to simple 1.859 + clients if the IMAP server could perform this conversion (the same 1.860 + argument would apply to MIME header encoding [RFC2047]). However, 1.861 + it would be unwise to move forward with such work until the work in 1.862 + progress to define the format of international email addresses is 1.863 + complete. 1.864 + 1.865 + 1.866 +6. IANA Considerations 1.867 + 1.868 + The IANA is requested to add LANGUAGE, I18NLEVEL=1 and I18NLEVEL=2 1.869 + to the IMAP4 Capabilities Registry. [Note to IANA: 1.870 + http://www.iana.org/assignments/imap4-capabilities] 1.871 + 1.872 + 1.873 +7. Security Considerations 1.874 + 1.875 + The LANGUAGE extension makes a new command available in "Not 1.876 + Authenticated" state in IMAP. Some IMAP implementations run with 1.877 + root privilege when the server is in "Not Authenticated" state and 1.878 + do not revoke that privilege until after authentication is complete. 1.879 + Such implementations are particularly vulnerable to buffer overflow 1.880 + security errors at this stage and need to implement parsing of this 1.881 + command with extra care. 1.882 + 1.883 + A LANGUAGE command issued prior to activation of a security layer is 1.884 + subject to an active attack which suppresses or modifies the 1.885 + negotiation and thus makes STARTTLS or authentication error messages 1.886 + more difficult to interpret. This is not a new attack as the error 1.887 + messages themselves are subject to active attack. Clients MUST re- 1.888 + issue the LANGUAGE command once a security layer is active, so this 1.889 + does not impact subsequent protocol operations. 1.890 + 1.891 + LANGUAGE, I18NLEVEL=1 and I18NLEVEL=2 extensions use the UTF-8 1.892 + charset, thus the security considerations for UTF-8 [RFC3629] are 1.893 + relevent. However, neither uses UTF-8 for identifiers so the most 1.894 + serious concerns do not apply. 1.895 + 1.896 + 1.897 +8. Acknowledgements 1.898 + 1.899 + 1.900 + 1.901 +Newman & Co Expires August 2008 FF[Page 15] 1.902 + 1.903 + 1.904 + 1.905 + 1.906 + 1.907 +Internet-draft February 2008 1.908 + 1.909 + 1.910 + The LANGUAGE extension is based on a previous Internet draft by Mike 1.911 + Gahrns, a substantial portion of the text in that section was 1.912 + written by him. Many people have participated in discussions about 1.913 + an IMAP Language extension in the various fora of the IETF and 1.914 + Internet working groups, so any list of contributors is bound to be 1.915 + incomplete. However, the authors would like to thank Andrew McCown 1.916 + for early work on the original proposal, John Myers for suggestions 1.917 + regarding the namespace issue, along with Jutta Degener, Mark 1.918 + Crispin, Mark Pustilnik, Larry Osterman, Cyrus Daboo, Martin Duerst, 1.919 + Timo Sirainen, Ben Campbell and Magnus Nystrom for their many 1.920 + suggestions that have been incorporated into this document. 1.921 + 1.922 + Initial discussion of the I18NLEVEL=2 extension involved input from 1.923 + Mark Crispin and other participants of the IMAP Extensions WG. 1.924 + 1.925 + 1.926 +9. Relevant Standards for i18n IMAP Implementations 1.927 + 1.928 + This is a non-normative list of standards to consider when 1.929 + implementing i18n aware IMAP software. 1.930 + 1.931 + o The LANGUAGE and I18NLEVEL=2 extensions to IMAP (this 1.932 + specification). 1.933 + o The 8-bit rules for mailbox naming in section 5.1 of RFC 3501. 1.934 + o The Mailbox International Naming Convention in section 5.1.3 of 1.935 + RFC 3501. 1.936 + o MIME [RFC2045] for message bodies. 1.937 + o MIME header encoding [RFC2047] for message headers. 1.938 + o The IETF EAI working group. 1.939 + o MIME Parameter Value and Encoded Word Extensions [RFC2231] for 1.940 + filenames. Quality IMAP server implementations will 1.941 + automatically combine multipart parameters when generating the 1.942 + BODYSTRUCTURE. There is also some deployed non-standard use of 1.943 + MIME header encoding inside double-quotes for filenames. 1.944 + o IDNA [RFC3490] and punycode [RFC3492] for domain names 1.945 + (currently only relevant to IMAP clients). 1.946 + o The UTF-8 charset [RFC3629]. 1.947 + o The IETF policy on Character Sets and Languages [RFC2277]. 1.948 + 1.949 + 1.950 +Normative References 1.951 + 1.952 + [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 1.953 + Requirement Levels", BCP 14, RFC 2119, March 1997. 1.954 + 1.955 + [RFC2277] Alvestrand, "IETF Policy on Character Sets and 1.956 + Languages", BCP 18, RFC 2277, January 1998. 1.957 + 1.958 + 1.959 + 1.960 + 1.961 +Newman & Co Expires August 2008 FF[Page 16] 1.962 + 1.963 + 1.964 + 1.965 + 1.966 + 1.967 +Internet-draft February 2008 1.968 + 1.969 + 1.970 + [RFC2342] Gahrns, Newman, "IMAP4 Namespace", RFC 2342, May 1998. 1.971 + 1.972 + [RFC3501] Crispin, "INTERNET MESSAGE ACCESS PROTOCOL - VERSION 1.973 + 4rev1", RFC 3501, March 2003. 1.974 + 1.975 + [RFC3629] Yergeau, "UTF-8, a transformation format of ISO 10646", 1.976 + STD 63, RFC 3629, November 2003. 1.977 + 1.978 + [RFC4234] Crocker, Overell, "Augmented BNF for Syntax 1.979 + Specifications: ABNF", RFC 4234, Brandenburg 1.980 + Internetworking, Demon Internet Ltd, October 2005. 1.981 + 1.982 + [RFC4422] Melnikov, Zeilenga, "Simple Authentication and Security 1.983 + Layer (SASL)", RFC 4422, June 2006. 1.984 + 1.985 + [RFC4466] Melnikov, Daboo, "Collected Extensions to IMAP4 ABNF", 1.986 + RFC 4466, Isode Ltd., April 2006. 1.987 + 1.988 + [RFC4646] Philips, Davis, "Tags for Identifying Languages", BCP 47, 1.989 + RFC 4646, September 2006. 1.990 + 1.991 + [RFC4647] Philips, Davis, "Matching of Language Tags", BCP 47, RFC 1.992 + 4647, September 2006. 1.993 + 1.994 + [RFC4790] Newman, Duerst, Gulbrandsen, "Internet Application 1.995 + Protocol Comparator Registry", RFC 4790, February 2007. 1.996 + 1.997 + [SORT] Crispin, M. and K. Murchison, "INTERNET MESSAGE ACCESS 1.998 + PROTOCOL - SORT AND THREAD EXTENSION", draft-ietf- 1.999 + imapext-sort-19 (work in progress), November 2006. 1.1000 + 1.1001 + [UCM] Crispin, "i;unicode-casemap - Simple Unicode Collation 1.1002 + Algorithm", RFC 5051, October 2007. 1.1003 + 1.1004 + [RFC2045] Freed, Borenstein, "Multipurpose Internet Mail Extensions 1.1005 + (MIME) Part One: Format of Internet Message Bodies", RFC 1.1006 + 2045, November 1996. 1.1007 + 1.1008 + [RFC2047] Moore, "MIME (Multipurpose Internet Mail Extensions) Part 1.1009 + Three: Message Header Extensions for Non-ASCII Text", RFC 1.1010 + 2047, November 1996. 1.1011 + 1.1012 + 1.1013 +Informative References 1.1014 + 1.1015 + 1.1016 + [RFC2231] Freed, Moore, "MIME Parameter Value and Encoded Word 1.1017 + Extensions: Character Sets, Languages, and 1.1018 + 1.1019 + 1.1020 + 1.1021 +Newman & Co Expires August 2008 FF[Page 17] 1.1022 + 1.1023 + 1.1024 + 1.1025 + 1.1026 + 1.1027 +Internet-draft February 2008 1.1028 + 1.1029 + 1.1030 + Continuations", RFC 2231, November 1997. 1.1031 + 1.1032 + [RFC3490] Faltstrom, Hoffman, Costello, "Internationalizing Domain 1.1033 + Names in Applications (IDNA)", RFC 3490, March 2003. 1.1034 + 1.1035 + [RFC3492] Costello, "Punycode: A Bootstring encoding of Unicode for 1.1036 + Internationalized Domain Names in Applications (IDNA)", 1.1037 + RFC 3492, March 2003. 1.1038 + 1.1039 + [METADATA] Daboo, C., "IMAP METADATA Extension", draft-daboo-imap- 1.1040 + annotatemore-12 (work in progress), December 2007. 1.1041 + 1.1042 + [IMAP-EAI] Resnick, Newman, "IMAP Support for UTF-8", draft-ietf- 1.1043 + eai-imap-utf8 (work in progress), May 2006. 1.1044 + 1.1045 + 1.1046 + 1.1047 +Authors' Addresses 1.1048 + 1.1049 + Chris Newman 1.1050 + Sun Microsystems 1.1051 + 3401 Centrelake Dr., Suite 410 1.1052 + Ontario, CA 91761 1.1053 + US 1.1054 + 1.1055 + Email: chris.newman@sun.com 1.1056 + 1.1057 + 1.1058 + Arnt Gulbrandsen 1.1059 + Oryx Mail Systems GmbH 1.1060 + Schweppermannstr. 8 1.1061 + D-81671 Muenchen 1.1062 + Germany 1.1063 + 1.1064 + Email: arnt@oryx.com 1.1065 + 1.1066 + Fax: +49 89 4502 9758 1.1067 + 1.1068 + 1.1069 + Alexey Melnikov 1.1070 + Isode Limited 1.1071 + 5 Castle Business Village, 36 Station Road, 1.1072 + Hampton, Middlesex, TW12 2BX, UK 1.1073 + 1.1074 + Email: Alexey.Melnikov@isode.com 1.1075 + 1.1076 + 1.1077 + 1.1078 + 1.1079 + 1.1080 + 1.1081 +Newman & Co Expires August 2008 FF[Page 18] 1.1082 + 1.1083 + 1.1084 + 1.1085 + 1.1086 + 1.1087 +Internet-draft February 2008 1.1088 + 1.1089 + 1.1090 +Intellectual Property Statement 1.1091 + 1.1092 + The IETF takes no position regarding the validity or scope of any 1.1093 + Intellectual Property Rights or other rights that might be claimed to 1.1094 + pertain to the implementation or use of the technology described in 1.1095 + this document or the extent to which any license under such rights 1.1096 + might or might not be available; nor does it represent that it has 1.1097 + made any independent effort to identify any such rights. Information 1.1098 + on the procedures with respect to rights in RFC documents can be found 1.1099 + in BCP 78 and BCP 79. 1.1100 + 1.1101 + Copies of IPR disclosures made to the IETF Secretariat and any 1.1102 + assurances of licenses to be made available, or the result of an 1.1103 + attempt made to obtain a general license or permission for the use of 1.1104 + such proprietary rights by implementers or users of this specification 1.1105 + can be obtained from the IETF on-line IPR repository at 1.1106 + http://www.ietf.org/ipr. 1.1107 + 1.1108 + The IETF invites any interested party to bring to its attention any 1.1109 + copyrights, patents or patent applications, or other proprietary 1.1110 + rights that may cover technology that may be required to implement 1.1111 + this standard. Please address the information to the IETF at 1.1112 + ietf-ipr@ietf.org. 1.1113 + 1.1114 + 1.1115 +Full Copyright Statement 1.1116 + 1.1117 + Copyright (C) The IETF Trust (2008). This document is subject to 1.1118 + the rights, licenses and restrictions contained in BCP 78, and 1.1119 + except as set forth therein, the authors retain all their rights. 1.1120 + 1.1121 + This document and the information contained herein are provided on 1.1122 + an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE 1.1123 + REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE 1.1124 + IETF TRUST AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL 1.1125 + WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY 1.1126 + WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE 1.1127 + ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS 1.1128 + FOR A PARTICULAR PURPOSE. 1.1129 + 1.1130 + 1.1131 +Acknowledgment 1.1132 + 1.1133 + Funding for the RFC Editor function is currently provided by the 1.1134 + Internet Society. 1.1135 + 1.1136 + 1.1137 + 1.1138 + 1.1139 + 1.1140 + 1.1141 +Newman & Co Expires August 2008 FF[Page 19] 1.1142 + 1.1143 +