But what about this scenario:

C: 1 NOOP
S: * 5 EXISTS
S: 1 OK NOOP Completed
Client 2 now deletes all the messages in the mailbox.  At this point,
the client thinks that there are 5 items in the mailbox while the server
knows that there are none.

C: 2 FETCH *
S: * 1 EXPUNGE
S: * 1 EXPUNGE
S: * 1 EXPUNGE
S: * 1 EXPUNGE
S: * 1 EXPUNGE


S: 2 BAD Sequence Number * is illegal on an empty folder

Or is the server supposed to return NO in this case because * can be
converted to a valid sequence number (* has a known value at the time
the FETCH is processed, because the EXPUNGE responses haven't been
processed yet, and thus can be correctly substitued).  Given that, would
the server return:

S: 2 NO Message * does not exist


I think I've answered my own question, but...

Larry Osterman 



-----Original Message-----
From: Mark Crispin [mailto:[EMAIL PROTECTED]] 
Sent: Tuesday, September 24, 2002 8:09 AM
To: Simon Josefsson
Cc: Pete Maclean; IMAP Interest List
Subject: Re: possible draft 19 changes for sequence


On Tue, 24 Sep 2002 17:06:23 +0200, Simon Josefsson wrote:
> > By the way, even a UID only client could avoid the problem if it 
> > paid attention to the EXISTS value.
> No, the mailbox can become empty before the client received the EXISTS

> value.  Returning BAD in this case seems unwarranted.

That is impossible, by definition in IMAP.

If the fact that a message exists has been announced by EXISTS, that
fact can not be revoked except via an untagged EXPUNGE.  The client
always knows, at all times, how many messages there are.

The server may desire to empty a mailbox, but it can not do so until the
EXPUNGE has been announced.

Reply via email to