| < draft-ietf-extra-imap4rev2-00.txt | draft-ietf-extra-imap4rev2-01.txt > | |||
|---|---|---|---|---|
| Network Working Group A. Melnikov, Ed. | Network Working Group A. Melnikov, Ed. | |||
| Internet-Draft Isode Ltd | Internet-Draft Isode Ltd | |||
| Obsoletes: 3501 (if approved) May 30, 2018 | Obsoletes: 3501 (if approved) July 16, 2018 | |||
| Intended status: Standards Track | Intended status: Standards Track | |||
| Expires: December 1, 2018 | Expires: January 17, 2019 | |||
| INTERNET MESSAGE ACCESS PROTOCOL - VERSION 4rev2 | INTERNET MESSAGE ACCESS PROTOCOL - VERSION 4rev2 | |||
| draft-ietf-extra-imap4rev2-00.txt | draft-ietf-extra-imap4rev2-01.txt | |||
| Abstract | Abstract | |||
| The Internet Message Access Protocol, Version 4rev2 (IMAP4rev2) | The Internet Message Access Protocol, Version 4rev2 (IMAP4rev2) | |||
| allows a client to access and manipulate electronic mail messages on | allows a client to access and manipulate electronic mail messages on | |||
| a server. IMAP4rev2 permits manipulation of mailboxes (remote | a server. IMAP4rev2 permits manipulation of mailboxes (remote | |||
| message folders) in a way that is functionally equivalent to local | message folders) in a way that is functionally equivalent to local | |||
| folders. IMAP4rev2 also provides the capability for an offline | folders. IMAP4rev2 also provides the capability for an offline | |||
| client to resynchronize with the server. | client to resynchronize with the server. | |||
| skipping to change at page 1, line 47 ¶ | skipping to change at page 1, line 47 ¶ | |||
| Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
| Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
| working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
| Drafts is at https://datatracker.ietf.org/drafts/current/. | Drafts is at https://datatracker.ietf.org/drafts/current/. | |||
| Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
| and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
| time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
| material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
| This Internet-Draft will expire on December 1, 2018. | This Internet-Draft will expire on January 17, 2019. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2018 IETF Trust and the persons identified as the | Copyright (c) 2018 IETF Trust and the persons identified as the | |||
| document authors. All rights reserved. | document authors. All rights reserved. | |||
| This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
| Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
| (https://trustee.ietf.org/license-info) in effect on the date of | (https://trustee.ietf.org/license-info) in effect on the date of | |||
| publication of this document. Please review these documents | publication of this document. Please review these documents | |||
| skipping to change at page 3, line 47 ¶ | skipping to change at page 3, line 47 ¶ | |||
| 6.3.4. CREATE Command . . . . . . . . . . . . . . . . . . . 37 | 6.3.4. CREATE Command . . . . . . . . . . . . . . . . . . . 37 | |||
| 6.3.5. DELETE Command . . . . . . . . . . . . . . . . . . . 38 | 6.3.5. DELETE Command . . . . . . . . . . . . . . . . . . . 38 | |||
| 6.3.6. RENAME Command . . . . . . . . . . . . . . . . . . . 39 | 6.3.6. RENAME Command . . . . . . . . . . . . . . . . . . . 39 | |||
| 6.3.7. SUBSCRIBE Command . . . . . . . . . . . . . . . . . . 41 | 6.3.7. SUBSCRIBE Command . . . . . . . . . . . . . . . . . . 41 | |||
| 6.3.8. UNSUBSCRIBE Command . . . . . . . . . . . . . . . . . 42 | 6.3.8. UNSUBSCRIBE Command . . . . . . . . . . . . . . . . . 42 | |||
| 6.3.9. LIST Command . . . . . . . . . . . . . . . . . . . . 42 | 6.3.9. LIST Command . . . . . . . . . . . . . . . . . . . . 42 | |||
| 6.3.10. LSUB Command . . . . . . . . . . . . . . . . . . . . 45 | 6.3.10. LSUB Command . . . . . . . . . . . . . . . . . . . . 45 | |||
| 6.3.11. NAMESPACE Command . . . . . . . . . . . . . . . . . . 46 | 6.3.11. NAMESPACE Command . . . . . . . . . . . . . . . . . . 46 | |||
| 6.3.12. STATUS Command . . . . . . . . . . . . . . . . . . . 50 | 6.3.12. STATUS Command . . . . . . . . . . . . . . . . . . . 50 | |||
| 6.3.13. APPEND Command . . . . . . . . . . . . . . . . . . . 52 | 6.3.13. APPEND Command . . . . . . . . . . . . . . . . . . . 52 | |||
| 6.3.14. IDLE Command . . . . . . . . . . . . . . . . . . . . 54 | 6.3.14. IDLE Command . . . . . . . . . . . . . . . . . . . . 55 | |||
| 6.4. Client Commands - Selected State . . . . . . . . . . . . 56 | 6.4. Client Commands - Selected State . . . . . . . . . . . . 56 | |||
| 6.4.1. CHECK Command . . . . . . . . . . . . . . . . . . . . 56 | 6.4.1. CHECK Command . . . . . . . . . . . . . . . . . . . . 57 | |||
| 6.4.2. CLOSE Command . . . . . . . . . . . . . . . . . . . . 57 | 6.4.2. CLOSE Command . . . . . . . . . . . . . . . . . . . . 57 | |||
| 6.4.3. UNSELECT Command . . . . . . . . . . . . . . . . . . 58 | 6.4.3. UNSELECT Command . . . . . . . . . . . . . . . . . . 58 | |||
| 6.4.4. EXPUNGE Command . . . . . . . . . . . . . . . . . . . 58 | 6.4.4. EXPUNGE Command . . . . . . . . . . . . . . . . . . . 58 | |||
| 6.4.5. SEARCH Command . . . . . . . . . . . . . . . . . . . 59 | 6.4.5. SEARCH Command . . . . . . . . . . . . . . . . . . . 59 | |||
| 6.4.6. FETCH Command . . . . . . . . . . . . . . . . . . . . 64 | 6.4.6. FETCH Command . . . . . . . . . . . . . . . . . . . . 64 | |||
| 6.4.7. STORE Command . . . . . . . . . . . . . . . . . . . . 67 | 6.4.7. STORE Command . . . . . . . . . . . . . . . . . . . . 68 | |||
| 6.4.8. COPY Command . . . . . . . . . . . . . . . . . . . . 69 | 6.4.8. COPY Command . . . . . . . . . . . . . . . . . . . . 69 | |||
| 6.4.9. UID Command . . . . . . . . . . . . . . . . . . . . . 70 | 6.4.9. UID Command . . . . . . . . . . . . . . . . . . . . . 70 | |||
| 6.5. Client Commands - Experimental/Expansion . . . . . . . . 72 | 6.5. Client Commands - Experimental/Expansion . . . . . . . . 72 | |||
| 6.5.1. X<atom> Command . . . . . . . . . . . . . . . . . . . 72 | 6.5.1. X<atom> Command . . . . . . . . . . . . . . . . . . . 72 | |||
| 7. Server Responses . . . . . . . . . . . . . . . . . . . . . . 72 | 7. Server Responses . . . . . . . . . . . . . . . . . . . . . . 72 | |||
| 7.1. Server Responses - Status Responses . . . . . . . . . . . 73 | 7.1. Server Responses - Status Responses . . . . . . . . . . . 73 | |||
| 7.1.1. OK Response . . . . . . . . . . . . . . . . . . . . . 80 | 7.1.1. OK Response . . . . . . . . . . . . . . . . . . . . . 80 | |||
| 7.1.2. NO Response . . . . . . . . . . . . . . . . . . . . . 81 | 7.1.2. NO Response . . . . . . . . . . . . . . . . . . . . . 81 | |||
| 7.1.3. BAD Response . . . . . . . . . . . . . . . . . . . . 81 | 7.1.3. BAD Response . . . . . . . . . . . . . . . . . . . . 81 | |||
| 7.1.4. PREAUTH Response . . . . . . . . . . . . . . . . . . 82 | 7.1.4. PREAUTH Response . . . . . . . . . . . . . . . . . . 82 | |||
| skipping to change at page 5, line 6 ¶ | skipping to change at page 5, line 6 ¶ | |||
| 12.2. GSSAPI/SASL service name . . . . . . . . . . . . . . . . 114 | 12.2. GSSAPI/SASL service name . . . . . . . . . . . . . . . . 114 | |||
| 13. References . . . . . . . . . . . . . . . . . . . . . . . . . 114 | 13. References . . . . . . . . . . . . . . . . . . . . . . . . . 114 | |||
| 13.1. Normative References . . . . . . . . . . . . . . . . . . 114 | 13.1. Normative References . . . . . . . . . . . . . . . . . . 114 | |||
| 13.2. Informative References (related protocols) . . . . . . . 116 | 13.2. Informative References (related protocols) . . . . . . . 116 | |||
| 13.3. Informative References (historical aspects of IMAP and | 13.3. Informative References (historical aspects of IMAP and | |||
| related protocols) . . . . . . . . . . . . . . . . . . . 117 | related protocols) . . . . . . . . . . . . . . . . . . . 117 | |||
| Appendix A. Backward compatibility with IMAP4rev1 . . . . . . . 118 | Appendix A. Backward compatibility with IMAP4rev1 . . . . . . . 118 | |||
| Appendix B. Changes from RFC 3501 / IMAP4rev1 . . . . . . . . . 118 | Appendix B. Changes from RFC 3501 / IMAP4rev1 . . . . . . . . . 118 | |||
| Appendix C. Acknowledgement . . . . . . . . . . . . . . . . . . 119 | Appendix C. Acknowledgement . . . . . . . . . . . . . . . . . . 119 | |||
| Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 | Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 | |||
| Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 124 | Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 125 | |||
| 1. How to Read This Document | 1. How to Read This Document | |||
| 1.1. Organization of This Document | 1.1. Organization of This Document | |||
| This document is written from the point of view of the implementor of | This document is written from the point of view of the implementor of | |||
| an IMAP4rev2 client or server. Beyond the protocol overview in | an IMAP4rev2 client or server. Beyond the protocol overview in | |||
| section 2, it is not optimized for someone trying to understand the | section 2, it is not optimized for someone trying to understand the | |||
| operation of the protocol. The material in sections 3 through 5 | operation of the protocol. The material in sections 3 through 5 | |||
| provides the general context and definitions with which IMAP4rev2 | provides the general context and definitions with which IMAP4rev2 | |||
| skipping to change at page 52, line 7 ¶ | skipping to change at page 52, line 7 ¶ | |||
| RECENT The number of messages with the \Recent flag set. | RECENT The number of messages with the \Recent flag set. | |||
| UIDNEXT The next unique identifier value of the mailbox. Refer to | UIDNEXT The next unique identifier value of the mailbox. Refer to | |||
| Section 2.3.1.1 for more information. | Section 2.3.1.1 for more information. | |||
| UIDVALIDITY The unique identifier validity value of the mailbox. | UIDVALIDITY The unique identifier validity value of the mailbox. | |||
| Refer to Section 2.3.1.1 for more information. | Refer to Section 2.3.1.1 for more information. | |||
| UNSEEN The number of messages which do not have the \Seen flag set. | UNSEEN The number of messages which do not have the \Seen flag set. | |||
| SIZE The total size of the mailbox in octets. This MUST be equal to | ||||
| the sum of the [RFC-5322] size of all messages in the mailbox. | ||||
| The total size of the mailbox in octets. This is not strictly | ||||
| required to be an exact value, but it MUST be equal to or greater | ||||
| than the sum of the values of the RFC822.SIZE FETCH message data | ||||
| items (see Section 6.4.6) of all messages in the mailbox. | ||||
| Example: C: A042 STATUS blurdybloop (UIDNEXT MESSAGES) | Example: C: A042 STATUS blurdybloop (UIDNEXT MESSAGES) | |||
| S: * STATUS blurdybloop (MESSAGES 231 UIDNEXT 44292) | S: * STATUS blurdybloop (MESSAGES 231 UIDNEXT 44292) | |||
| S: A042 OK STATUS completed | S: A042 OK STATUS completed | |||
| 6.3.13. APPEND Command | 6.3.13. APPEND Command | |||
| Arguments: mailbox name | Arguments: mailbox name | |||
| OPTIONAL flag parenthesized list | OPTIONAL flag parenthesized list | |||
| OPTIONAL date/time string | OPTIONAL date/time string | |||
| message literal | message literal | |||
| skipping to change at page 109, line 50 ¶ | skipping to change at page 109, line 50 ¶ | |||
| ; equivalent to 2,4,5,6,7,9,12,13,14,15 | ; equivalent to 2,4,5,6,7,9,12,13,14,15 | |||
| ; Example: a message sequence number set of *:4,5:7 | ; Example: a message sequence number set of *:4,5:7 | |||
| ; for a mailbox with 10 messages is equivalent to | ; for a mailbox with 10 messages is equivalent to | |||
| ; 10,9,8,7,6,5,4,5,6,7 and MAY be reordered and | ; 10,9,8,7,6,5,4,5,6,7 and MAY be reordered and | |||
| ; overlap coalesced to be 4,5,6,7,8,9,10. | ; overlap coalesced to be 4,5,6,7,8,9,10. | |||
| status = "STATUS" SP mailbox SP | status = "STATUS" SP mailbox SP | |||
| "(" status-att *(SP status-att) ")" | "(" status-att *(SP status-att) ")" | |||
| status-att = "MESSAGES" / "RECENT" / "UIDNEXT" / "UIDVALIDITY" / | status-att = "MESSAGES" / "RECENT" / "UIDNEXT" / "UIDVALIDITY" / | |||
| "UNSEEN" | "UNSEEN" / "SIZE" | |||
| status-att-val = ("MESSAGES" SP number) / ("RECENT" SP number) / | status-att-val = ("MESSAGES" SP number) / ("RECENT" SP number) / | |||
| ("UIDNEXT" SP nz-number) / ("UIDVALIDITY" SP nz-number) / | ("UIDNEXT" SP nz-number) / ("UIDVALIDITY" SP nz-number) / | |||
| ("UNSEEN" SP number) | ("UNSEEN" SP number) / ("SIZE" SP number64) | |||
| ; Extensions to the STATUS responses | ; Extensions to the STATUS responses | |||
| ; should extend this production. | ; should extend this production. | |||
| ; Extensions should use the generic | ; Extensions should use the generic | |||
| ; syntax defined by tagged-ext. | ; syntax defined by tagged-ext. | |||
| status-att-list = status-att-val *(SP status-att-val) | status-att-list = status-att-val *(SP status-att-val) | |||
| store = "STORE" SP sequence-set SP store-att-flags | store = "STORE" SP sequence-set SP store-att-flags | |||
| store-att-flags = (["+" / "-"] "FLAGS" [".SILENT"]) SP | store-att-flags = (["+" / "-"] "FLAGS" [".SILENT"]) SP | |||
| skipping to change at page 118, line 41 ¶ | skipping to change at page 118, line 41 ¶ | |||
| 3. Add support for $MDNSent and $Forwarded IMAP keywords - done. | 3. Add support for $MDNSent and $Forwarded IMAP keywords - done. | |||
| Add more examples showing their use? | Add more examples showing their use? | |||
| 4. Require all unsolicited updates to include UID (?) | 4. Require all unsolicited updates to include UID (?) | |||
| 5. Update recommendations on TLS ciphers to match UTA WG work (as | 5. Update recommendations on TLS ciphers to match UTA WG work (as | |||
| per RFC 8314, RFC 7525 and RFC 7817) - done. | per RFC 8314, RFC 7525 and RFC 7817) - done. | |||
| 6. Possibly fold in the following extensions/RFC: Base LIST- | 6. Possibly fold in the following extensions/RFC: Base LIST- | |||
| EXTENDED syntax + deprecate LSUB (replace it with LIST | EXTENDED syntax plus deprecate LSUB (replace it with LIST | |||
| \Subscribed) - multiple list patterns, STATUS-in-LIST, Unique | \Subscribed) minus the requirement to support multiple list | |||
| mailstore IDs for messages (a la Gmail and Cyrus) - if there is | patterns, STATUS-in-LIST, Unique mailstore IDs for messages | |||
| an implemented draft by the time this effort finishes, IDLE | (OBJECTID extension, see draft-ietf-extra-imap-objectid), IDLE | |||
| (done), SEARCHRES, BINARY. | (done), SEARCHRES, BINARY. | |||
| 7. Add STATUS SIZE (total mailbox size)? STATUS DELETED (number of | 7. Add STATUS SIZE (total mailbox size) - done Add STATUS DELETED | |||
| messages with \Deleted flag set)? | (number of messages with \Deleted flag set)? | |||
| 8. Deprecate features: RECENT response on SELECT/EXAMINE, \Recent | 8. Deprecate features: RECENT response on SELECT/EXAMINE, \Recent | |||
| flag, RECENT STATUS item. UNSEEN response code on SELECT/ | flag, RECENT STATUS item. UNSEEN response code on SELECT/ | |||
| EXAMINE. SEARCH response (use ESEARCH instead). | EXAMINE. SEARCH response (use ESEARCH instead). | |||
| 9. Drop UTF-7, all mailboxes are always in UTF-8. | 9. Drop UTF-7, all mailboxes are always in UTF-8. | |||
| 10. Revise IANA registration of IMAP extensions and advice on use of | 10. Revise IANA registration of IMAP extensions and advice on use of | |||
| "X-" convention. | "X-" convention. | |||
| skipping to change at page 119, line 24 ¶ | skipping to change at page 119, line 24 ¶ | |||
| 4959) extensions. Also folded RFC 5530. | 4959) extensions. Also folded RFC 5530. | |||
| 2. Added CLOSED response code from RFC 7162. | 2. Added CLOSED response code from RFC 7162. | |||
| 3. Updated to use modern TLS-related recommendations as per RFC | 3. Updated to use modern TLS-related recommendations as per RFC | |||
| 8314, RFC 7817, RFC 7525. | 8314, RFC 7817, RFC 7525. | |||
| 4. For future extensibility extended ABNF for tagged-ext-simple to | 4. For future extensibility extended ABNF for tagged-ext-simple to | |||
| allow for bare number64. | allow for bare number64. | |||
| 5. Add SHOULD level requirement on IMAP servers to support $MDNSent | 5. Added SHOULD level requirement on IMAP servers to support | |||
| and $Forwarded keywords. | $MDNSent and $Forwarded keywords. | |||
| 6. Added STATUS SIZE. | ||||
| Appendix C. Acknowledgement | Appendix C. Acknowledgement | |||
| Earlier versions of this document were edited by Mark Crispin. | Earlier versions of this document were edited by Mark Crispin. | |||
| Sadly, he is no longer available to help with this work. Editor of | Sadly, he is no longer available to help with this work. Editor of | |||
| this revisions is hoping that Mark would have approved. | this revisions is hoping that Mark would have approved. | |||
| Thank you to Tony Hansen for helping with the index generation. | Thank you to Tony Hansen for helping with the index generation. | |||
| This document incorporate text from RFC 4315, RFC 4466, RFC 4731, RFC | This document incorporate text from RFC 4315, RFC 4466, RFC 4731, RFC | |||
| skipping to change at page 119, line 50 ¶ | skipping to change at page 119, line 52 ¶ | |||
| $ | $ | |||
| $Forwarded (predefined flag) 12 | $Forwarded (predefined flag) 12 | |||
| $MDNSent (predefined flag) 12 | $MDNSent (predefined flag) 12 | |||
| + | + | |||
| +FLAGS <flag list> 68 | +FLAGS <flag list> 68 | |||
| +FLAGS.SILENT <flag list> 68 | +FLAGS.SILENT <flag list> 68 | |||
| - | - | |||
| -FLAGS <flag list> 68 | -FLAGS <flag list> 69 | |||
| -FLAGS.SILENT <flag list> 68 | -FLAGS.SILENT <flag list> 69 | |||
| A | A | |||
| ALERT (response code) 74 | ALERT (response code) 74 | |||
| ALL (fetch item) 64 | ALL (fetch item) 65 | |||
| ALL (search key) 61 | ALL (search key) 61 | |||
| ALL (search result option) 60 | ALL (search result option) 60 | |||
| ALREADYEXISTS (response code) 74 | ALREADYEXISTS (response code) 74 | |||
| ANSWERED (search key) 61 | ANSWERED (search key) 61 | |||
| APPEND (command) 52 | APPEND (command) 52 | |||
| APPENDUID (response code) 74 | APPENDUID (response code) 74 | |||
| AUTHENTICATE (command) 28 | AUTHENTICATE (command) 28 | |||
| AUTHENTICATIONFAILED (response code) 74 | AUTHENTICATIONFAILED (response code) 75 | |||
| AUTHORIZATIONFAILED (response code) 75 | AUTHORIZATIONFAILED (response code) 75 | |||
| B | B | |||
| BAD (response) 81 | BAD (response) 81 | |||
| BADCHARSET (response code) 75 | BADCHARSET (response code) 75 | |||
| BCC <string> (search key) 61 | BCC <string> (search key) 61 | |||
| BEFORE <date> (search key) 61 | BEFORE <date> (search key) 61 | |||
| BODY (fetch item) 65 | BODY (fetch item) 65 | |||
| BODY (fetch result) 91 | BODY (fetch result) 91 | |||
| BODY <string> (search key) 61 | BODY <string> (search key) 61 | |||
| skipping to change at page 120, line 40 ¶ | skipping to change at page 120, line 41 ¶ | |||
| BODY[<section>]<<partial>> (fetch item) 65 | BODY[<section>]<<partial>> (fetch item) 65 | |||
| BYE (response) 82 | BYE (response) 82 | |||
| Body Structure (message attribute) 13 | Body Structure (message attribute) 13 | |||
| C | C | |||
| CANNOT (response code) 75 | CANNOT (response code) 75 | |||
| CAPABILITY (command) 25 | CAPABILITY (command) 25 | |||
| CAPABILITY (response code) 75 | CAPABILITY (response code) 75 | |||
| CAPABILITY (response) 83 | CAPABILITY (response) 83 | |||
| CC <string> (search key) 61 | CC <string> (search key) 61 | |||
| CHECK (command) 56 | CHECK (command) 57 | |||
| CLIENTBUG (response code) 75 | CLIENTBUG (response code) 75 | |||
| CLOSE (command) 57 | CLOSE (command) 57 | |||
| CLOSED (response code) 76 | CLOSED (response code) 76 | |||
| CONTACTADMIN (response code) 76 | CONTACTADMIN (response code) 76 | |||
| COPY (command) 69 | COPY (command) 69 | |||
| COPYUID (response code) 76 | COPYUID (response code) 76 | |||
| CORRUPTION (response code) 77 | CORRUPTION (response code) 77 | |||
| COUNT (search result option) 60 | COUNT (search result option) 60 | |||
| CREATE (command) 37 | CREATE (command) 37 | |||
| skipping to change at page 121, line 20 ¶ | skipping to change at page 121, line 23 ¶ | |||
| ENVELOPE (fetch result) 94 | ENVELOPE (fetch result) 94 | |||
| ESEARCH (response) 88 | ESEARCH (response) 88 | |||
| EXAMINE (command) 36 | EXAMINE (command) 36 | |||
| EXPIRED (response code) 77 | EXPIRED (response code) 77 | |||
| EXPUNGE (command) 58 | EXPUNGE (command) 58 | |||
| EXPUNGE (response) 90 | EXPUNGE (response) 90 | |||
| EXPUNGEISSUED (response code) 77 | EXPUNGEISSUED (response code) 77 | |||
| Envelope Structure (message attribute) 13 | Envelope Structure (message attribute) 13 | |||
| F | F | |||
| FAST (fetch item) 64 | FAST (fetch item) 65 | |||
| FETCH (command) 64 | FETCH (command) 64 | |||
| FETCH (response) 91 | FETCH (response) 91 | |||
| FLAGGED (search key) 61 | FLAGGED (search key) 61 | |||
| FLAGS (fetch item) 67 | FLAGS (fetch item) 67 | |||
| FLAGS (fetch result) 95 | FLAGS (fetch result) 95 | |||
| FLAGS (response) 88 | FLAGS (response) 88 | |||
| FLAGS <flag list> (store command data item) 68 | FLAGS <flag list> (store command data item) 68 | |||
| FLAGS.SILENT <flag list> (store command data item) 68 | FLAGS.SILENT <flag list> (store command data item) 68 | |||
| FROM <string> (search key) 61 | FROM <string> (search key) 61 | |||
| FULL (fetch item) 65 | FULL (fetch item) 65 | |||
| Flags (message attribute) 11 | Flags (message attribute) 11 | |||
| H | H | |||
| HEADER (part specifier) 65 | HEADER (part specifier) 65 | |||
| HEADER <field-name> <string> (search key) 61 | HEADER <field-name> <string> (search key) 62 | |||
| HEADER.FIELDS (part specifier) 65 | HEADER.FIELDS (part specifier) 65 | |||
| HEADER.FIELDS.NOT (part specifier) 65 | HEADER.FIELDS.NOT (part specifier) 65 | |||
| I | I | |||
| IDLE (command) 54 | IDLE (command) 55 | |||
| INTERNALDATE (fetch item) 67 | INTERNALDATE (fetch item) 67 | |||
| INTERNALDATE (fetch result) 95 | INTERNALDATE (fetch result) 95 | |||
| INUSE (response code) 77 | INUSE (response code) 77 | |||
| Internal Date (message attribute) 13 | Internal Date (message attribute) 13 | |||
| K | K | |||
| KEYWORD <flag> (search key) 61 | KEYWORD <flag> (search key) 62 | |||
| Keyword (type of flag) 12 | Keyword (type of flag) 12 | |||
| L | L | |||
| LARGER <n> (search key) 62 | LARGER <n> (search key) 62 | |||
| LIMIT (response code) 77 | LIMIT (response code) 78 | |||
| LIST (command) 42 | LIST (command) 42 | |||
| LIST (response) 84 | LIST (response) 84 | |||
| LOGOUT (command) 26 | LOGOUT (command) 26 | |||
| LSUB (command) 45 | LSUB (command) 45 | |||
| LSUB (response) 87 | LSUB (response) 87 | |||
| M | M | |||
| MAX (search result option) 59 | MAX (search result option) 60 | |||
| MAY (specification requirement term) 5 | MAY (specification requirement term) 5 | |||
| MESSAGES (status item) 51 | MESSAGES (status item) 51 | |||
| MIME (part specifier) 66 | MIME (part specifier) 66 | |||
| MIN (search result option) 59 | MIN (search result option) 59 | |||
| MUST (specification requirement term) 5 | MUST (specification requirement term) 5 | |||
| MUST NOT (specification requirement term) 5 | MUST NOT (specification requirement term) 5 | |||
| Message Sequence Number (message attribute) 11 | Message Sequence Number (message attribute) 11 | |||
| N | N | |||
| NAMESPACE (command) 46 | NAMESPACE (command) 46 | |||
| skipping to change at page 122, line 40 ¶ | skipping to change at page 122, line 43 ¶ | |||
| O | O | |||
| OK (response) 80 | OK (response) 80 | |||
| OLD (search key) 62 | OLD (search key) 62 | |||
| ON <date> (search key) 62 | ON <date> (search key) 62 | |||
| OPTIONAL (specification requirement term) 5 | OPTIONAL (specification requirement term) 5 | |||
| OR <search-key1> <search-key2> (search key) 62 | OR <search-key1> <search-key2> (search key) 62 | |||
| OVERQUOTA (response code) 78 | OVERQUOTA (response code) 78 | |||
| P | P | |||
| PARSE (response code) 78 | PARSE (response code) 79 | |||
| PERMANENTFLAGS (response code) 78 | PERMANENTFLAGS (response code) 79 | |||
| PREAUTH (response) 82 | PREAUTH (response) 82 | |||
| PRIVACYREQUIRED (response code) 79 | PRIVACYREQUIRED (response code) 79 | |||
| Permanent Flag (class of flag) 12 | Permanent Flag (class of flag) 12 | |||
| Predefined keywords 12 | Predefined keywords 12 | |||
| R | R | |||
| READ-ONLY (response code) 79 | READ-ONLY (response code) 79 | |||
| READ-WRITE (response code) 79 | READ-WRITE (response code) 79 | |||
| RECENT (search key) 62 | RECENT (search key) 62 | |||
| RECENT (status item) 51 | RECENT (status item) 51 | |||
| skipping to change at page 123, line 27 ¶ | skipping to change at page 123, line 29 ¶ | |||
| SEARCH (command) 59 | SEARCH (command) 59 | |||
| SEEN (search key) 62 | SEEN (search key) 62 | |||
| SELECT (command) 34 | SELECT (command) 34 | |||
| SENTBEFORE <date> (search key) 62 | SENTBEFORE <date> (search key) 62 | |||
| SENTON <date> (search key) 62 | SENTON <date> (search key) 62 | |||
| SENTSINCE <date> (search key) 62 | SENTSINCE <date> (search key) 62 | |||
| SERVERBUG (response code) 79 | SERVERBUG (response code) 79 | |||
| SHOULD (specification requirement term) 5 | SHOULD (specification requirement term) 5 | |||
| SHOULD NOT (specification requirement term) 5 | SHOULD NOT (specification requirement term) 5 | |||
| SINCE <date> (search key) 62 | SINCE <date> (search key) 62 | |||
| SIZE (status item) 52 | ||||
| SMALLER <n> (search key) 62 | SMALLER <n> (search key) 62 | |||
| STARTTLS (command) 27 | STARTTLS (command) 27 | |||
| STATUS (command) 50 | STATUS (command) 50 | |||
| STATUS (response) 87 | STATUS (response) 87 | |||
| STORE (command) 67 | STORE (command) 68 | |||
| SUBJECT <string> (search key) 62 | SUBJECT <string> (search key) 63 | |||
| SUBSCRIBE (command) 41 | SUBSCRIBE (command) 41 | |||
| Session Flag (class of flag) 12 | Session Flag (class of flag) 12 | |||
| System Flag (type of flag) 11 | System Flag (type of flag) 11 | |||
| T | T | |||
| TEXT (part specifier) 65 | TEXT (part specifier) 65 | |||
| TEXT <string> (search key) 62 | TEXT <string> (search key) 63 | |||
| TO <string> (search key) 62 | TO <string> (search key) 63 | |||
| TRYCREATE (response code) 79 | TRYCREATE (response code) 79 | |||
| U | U | |||
| UID (command) 70 | UID (command) 70 | |||
| UID (fetch item) 67 | UID (fetch item) 67 | |||
| UID (fetch result) 95 | UID (fetch result) 95 | |||
| UID <sequence set> (search key) 63 | UID <sequence set> (search key) 63 | |||
| UIDNEXT (response code) 79 | UIDNEXT (response code) 80 | |||
| UIDNEXT (status item) 51 | UIDNEXT (status item) 51 | |||
| UIDNOTSTICKY (response code) 79 | UIDNOTSTICKY (response code) 80 | |||
| UIDVALIDITY (response code) 80 | UIDVALIDITY (response code) 80 | |||
| UIDVALIDITY (status item) 51 | UIDVALIDITY (status item) 51 | |||
| UNANSWERED (search key) 63 | UNANSWERED (search key) 63 | |||
| UNAVAILABLE (response code) 80 | UNAVAILABLE (response code) 80 | |||
| UNDELETED (search key) 63 | UNDELETED (search key) 63 | |||
| UNDRAFT (search key) 63 | UNDRAFT (search key) 63 | |||
| UNFLAGGED (search key) 63 | UNFLAGGED (search key) 63 | |||
| UNKEYWORD <flag> (search key) 63 | UNKEYWORD <flag> (search key) 63 | |||
| UNSEEN (response code) 80 | UNSEEN (response code) 80 | |||
| UNSEEN (search key) 63 | UNSEEN (search key) 63 | |||
| skipping to change at page 124, line 30 ¶ | skipping to change at page 124, line 33 ¶ | |||
| [ | [ | |||
| [RFC-5322] Size (message attribute) 13 | [RFC-5322] Size (message attribute) 13 | |||
| \ | \ | |||
| \All (mailbox name attribute) 85 | \All (mailbox name attribute) 85 | |||
| \Answered (system flag) 11 | \Answered (system flag) 11 | |||
| \Archive (mailbox name attribute) 85 | \Archive (mailbox name attribute) 85 | |||
| \Deleted (system flag) 11 | \Deleted (system flag) 11 | |||
| \Draft (system flag) 12 | \Draft (system flag) 12 | |||
| \Drafts (mailbox name attribute) 85 | \Drafts (mailbox name attribute) 86 | |||
| \Flagged (mailbox name attribute) 86 | \Flagged (mailbox name attribute) 86 | |||
| \Flagged (system flag) 11 | \Flagged (system flag) 11 | |||
| \HasChildren (mailbox name attribute) 84 | \HasChildren (mailbox name attribute) 84 | |||
| \HasNoChildren (mailbox name attribute) 85 | \HasNoChildren (mailbox name attribute) 85 | |||
| \Junk (mailbox name attribute) 86 | \Junk (mailbox name attribute) 86 | |||
| \Marked (mailbox name attribute) 85 | \Marked (mailbox name attribute) 85 | |||
| \Noinferiors (mailbox name attribute) 84 | \Noinferiors (mailbox name attribute) 84 | |||
| \Noselect (mailbox name attribute) 84 | \Noselect (mailbox name attribute) 84 | |||
| \Recent (system flag) 12 | \Recent (system flag) 12 | |||
| \Seen (system flag) 11 | \Seen (system flag) 11 | |||
| End of changes. 31 change blocks. | ||||
| 38 lines changed or deleted | 48 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||