On Tue, 28 Sep 2004, Michael Wener wrote:
Also incorrect.  An untagged EXPUNGE can only be transmitted when a
command other than FETCH, STORE, and SEARCH is in progress.  Until such a
command is in progress, the sequence remains valid even if the message was
expunged in another session.
Do you mean as in RFC2180 sec 4.1.1? The server does have the option of
using section sec 4.1.3, no?

No. Regardless of which portion of RFC 2180 section 4.1 you use (and you should only use 4.1.1 or 4.1.4; 4.1.2 and 4.1.3 are proven to be bad ideas that break clients), this does not repeal the base specification. Note RFC 3501 section 5.2.


When I say invalid above, all I mean is
that the SN no longer refers to what the client thought it did prior to
the external event that removed the message.

This situation CAN NOT happen. It is FORBIDDEN by the specification. The whole point of RFC 2180 section 4.1 is to describe how a server should comply.


At all times, it is completely unambiguous what message a sequence number refers to.

You can not reference a message number higher than the last EXISTS in the session. No message goes away in the session until an untagged EXPUNGE is received in the session, and an untagged EXPUNGE can only be received at certain points.

-- Mark --

http://staff.washington.edu/mrc
Science does not emerge from voting, party politics, or public debate.
Si vis pacem, para bellum.

Reply via email to