draft-ietf-lemonade-reconnect-client-02.txt   draft-ietf-lemonade-reconnect-client-03.txt 
Network Working Group A. Melnikov Network Working Group A. Melnikov
Internet-Draft D. Cridland Internet-Draft D. Cridland
Intended status: Standards Track Isode Ltd Intended status: Standards Track Isode Ltd
Expires: May 28, 2007 C. Wilson Expires: August 30, 2007 C. Wilson
Nokia Nokia
November 24, 2006 February 26, 2007
IMAP4 Extensions for Quick Mailbox Resynchronization IMAP4 Extensions for Quick Mailbox Resynchronization
draft-ietf-lemonade-reconnect-client-02.txt draft-ietf-lemonade-reconnect-client-03.txt
Status of this Memo Status of this Memo
By submitting this Internet-Draft, each author represents that any By submitting this Internet-Draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware applicable patent or other IPR claims of which he or she is aware
have been or will be disclosed, and any of which he or she becomes have been or will be disclosed, and any of which he or she becomes
aware will be disclosed, in accordance with Section 6 of BCP 79. aware will be disclosed, in accordance with Section 6 of BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
skipping to change at page 1, line 36 skipping to change at page 1, line 36
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."
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt. http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
This Internet-Draft will expire on May 28, 2007. This Internet-Draft will expire on August 30, 2007.
Copyright Notice Copyright Notice
Copyright (C) The Internet Society (2006). Copyright (C) The IETF Trust (2007).
Abstract Abstract
This document defines an IMAP4 extension, which gives an IMAP client This document defines an IMAP4 extension, which gives an IMAP client
the ability to quickly resynchronize any previously opened mailbox as the ability to quickly resynchronize any previously opened mailbox as
part of the SELECT command, without the need for server-side state or part of the SELECT command, without the need for server-side state or
additional client round-trips. This extension also introduces a new additional client round-trips. This extension also introduces a new
response that allows for a more compact representation for a list of response that allows for a more compact representation for a list of
expunged messages. expunged messages.
Changes since draft-ietf-lemonade-reconnect-client-02.txt
o Fixed description of the synchronization sequence to properly
describe how HIGHESTMODSEQ is used.
o Fixed a couple of errors in ABNF.
Changes since draft-ietf-lemonade-reconnect-client-01.txt Changes since draft-ietf-lemonade-reconnect-client-01.txt
o Folded the EXPUNGED extension o Folded the EXPUNGED extension
(draft-melnikov-imap-expunged-02.txt) into this document. Updated (draft-melnikov-imap-expunged-02.txt) into this document. Updated
mailbox synchronization instructions. mailbox synchronization instructions.
o Added UID sequence number matching. o Added UID sequence number matching.
o Clarified how NOMODSEQ response affects this extension. o Clarified how NOMODSEQ response affects this extension.
skipping to change at page 19, line 12 skipping to change at page 19, line 12
mailbox is deleted, then any state associated with expunged messages mailbox is deleted, then any state associated with expunged messages
MUST be deleted as well. MUST be deleted as well.
5. Updated synchronization sequence 5. Updated synchronization sequence
This section updates the description of optimized synchronization in This section updates the description of optimized synchronization in
section 6.1 of the [IMAP-DISC]. section 6.1 of the [IMAP-DISC].
An advanced disconnected mail client should use the X-DRAFT-W02- An advanced disconnected mail client should use the X-DRAFT-W02-
QRESYNC [[anchor17: Fix before publication]] and [CONDSTORE] QRESYNC [[anchor17: Fix before publication]] and [CONDSTORE]
extensions when they are supported by the server. The client MUST extensions when they are supported by the server. The client would
cache the value from HIGHESTMODSEQ OK response code received on use the value from the HIGHESTMODSEQ OK response code received on
mailbox opening and update it whenever the server sends MODSEQ FETCH mailbox opening to determine if it needs to resynchronize. Once the
data items or HIGHESTMODSEQ response code. synchronization is complete it MUST cache the received value (unless
the mailbox UIDVALIDITY value has changed; See below). The client
MUST update its copy of the HIGHESTMODSEQ value whenever the server
sends a subsequent HIGHESTMODSEQ OK response code.
The client MUST also take note of any MODSEQ FETCH data items
received from the server. Whenever the client receives a tagged
response to a command, it calculates the highest value among all
MODSEQ FETCH data items received since the last tagged response. If
this value is bigger than the client's copy of the HIGHESTMODSEQ
value, then the client MUST use this value as its new HIGHESTMODSEQ
value.
Note: it is not safe to update client's copy of the HIGHESTMODSEQ
value with a MODSEQ FETCH data item value as soon as it is received,
because servers are not required to send MODSEQ FETCH data items in
increasing modseqence order. This can lead to client missing some
changes in case of connectivity loss.
When opening the mailbox for synchronization the client uses QRESYNC When opening the mailbox for synchronization the client uses QRESYNC
parameter to the SELECT/EXAMINE command. The QRESYNC parameter is parameter to the SELECT/EXAMINE command. The QRESYNC parameter is
followed by the UIDVALIDITY and mailbox HIGHESTMODSEQ values, as followed by the UIDVALIDITY and mailbox HIGHESTMODSEQ values, as
known to the client. It can be optionally followed by the set of known to the client. It can be optionally followed by the set of
UIDs, for example if the client is only interested in partial UIDs, for example if the client is only interested in partial
synchronization of the mailbox. The client may also transmit a list synchronization of the mailbox. The client may also transmit a list
containing its knowledge of message numbers. containing its knowledge of message numbers.
If the SELECT/EXAMINE command is successful, the client compares If the SELECT/EXAMINE command is successful, the client compares
skipping to change at page 21, line 46 skipping to change at page 22, line 4
;; [[Note to RFC Editor: fix before ;; [[Note to RFC Editor: fix before
;; publication]] ;; publication]]
select-param = "QRESYNC" SP "(" uidvalidity SP select-param = "QRESYNC" SP "(" uidvalidity SP
mod-sequence-value [SP known-uids] mod-sequence-value [SP known-uids]
[SP seq-match-data] ")" [SP seq-match-data] ")"
;; conforms to the generic select-param ;; conforms to the generic select-param
;; syntax defined in [IMAPABNF] ;; syntax defined in [IMAPABNF]
seq-match-data = "(" known-sequence-set SP known-uid-set ")" seq-match-data = "(" known-sequence-set SP known-uid-set ")"
uidvalidity = nz-number uidvalidity = nz-number
known-uids = sequence-set known-uids = sequence-set
;; sequence of UIDs, "*" is not allowed ;; sequence of UIDs, "*" is not allowed
known-sequence-set = sequence-seq known-sequence-set = sequence-set
;; set of message numbers corresponding to ;; set of message numbers corresponding to
;; the UIDs in known-uid-set, in ascending order. ;; the UIDs in known-uid-set, in ascending order.
;; * is not allowed. ;; * is not allowed.
known-uid-set = sequence-seq known-uid-set = sequence-set
;; set of UIDs corresponding to the messages in ;; set of UIDs corresponding to the messages in
;; known-sequence-set, in ascending order. ;; known-sequence-set, in ascending order.
;; * is not allowed. ;; * is not allowed.
message-data =/ expunged-resp message-data =/ expunged-resp
expunged-resp = "VANISHED" [expunge-correlator] SP known-uids expunged-resp = "VANISHED" [expunge-correlator] SP known-uids
expunge-correlator = SP "(" single-exp-correlator expunge-correlator = SP "(" single-exp-correlator
*(SP single-exp-correlator) ")" *(SP single-exp-correlator) ")"
skipping to change at page 25, line 7 skipping to change at page 25, line 7
Corby Wilson Corby Wilson
Nokia Nokia
5 Wayside Rd. 5 Wayside Rd.
Burlington, MA 01803 Burlington, MA 01803
USA USA
Email: corby@computer.org Email: corby@computer.org
Full Copyright Statement Full Copyright Statement
Copyright (C) The Internet Society (2006). Copyright (C) The IETF Trust (2007).
This document is subject to the rights, licenses and restrictions This document is subject to the rights, licenses and restrictions
contained in BCP 78, and except as set forth therein, the authors contained in BCP 78, and except as set forth therein, the authors
retain all their rights. retain all their rights.
This document and the information contained herein are provided on an This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND
ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS
INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Intellectual Property Intellectual Property
The IETF takes no position regarding the validity or scope of any The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information made any independent effort to identify any such rights. Information
 End of changes. 13 change blocks. 
17 lines changed or deleted 41 lines changed or added

This html diff was produced by rfcdiff 1.33. The latest version is available from http://tools.ietf.org/tools/rfcdiff/