< draft-myers-imap-optimize-01.txt   draft-myers-imap-optimize-02.txt >
Network Working Group J. Myers Network Working Group J. Myers
Internet Draft Carnegie Mellon Internet Draft Netscape Communications
Document: draft-myers-imap-optimize-01.txt July 1996 Document: draft-myers-imap-optimize-02.txt November 1997
IMAP4 OPTIMIZE-1 extension IMAP4 OPTIMIZE-1 extension
Status of this Memo Status of this Memo
This document is an Internet Draft. Internet Drafts are working This document is an Internet Draft. Internet Drafts are working
documents of the Internet Engineering Task Force (IETF), its Areas, documents of the Internet Engineering Task Force (IETF), its Areas,
and its Working Groups. Note that other groups may also distribute and its Working Groups. Note that other groups may also distribute
working documents as Internet Drafts. working documents as Internet Drafts.
skipping to change at page 2, line ? skipping to change at page 2, line ?
1id-abstracts.txt listing contained in the Internet-Drafts Shadow 1id-abstracts.txt listing contained in the Internet-Drafts Shadow
Directories on ds.internic.net, nic.nordu.net, ftp.isi.edu, or Directories on ds.internic.net, nic.nordu.net, ftp.isi.edu, or
munnari.oz.au. munnari.oz.au.
A revised version of this draft document will be submitted to the RFC A revised version of this draft document will be submitted to the RFC
editor as a Proposed Standard for the Internet Community. Discussion editor as a Proposed Standard for the Internet Community. Discussion
and suggestions for improvement are requested. This document will and suggestions for improvement are requested. This document will
expire before December 1996. Distribution of this draft is expire before December 1996. Distribution of this draft is
unlimited. unlimited.
Internet DRAFT OPTIMIZE-1 July 22, 1996 Internet DRAFT OPTIMIZE-1 November 11, 1997
1. Abstract 1. Abstract
The OPTIMIZE-1 extension of the Internet Message Access Protocol The OPTIMIZE-1 extension of the Internet Message Access Protocol
[IMAP4] provides a set of features intended to reduce the amount of [IMAP4] provides a set of features intended to reduce the amount of
time and resources used by some client operations. The features in time and resources used by some client operations. The features in
OPTIMIZE-1 are primarily intended for disconnected-use clients. OPTIMIZE-1 are primarily intended for disconnected-use clients.
2. Conventions Used in this Document 2. Conventions Used in this Document
skipping to change at page 3, line 5 skipping to change at page 3, line 5
successful APPEND and COPY commands. successful APPEND and COPY commands.
Clients that wish to use the features in OPTIMIZE-1 must of course Clients that wish to use the features in OPTIMIZE-1 must of course
first test for the presence of the extension by issuing a CAPABILITY first test for the presence of the extension by issuing a CAPABILITY
command. Each of the features in OPTIMIZE-1 are optimizations; command. Each of the features in OPTIMIZE-1 are optimizations;
clients can provide the same functionality, albeit more slowly, by clients can provide the same functionality, albeit more slowly, by
using commands in the base protocol. With each feature, this using commands in the base protocol. With each feature, this
document recommends a fallback approach to take when the OPTIMIZE-1 document recommends a fallback approach to take when the OPTIMIZE-1
extension is not supported by the server. extension is not supported by the server.
Internet DRAFT OPTIMIZE-1 July 22, 1996 Internet DRAFT OPTIMIZE-1 November 11, 1997
4. Features 4. Features
4.1. GETUIDS Command 4.1. GETUIDS Command
Arguments: starting uid Arguments: starting uid
Data: untagged response: GETUIDS Data: untagged response: GETUIDS
Result: OK - getuids completed Result: OK - getuids completed
skipping to change at page 3, line 31 skipping to change at page 3, line 31
If there is no message in the mailbox with a UID greater than or If there is no message in the mailbox with a UID greater than or
equal to the starting UID, the untagged GETUIDS response contains equal to the starting UID, the untagged GETUIDS response contains
no arguments. no arguments.
If there exists at least one message with a UID greater than or If there exists at least one message with a UID greater than or
equal to the starting UID, the untagged GETUIDS response contains equal to the starting UID, the untagged GETUIDS response contains
the lowest message sequence number with a UID greater than or the lowest message sequence number with a UID greater than or
equal to the starting UID, followed by a message set. The message equal to the starting UID, followed by a message set. The message
set must contain the UIDs of every message in the mailbox with a set must contain the UIDs of every message in the mailbox with a
UID greater than or equal to the starting UID. The message set UID greater than or equal to the starting UID. The message set
must not contain the symbol '*', the UID of any message which must not contain the symbol '*', any UID less than the starting
previously existed but has since been deleted, or any UID less UID, or any UID not present in the mailbox. The UIDs in the
than the starting UID or greater than the UID of the last message message set must be in strictly ascending order.
in the mailbox. The UIDs in the message set must be in strictly
ascending order.
Upon receiving the untagged GETUIDS response, the client knows Upon receiving the untagged GETUIDS response, the client knows
that any message in its cache with a UID greater than or equal to that any message in its cache with a UID greater than or equal to
the starting UID and not present in a returned message set has the starting UID and not present in a returned message set has
been expunged. been expunged.
If the server does not support the OPTIMIZE-1 capability, the If the server does not support the OPTIMIZE-1 capability, the
client should fall back to using the UID FETCH starting-uid:* UID client should fall back to using the UID FETCH starting-uid:* UID
command, where starting-uid is the starting UID. command, where starting-uid is the starting UID.
Example: C: A003 GETUIDS 3475 Example: C: A003 GETUIDS 3475
S: * GETUIDS 17 3509:3519,3525,3590:3599 S: * GETUIDS 17 3509:3519,3525,3590:3599
S: A003 OK GETUIDS completed S: A003 OK GETUIDS completed
C: A004 GETUIDS 4000 C: A004 GETUIDS 4000
S: * GETUIDS S: * GETUIDS
S: A004 OK GETUIDS completed S: A004 OK GETUIDS completed
Internet DRAFT OPTIMIZE-1 July 22, 1996
Internet DRAFT OPTIMIZE-1 November 11, 1997
4.2. UID EXPUNGE Command 4.2. UID EXPUNGE Command
Arguments: message set Arguments: message set
Data: untagged responses: EXPUNGE Data: untagged responses: EXPUNGE
Result: OK - expunge completed Result: OK - expunge completed
NO - expunge failure (e.g. permision denied) NO - expunge failure (e.g. permission denied)
BAD - command unknown or arguments invalid BAD - command unknown or arguments invalid
The UID EXPUNGE command permanently removes from the currently The UID EXPUNGE command permanently removes from the currently
selected mailbox all messages that both have the \Deleted flag set selected mailbox all messages that both have the \Deleted flag set
and have a UID that is included in the specified message set. If and have a UID that is included in the specified message set. If
a message either does not have the \Deleted flag set or is has a a message either does not have the \Deleted flag set or is has a
UID that is not included in the specified message set, it is not UID that is not included in the specified message set, it is not
affected. affected.
This command may be used to ensure that a replayed EXPUNGE command This command may be used to ensure that a replayed EXPUNGE command
skipping to change at page 4, line 35 skipping to change at page 4, line 36
between the time that the user requested the expunge operation and between the time that the user requested the expunge operation and
the time the server processes the command. the time the server processes the command.
If the server does not support the OPTIMIZE-1 capability, the If the server does not support the OPTIMIZE-1 capability, the
client should fall back to using the STORE command to temporarily client should fall back to using the STORE command to temporarily
remove the \Deleted flag from messages it does not want to remove. remove the \Deleted flag from messages it does not want to remove.
The client could alternatively fall back to using the EXPUNGE The client could alternatively fall back to using the EXPUNGE
command, risking the unintended removal of some messages. command, risking the unintended removal of some messages.
Example: C: A003 UID EXPUNGE 3000:3002 Example: C: A003 UID EXPUNGE 3000:3002
S: * EXPUNGE 3 S: * 3 EXPUNGE
S: * EXPUNGE 3 S: * 3 EXPUNGE
S: * EXPUNGE 3 S: * 3 EXPUNGE
S: A003 OK UID EXPUNGE completed S: A003 OK UID EXPUNGE completed
4.3. APPENDUID response code 4.3. APPENDUID response code
Successful APPEND commands return an APPENDUID response code in the Successful APPEND commands return an APPENDUID response code in the
tagged OK response. The APPENDUID response code contains as tagged OK response. The APPENDUID response code contains as
arguments the UIDVALIDITY of the destination mailbox and the UID arguments the UIDVALIDITY of the destination mailbox and the UID
assigned to the appended message. assigned to the appended message.
If the server does not support the OPTIMIZE-1 capability, the client If the server does not support the OPTIMIZE-1 capability, the client
can only discover this information by selecting the destination can only discover this information by selecting the destination
mailbox and issuing FETCH commands. mailbox and issuing FETCH commands.
Example: C: A003 APPEND saved-messages (\Seen) {310} Example: C: A003 APPEND saved-messages (\Seen) {310}
C: Date: Mon, 7 Feb 1994 21:52:25 -0800 (PST) C: Date: Mon, 7 Feb 1994 21:52:25 -0800 (PST)
C: From: Fred Foobar <foobar@Blurdybloop.COM> C: From: Fred Foobar <foobar@Blurdybloop.COM>
Internet DRAFT OPTIMIZE-1 July 22, 1996
Internet DRAFT OPTIMIZE-1 November 11, 1997
C: Subject: afternoon meeting C: Subject: afternoon meeting
C: To: mooch@owatagu.siam.edu C: To: mooch@owatagu.siam.edu
C: Message-Id: <B27397-0100000@Blurdybloop.COM> C: Message-Id: <B27397-0100000@Blurdybloop.COM>
C: MIME-Version: 1.0 C: MIME-Version: 1.0
C: Content-Type: TEXT/PLAIN; CHARSET=US-ASCII C: Content-Type: TEXT/PLAIN; CHARSET=US-ASCII
C: C:
C: Hello Joe, do you think we can meet at 3:30 tomorrow? C: Hello Joe, do you think we can meet at 3:30 tomorrow?
C: C:
S: A003 OK [APPENDUID 38505 3955] APPEND completed S: A003 OK [APPENDUID 38505 3955] APPEND completed
skipping to change at page 6, line 4 skipping to change at page 6, line 4
[IMAP4]. [IMAP4].
Except as noted otherwise, all alphabetic characters are case- Except as noted otherwise, all alphabetic characters are case-
insensitive. The use of upper or lower case characters to define insensitive. The use of upper or lower case characters to define
token strings is for editorial clarity only. Implementations MUST token strings is for editorial clarity only. Implementations MUST
accept these strings in a case-insensitive fashion. accept these strings in a case-insensitive fashion.
getuids ::= "GETUIDS" SPACE uniqueid getuids ::= "GETUIDS" SPACE uniqueid
getuids_data ::= "GETUIDS" [ SPACE nz_number SPACE set ] getuids_data ::= "GETUIDS" [ SPACE nz_number SPACE set ]
Internet DRAFT OPTIMIZE-1 July 22, 1996
literal ::= "{" number ["+"] "}" CRLF *CHAR8 Internet DRAFT OPTIMIZE-1 November 11, 1997
;; Number represents the number of CHAR8 octets
resp_code_apnd ::= "APPENDUID" SPACE nz_number SPACE uniqueid resp_code_apnd ::= "APPENDUID" SPACE nz_number SPACE uniqueid
resp_code_copy ::= "COPYUID" SPACE nz_number SPACE set SPACE set resp_code_copy ::= "COPYUID" SPACE nz_number SPACE set SPACE set
uid_expunge ::= "UID" SPACE "EXPUNGE" SPACE set uid_expunge ::= "UID" SPACE "EXPUNGE" SPACE set
6. References 6. References
[IMAP4] Crispin, M., "Internet Message Access Protocol - Version 4", [IMAP4] Crispin, M., "Internet Message Access Protocol - Version
draft-crispin-imap-base-XX.txt, University of Washington, April 1996. 4rev1", RFC 2060, University of Washington, December 1996.
[RFC-822] Crocker, D., "Standard for the Format of ARPA Internet Text [RFC-822] Crocker, D., "Standard for the Format of ARPA Internet Text
Messages", STD 11, RFC 822. Messages", STD 11, RFC 822.
7. Security Considerations 7. Security Considerations
There are no known security issues with this extension. There are no known security issues with this extension.
8. Author's Address 8. Author's Address
John G. Myers John Gardiner Myers
Carnegie-Mellon University Netscape Communications
5000 Forbes Ave. 501 East Middlefield Road
Pittsburgh PA, 15213-3890 Mail Stop MV-029
Mountain View, CA 94043
Email: jgm+@cmu.edu Email: jgmyers@netscape.com
Internet DRAFT OPTIMIZE-1 July 22, 1996
Internet DRAFT OPTIMIZE-1 November 11, 1997
TTTTaaaabbbblllleeee ooooffff CCCCoooonnnntttteeeennnnttttssss TTTTaaaabbbblllleeee ooooffff CCCCoooonnnntttteeeennnnttttssss
Status of this Memo ............................................... i Status of this Memo ............................................... i
1. Abstract ..................................................... 2 1. Abstract ..................................................... 2
2. Conventions Used in this Document ............................ 2 2. Conventions Used in this Document ............................ 2
3. Introduction and Overview .................................... 2 3. Introduction and Overview .................................... 2
4. Features ..................................................... 3 4. Features ..................................................... 3
4.1. GETUIDS Command .............................................. 3 4.1. GETUIDS Command .............................................. 3
4.2. UID EXPUNGE Command .......................................... 4 4.2. UID EXPUNGE Command .......................................... 3
4.3. APPENDUID response code ...................................... 4 4.3. APPENDUID response code ...................................... 4
4.4. COPYUID response code ........................................ 5 4.4. COPYUID response code ........................................ 5
5. Formal Syntax ................................................ 5 5. Formal Syntax ................................................ 5
6. References ................................................... 6 6. References ................................................... 6
7. Security Considerations ...................................... 6 7. Security Considerations ...................................... 6
8. Author's Address ............................................. 6 8. Author's Address ............................................. 6
 End of changes. 14 change blocks. 
27 lines changed or deleted 27 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/