MBOX-Line: From dkarp at zimbra.com  Wed Jun 16 05:31:00 2010
To: imap-protocol@u.washington.edu
From: Dan Karp <dkarp@zimbra.com>
Date: Fri Jun  8 12:34:44 2018
Subject: [Imap-protocol] MOVE is a pipeline
In-Reply-To: <15361.1276690930.129601@puncture>
Message-ID: <1892873904.5769.1276691460856.JavaMail.root@dogfood.zimbra.com>

> > It's the same issue addressed by RFC 3501 section 7.4.1:
> >
> >       An EXPUNGE response MUST NOT be sent when no command is in
> >       progress, nor while responding to a FETCH, STORE, or SEARCH
> >       command. This rule is necessary to prevent a loss of
> >       synchronization of message sequence numbers between client and
> >       server. A command is not "in progress" until the complete command
> >       has been received; in particular, a command is not "in progress"
> >       during the negotiation of command continuation.
> >
> > MOVE falls into the same category as FETCH, STORE, and SEARCH.
> 
> I think it falls into the same category as EXPUNGE - both commands
> are specifically designed to remove messages from the mailbox.
> 
> The MSNs specifed as the argument to MOVE need to be dereferenced, in
> effect, prior to any EXPUNGE occuring, as with UID SEARCH's errata
> note (?5.5), but that's really it.

Mark can chime in here, but I'd think that the same logic would apply to
FETCH, STORE, and SEARCH.

