< 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/