idnits 2.17.1 draft-crispin-imap-sort-00.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** Cannot find the required boilerplate sections (Copyright, IPR, etc.) in this document. Expected boilerplate is as follows today (2024-04-19) according to https://trustee.ietf.org/license-info : IETF Trust Legal Provisions of 28-dec-2009, Section 6.a: This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. IETF Trust Legal Provisions of 28-dec-2009, Section 6.b(i), paragraph 2: Copyright (c) 2024 IETF Trust and the persons identified as the document authors. All rights reserved. IETF Trust Legal Provisions of 28-dec-2009, Section 6.b(i), paragraph 3: This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- ** Missing expiration date. The document expiration date should appear on the first and last page. ** The document seems to lack a 1id_guidelines paragraph about Internet-Drafts being working documents. ** The document seems to lack a 1id_guidelines paragraph about the list of current Internet-Drafts. ** The document seems to lack a 1id_guidelines paragraph about the list of Shadow Directories. == No 'Intended status' indicated for this document; assuming Proposed Standard Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The document seems to lack an Introduction section. ** The document seems to lack an IANA Considerations section. (See Section 2.2 of https://www.ietf.org/id-info/checklist for how to handle the case when there are no actions for IANA.) ** There is 1 instance of too long lines in the document, the longest one being 2 characters in excess of 72. Miscellaneous warnings: ---------------------------------------------------------------------------- -- The document seems to lack a disclaimer for pre-RFC5378 work, but may have content which was first submitted before 10 November 2008. If you have contacted all the original authors and they are all willing to grant the BCP78 rights to the IETF Trust, then this is fine, and you can ignore this comment. If not, you may need to add the pre-RFC5378 disclaimer. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- The document date (February 1998) is 9560 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) No issues found here. Summary: 8 errors (**), 0 flaws (~~), 1 warning (==), 2 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group M. Crispin 3 Internet Draft: IMAP SORT University of Washington 4 Document: internet-drafts/draft-crispin-imap-sort-00.txt February 1998 6 INTERNET MESSAGE ACCESS PROTOCOL - SORT EXTENSION 8 Status of this Memo 10 This document is an Internet-Draft. Internet-Drafts are working 11 documents of the Internet Engineering Task Force (IETF), its areas, 12 and its working groups. Note that other groups may also distribute 13 working documents as Internet-Drafts. 15 Internet-Drafts are draft documents valid for a maximum of six months 16 and may be updated, replaced, or obsoleted by other documents at any 17 time. It is inappropriate to use Internet-Drafts as reference 18 material or to cite them other than as "work in progress." 20 To learn the current status of any Internet-Draft, please check the 21 "1id-abstracts.txt" listing contained in the Internet-Drafts Shadow 22 Directories on ds.internic.net (US East Coast), nic.nordu.net 23 (Europe), ftp.isi.edu (US West Coast), or munnari.oz.au (Pacific 24 Rim). 26 A revised version of this draft document will be submitted to the RFC 27 editor as an Informational RFC for the Internet Community. 28 Discussion and suggestions for improvement are requested, and should 29 be sent to imap@CAC.Washington.EDU. This document will expire before 30 31 August 1998. Distribution of this memo is unlimited. 32 Abstract 34 This document describes the server-based sorting extension to the 35 IMAP4rev1 protocol. This extension provides substantial performance 36 improvements for IMAP clients which offer sorted views. 38 Additional Commands 40 This command is an extension to the IMAP4rev1 base protocol. 42 The section header is intended to correspond with where it would be 43 located in the main document if it was part of the base 44 specification. 46 6.3.SORT. SORT Command 48 Arguments: sort program 49 charset specification 50 searching criteria (one or more) 52 Data: untagged responses: SORT 54 Result: OK - sort completed 55 NO - sort error: can't sort that charset or 56 criteria 57 BAD - command unknown or arguments invalid 59 The SORT command is a variant of SEARCH with sorting semantics for 60 the results. Sort has two arguments before the searching criteria 61 argument; a parenthesized list of sort criteria, and the searching 62 charset. Note that unlike SEARCH, the searching charset argument 63 is mandatory. 65 There is also a UID SORT command which corresponds to SORT the way 66 that UID SEARCH corresponds to SEARCH. 68 The SORT command first searches the mailbox for messages that 69 match the given searching criteria using the charset argument for 70 the interpretation of strings in the searching criteria. It then 71 returns the matching messages in an untagged SORT response, sorted 72 according to one or more sort criteria. Unlike SEARCH, if no 73 messages match the searching criteria in a SORT command, no 74 untagged SORT response is returned. 76 When multiple sort criteria are specified, the result is sorted in 77 the priority order that the criteria appear. For example, 78 (SUBJECT DATE) will sort messages in order by their subject text; 79 and for messages with the same subject text will sort by their 80 sent date. 82 The defined sort criteria are as follows. Refer to the Formal 83 Syntax section for the precise syntactic definitions of the 84 arguments. 86 ARRIVAL 87 Internal date of the message. 89 CC 90 Mailbox part of the first "cc" address. 92 DATE 93 Sent date from the Date: header. 95 FROM 96 Mailbox part of the "From" address. 98 REVERSE 99 Followed by another sort criterion, has the effect of that 100 criterion but in reverse order. 102 SIZE 103 Size of the message in octets. 105 SUBJECT 106 Subject text 108 TO 109 Mailbox part of the first "To" address. 111 Example: C: A282 SORT (SUBJECT) UTF-8 SINCE 1-Feb-1994 112 S: * SORT 2 84 882 113 S: A282 OK SORT completed 114 C: A283 SORT (SUBJECT REVERSE DATE) UTF-8 ALL 115 S: * SORT 5 3 4 1 2 116 S: A283 OK SORT completed 117 C: A284 SORT (SUBJECT) US-ASCII TEXT "not in mailbox" 118 S: A284 OK SEARCH completed 120 Additional Responses 122 This response is an extension to the IMAP4rev1 base protocol. 124 The section heading of this response is intended to correspond with 125 where it would be located in the main document. 127 7.2.SORT. SORT Response 129 Data: one or more numbers 131 The SORT response occurs as a result of a SORT or UID SORT 132 command. The number(s) refer to those messages that match the 133 search criteria. For SORT, these are message sequence numbers; 134 for UID SORT, these are unique identifiers. Each number is 135 delimited by a space. 137 Example: S: * SORT 2 3 6 139 Formal Syntax of SORT commands and Responses 141 sort_data ::= "SORT" SPACE 1#nz_number 143 sort ::= ["UID" SPACE] "SORT" SPACE "(" 1#sort_criterion ")" 144 SPACE search_charset SPACE 1#search_key 146 sort_criterion ::= ["REVERSE" SPACE] sort_key 148 sort_key ::= "ARRIVAL" / "CC" / "DATE" / "FROM" / "SIZE" / 149 "SUBJECT" / "TO" 151 Security Considerations 153 Security issues are not discussed in this memo. 155 Internationalization Considerations 157 By default, strings are sorted according to the default locale. 159 In the default locale, the 26 Latin alphabetics are sorted in a 160 case-insensitive fashion; that is, "A" and "a" are treated as exact 161 equals. All other characters are sorted according to their octet 162 values as expressed in UTF-8. 164 Other locales, and the ability to change the locale, will be defined 165 in a separate extension and document. It is anticipated that there 166 will be a generic Unicode locale which provides generic 167 case-insensitivity for alphabetic scripts, as well as language- 168 specific locales. A server which implements non-default locales will 169 modify its sorting behavior according to the locale. 171 Author's Address 173 Mark R. Crispin 174 Networks and Distributed Computing 175 University of Washington 176 4545 15th Aveneue NE 177 Seattle, WA 98105-4527 179 Phone: (206) 543-5762 181 EMail: MRC@CAC.Washington.EDU