Message Organization Working Group D. Karp Internet-Draft Zimbra Updates: 5256 (if approved) October 18, 2009 Intended status: Standards Track Expires: April 21, 2010 Display-based Address Sorting for the IMAP4 SORT Extension draft-ietf-morg-sortdisplay-02 Status of this Memo This Internet-Draft is submitted to IETF in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet- Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at 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 April 21, 2010. Copyright Notice Copyright (c) 2009 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents in effect on the date of publication of this document (http://trustee.ietf.org/license-info). Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Abstract This document describes an IMAP protocol extension enabling server- side message sorting based on the commonly-displayed portion of the Karp Expires April 21, 2010 [Page 1] Internet-Draft IMAP4 Display-based Address Sorting October 2009 From and To header fields. Table of Contents 1. Conventions Used in This Document . . . . . . . . . . . . . . . 3 2. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 3. DISPLAY Sort Value for an Address . . . . . . . . . . . . . . . 3 4. The DISPLAYFROM and DISPLAYTO Sort Keys . . . . . . . . . . . . 4 5. Formal Syntax . . . . . . . . . . . . . . . . . . . . . . . . . 4 6. Security Considerations . . . . . . . . . . . . . . . . . . . . 4 7. Internationalization Considerations . . . . . . . . . . . . . . 4 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 5 9. Normative References . . . . . . . . . . . . . . . . . . . . . 5 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 5 Karp Expires April 21, 2010 [Page 2] Internet-Draft IMAP4 Display-based Address Sorting October 2009 1. Conventions Used in This Document The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119]. 2. Introduction The [SORT] extension to the [IMAP] protocol provides a means for server-based sorting of messages. It defines a set of sort criteria and the mechanism for determining the sort value of a message for each such ordering. The [SORT] extension's FROM ordering sorts messages lexically on the [IMAP] addr-mailbox of the first mailbox in the From header. Likewise, its TO ordering sorts on the [IMAP] addr-mailbox of the first address in the message's To header. This document provides two alternate orderings, DISPLAYFROM and DISPLAYTO, which sort messages lexically based on the first From or To address's [IMAP] addr-name (generally the same as its [RFC5322] display-name), when present. A server that supports the full [SORT] extension as well as the DISPLAYFROM and DISPLAYTO sort criteria indicates this by returning "SORT=DISPLAY" in its CAPABILITY response. 3. DISPLAY Sort Value for an Address For the purposes of the sort keys defined in this document, the sort value for an [IMAP] address structure is defined as follows: o If the address structure's [IMAP] addr-name is non-NIL, decode any [RFC2047] encoded-words. If the resulting string is not the empty string, use it as the sort value for the address. o Otherwise, if the address structure's [IMAP] addr-mailbox and [IMAP] addr-host are both non-NIL, the sort value for the address is addr-mailbox@addr-host. o Otherwise, if the address structure's [IMAP] addr-mailbox is non- NIL, the sort value for the address is its addr-mailbox. o If none of the above conditions are met, the sort value for the address is the empty string. Karp Expires April 21, 2010 [Page 3] Internet-Draft IMAP4 Display-based Address Sorting October 2009 4. The DISPLAYFROM and DISPLAYTO Sort Keys This document introduces two new [SORT] sort-keys, DISPLAYFROM and DISPLAYTO. A message's sort value under the DISPLAYFROM ordering MUST be derived as follows from the [IMAP] env-from value of the [IMAP] envelope structure resulting from a FETCH ENVELOPE on the message: o If the env-from value is NIL, the message's sort value is the empty string. o Otherwise, the message's sort value is the DISPLAY sort value of the first [IMAP] address in the envelope structure's env-from. A message's sort value under the DISPLAYTO ordering MUST be derived as follows from the [IMAP] env-to value of the [IMAP] envelope structure resulting from a FETCH ENVELOPE on the message: o If the env-to value is NIL, the message's sort value is the empty string. o Otherwise, the message's sort value is the DISPLAY sort value of the first [IMAP] address in the envelope structure's env-to. 5. Formal Syntax The following syntax specification uses the Augmented Backus-Naur Form (ABNF) notation as specified in [RFC4234]. [IMAP] defines the non-terminal "capability" and [SORT] defines "sort-key". capability =/ "SORT=DISPLAY" sort-key =/ "DISPLAYFROM" | "DISPLAYTO" 6. Security Considerations This document defines an additional IMAP4 capability. As such, it does not change the underlying security considerations of [IMAP]. The author believes that no new security issues are introduced with this additional IMAP4 capability. 7. Internationalization Considerations DISPLAYFROM and DISPLAYTO are string-based sort criteria. As stated Karp Expires April 21, 2010 [Page 4] Internet-Draft IMAP4 Display-based Address Sorting October 2009 in [SORT], the collations mandated by I18NLEVEL=1 or I18NLEVEL=2 from [RFC5255] MUST be followed when sorting such strings. The DISPLAYFROM and DISPLAYTO orderings sort on the full decoded [IMAP] addr-name, when present. They do not attempt to parse this string in a locale- or language-dependent manner in order to determine and sort on some semantically meaningful substring such as the surname. 8. IANA Considerations [IMAP] capabilities are registered by publishing a standards track or IESG-approved experimental RFC. This document constitutes registration of the SORT=DISPLAY capability in the [IMAP] capabilities registry. 9. Normative References [IMAP] Crispin, M., "INTERNET MESSAGE ACCESS PROTOCOL - VERSION 4rev1", RFC 3501, March 2003. [RFC2047] Moore, K., "MIME (Multipurpose Internet Mail Extensions) Part Three: Message Header Extensions for Non-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. [RFC4234] Crocker, D., Ed. and P. Overell, "Augmented BNF for Syntax Specifications: ABNF", RFC 4234, October 2005. [RFC5255] Newman, C., Gulbrandsen, A., and A. Melnikov, "Internet Message Access Protocol Internationalization", RFC 5255, June 2008. [RFC5322] Resnick, P., Ed., "Internet Message Format", RFC 5322, October 2008. [SORT] Crispin, M. and K. Murchison, "Internet Message Access Protocol - SORT and THREAD Extensions", RFC 5256, June 2008. Karp Expires April 21, 2010 [Page 5] Internet-Draft IMAP4 Display-based Address Sorting October 2009 Author's Address Dan Karp Zimbra 701 First St. Sunnyvale, CA 94089 USA Email: dkarp@zimbra.com URI: http://www.zimbra.com Karp Expires April 21, 2010 [Page 6]