| < draft-melnikov-imap-partial-02.txt | draft-melnikov-imap-partial-03.txt > | |||
|---|---|---|---|---|
| Network Working Group A. Melnikov | Network Working Group A. Melnikov | |||
| Internet-Draft Isode | Internet-Draft Isode | |||
| Updates: 5267, 4731 (if approved) A. P. Achuthan | Updates: 5267, 4731 (if approved) A. P. Achuthan | |||
| Intended status: Standards Track V. Nagulakonda | Intended status: Standards Track V. Nagulakonda | |||
| Expires: 16 July 2022 L. Alves | Expires: 16 July 2022 L. Alves | |||
| Yahoo! | Yahoo! | |||
| 12 January 2022 | 12 January 2022 | |||
| IMAP Paged SEARCH & FETCH Extension | IMAP Paged SEARCH & FETCH Extension | |||
| draft-melnikov-imap-partial-02 | draft-melnikov-imap-partial-03 | |||
| Abstract | Abstract | |||
| The PARTIAL extension of the Internet Message Access Protocol (RFC | The PARTIAL extension of the Internet Message Access Protocol (RFC | |||
| 3501/RFC 9051) allows clients to limit the number of search results | 3501/RFC 9051) allows clients to limit the number of search results | |||
| returned, as well as to perform incremental (paged) searches. This | returned, as well as to perform incremental (paged) searches. This | |||
| also helps servers to optimize resource usage when performing | also helps servers to optimize resource usage when performing | |||
| searches. | searches. | |||
| This document extends PARTIAL SEARCH return option originally | This document extends PARTIAL SEARCH return option originally | |||
| skipping to change at page 2, line 48 ¶ | skipping to change at page 2, line 48 ¶ | |||
| return options . . . . . . . . . . . . . . . . . . . . . 5 | return options . . . . . . . . . . . . . . . . . . . . . 5 | |||
| 3.3. Extension to UID FETCH . . . . . . . . . . . . . . . . . 6 | 3.3. Extension to UID FETCH . . . . . . . . . . . . . . . . . 6 | |||
| 3.4. Use of PARTIAL and CONDSTORE IMAP extensions together . . 7 | 3.4. Use of PARTIAL and CONDSTORE IMAP extensions together . . 7 | |||
| 4. The MESSAGELIMIT extension . . . . . . . . . . . . . . . . . 7 | 4. The MESSAGELIMIT extension . . . . . . . . . . . . . . . . . 7 | |||
| 4.1. Returning limits on the number of messages processed in a | 4.1. Returning limits on the number of messages processed in a | |||
| single SEARCH/FETCH/STORE/COPY/MOVE command . . . . . . . 8 | single SEARCH/FETCH/STORE/COPY/MOVE command . . . . . . . 8 | |||
| 5. Formal syntax . . . . . . . . . . . . . . . . . . . . . . . . 10 | 5. Formal syntax . . . . . . . . . . . . . . . . . . . . . . . . 10 | |||
| 6. Security Considerations . . . . . . . . . . . . . . . . . . . 11 | 6. Security Considerations . . . . . . . . . . . . . . . . . . . 11 | |||
| 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11 | 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11 | |||
| 7.1. Changes/additions to the IMAP4 capabilities registry . . 11 | 7.1. Changes/additions to the IMAP4 capabilities registry . . 11 | |||
| 8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 11 | 8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 12 | |||
| 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 12 | 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 12 | |||
| 9.1. Normative References . . . . . . . . . . . . . . . . . . 12 | 9.1. Normative References . . . . . . . . . . . . . . . . . . 12 | |||
| 9.2. Informative References . . . . . . . . . . . . . . . . . 12 | 9.2. Informative References . . . . . . . . . . . . . . . . . 13 | |||
| Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 | Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 13 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 13 | |||
| 1. Introduction and Overview | 1. Introduction and Overview | |||
| This document defines an extension to the Internet Message Access | This document defines an extension to the Internet Message Access | |||
| Protocol [RFC3501] for performing incremental searches and fetches. | Protocol [RFC3501] for performing incremental searches and fetches. | |||
| This extension is compatible with both IMAP4rev1 [RFC3501] and | This extension is compatible with both IMAP4rev1 [RFC3501] and | |||
| IMAP4rev2 [RFC9051]. | IMAP4rev2 [RFC9051]. | |||
| skipping to change at page 8, line 47 ¶ | skipping to change at page 8, line 47 ¶ | |||
| S: 04 OK [MESSAGELIMIT 1000 23221] SEARCH completed with 1000 partial results | S: 04 OK [MESSAGELIMIT 1000 23221] SEARCH completed with 1000 partial results | |||
| The following example demonstrates copy of messages with UIDs | The following example demonstrates copy of messages with UIDs | |||
| between 18000:21000. The total message count exceeds the | between 18000:21000. The total message count exceeds the | |||
| server's published 1000 messages limit. | server's published 1000 messages limit. | |||
| C: 05 UID COPY 18000:21000 "Trash" | C: 05 UID COPY 18000:21000 "Trash" | |||
| S: * NO [MESSAGELIMIT 1000 20001] Too many messages to copy | S: * NO [MESSAGELIMIT 1000 20001] Too many messages to copy | |||
| S: 05 OK [COPYUID 1397597919 20001:21000 21363:22362] COPY completed for the last 1000 messages | S: 05 OK [COPYUID 1397597919 20001:21000 21363:22362] COPY completed for the last 1000 messages | |||
| // Open Issue: | Open Issue: Note that the above example shows a UID COPY that | |||
| partially fails. This is assumed to be better for clients that | ||||
| don't understand the MESSAGELIMIT response code. However this | ||||
| might cause naive clients to believe that the COPY fully | ||||
| completed and that all messages were copied. (An alternative | ||||
| would be to return MESSAGELIMIT in the tagged NO response, | ||||
| meaning that no messages could be copied. However this | ||||
| wouldn't work well with clients that don't support MESSAGELIMIT | ||||
| response code.) | ||||
| The following example shows MOVE of messages with UIDs between | The following example shows MOVE of messages with UIDs between | |||
| 18000:21000. The total message count exceeds the server's | 18000:21000. The total message count exceeds the server's | |||
| published 1000 messages limit. The client that wants to move | published 1000 messages limit. The client that wants to move | |||
| all messages in the range and observes a MESSAGELIMIT response | all messages in the range and observes a MESSAGELIMIT response | |||
| code, can repeat the command by updating the UID set parameter | code, can repeat the command by updating the UID set parameter | |||
| specified in the command. The client needs to keep doing this | specified in the command. The client needs to keep doing this | |||
| until MESSAGELIMIT response is not returned (or until a tagged | until MESSAGELIMIT response is not returned (or until a tagged | |||
| NO/BAD is returned). | NO/BAD is returned). | |||
| End of changes. 4 change blocks. | ||||
| 4 lines changed or deleted | 12 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/ | ||||