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.
