IMAP4 Extensions for Quick Mailbox Resynchronization
RFC 5162

Document Type RFC - Proposed Standard (March 2008; Errata)
Obsoleted by RFC 7162
Last updated 2013-03-02
Replaces draft-melnikov-imap-expunged
Stream IETF
Formats plain text pdf html
Stream WG state (None)
Consensus Unknown
Document shepherd No shepherd assigned
IESG IESG state RFC 5162 (Proposed Standard)
Telechat date
Responsible AD Chris Newman
Send notices to lemonade-chairs@ietf.org
Network Working Group                                        A. Melnikov
Request for Comments: 5162                                   D. Cridland
Category: Standards Track                                      Isode Ltd
                                                               C. Wilson
                                                                   Nokia
                                                              March 2008

          IMAP4 Extensions for Quick Mailbox Resynchronization

Status of This Memo

   This document specifies an Internet standards track protocol for the
   Internet community, and requests discussion and suggestions for
   improvements.  Please refer to the current edition of the "Internet
   Official Protocol Standards" (STD 1) for the standardization state
   and status of this protocol.  Distribution of this memo is unlimited.

Abstract

   This document defines an IMAP4 extension, which gives an IMAP client
   the ability to quickly resynchronize any previously opened mailbox as
   part of the SELECT command, without the need for server-side state or
   additional client round-trips.  This extension also introduces a new
   response that allows for a more compact representation of a list of
   expunged messages (and always includes the Unique Identifiers (UIDs)
   expunged).

Melnikov, et al.            Standards Track                     [Page 1]
RFC 5162               IMAP Quick Mailbox Resync              March 2008

Table of Contents

   1.  Introduction and Overview  . . . . . . . . . . . . . . . . . .  2
   2.  Requirements Notation  . . . . . . . . . . . . . . . . . . . .  4
   3.  IMAP Protocol Changes  . . . . . . . . . . . . . . . . . . . .  4
     3.1.  QRESYNC Parameter to SELECT/EXAMINE  . . . . . . . . . . .  4
     3.2.  VANISHED UID FETCH Modifier  . . . . . . . . . . . . . . .  8
     3.3.  EXPUNGE Command  . . . . . . . . . . . . . . . . . . . . . 10
     3.4.  CLOSE Command  . . . . . . . . . . . . . . . . . . . . . . 11
     3.5.  UID EXPUNGE Command  . . . . . . . . . . . . . . . . . . . 11
     3.6.  VANISHED Response  . . . . . . . . . . . . . . . . . . . . 12
     3.7.  CLOSED Response Code . . . . . . . . . . . . . . . . . . . 15
   4.  Server Implementation Considerations . . . . . . . . . . . . . 15
     4.1.  Server Implementations That Don't Store Extra State  . . . 15
     4.2.  Server Implementations Storing Minimal State . . . . . . . 16
     4.3.  Additional State Required on the Server  . . . . . . . . . 16
   5.  Updated Synchronization Sequence . . . . . . . . . . . . . . . 17
   6.  Formal Syntax  . . . . . . . . . . . . . . . . . . . . . . . . 19
   7.  Security Considerations  . . . . . . . . . . . . . . . . . . . 20
   8.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 21
   9.  Acknowledgments  . . . . . . . . . . . . . . . . . . . . . . . 21
   10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 21
     10.1. Normative References . . . . . . . . . . . . . . . . . . . 21
     10.2. Informative References . . . . . . . . . . . . . . . . . . 22

1.  Introduction and Overview

   The [CONDSTORE] extension gives a disconnected client the ability to
   quickly resynchronize IMAP flag changes for previously seen messages.
   This can be done using the CHANGEDSINCE FETCH modifier once a mailbox
   is opened.  In order for the client to discover which messages have
   been expunged, the client still has to issue a UID FETCH or a UID
   SEARCH command.  This document defines an extension to [CONDSTORE]
   that allows a reconnecting client to perform full resynchronization,
   including discovery of expunged messages, in a single round-trip.
   This extension also introduces a new response, VANISHED, that allows
   for a more compact representation of a list of expunged messages.

   This extension can be useful for mobile clients that can experience
   frequent disconnects caused by environmental factors (battery life,
   signal strength, etc.).  Such clients need a way to quickly reconnect
   to the IMAP server, while minimizing delay experienced by the user as
   well as the amount of traffic (and hence the expense) generated by
   resynchronization.

Melnikov, et al.            Standards Track                     [Page 2]
RFC 5162               IMAP Quick Mailbox Resync              March 2008

   By extending the SELECT command to perform the additional
   resynchronization, this also allows clients to reduce concurrent
   connections to the IMAP server held purely for the sake of avoiding
   the resynchronization.

   The quick resync IMAP extension is present if an IMAP4 server returns
   "QRESYNC" as one of the supported capabilities to the CAPABILITY
   command.

   Servers supporting this extension MUST implement and advertise
Show full document text