[Imap-protocol] FETCH/STORE on out-of-range sequence number
mrc at CAC.Washington.EDU
Fri Nov 16 10:59:19 PST 2007
On Fri, 16 Nov 2007, Dave Cridland wrote:
> 4.1.2 is actually rather painful, because it's suggesting different client
> behaviour from the base spec. It can, and will, either confuse clients, or
> outright break them, including putting them into a loop, asking for the same
> data continuously.
Correct. All of these have been observed from 4.1.2.
> 4.1.3 is the least obtrusive of the "broken" behaviours, since it's quite
> likely that the client will shortly do something allowing the EXPUNGE to be
Yes...but the problem is that 4.1.3 causes static data to change.
> Ideally, 4.1.1 should be done, but I do sympathize with the issues this
> can cause.
These issues are ONLY server-internal issues.
> 4.1.4 is likely to confuse some clients, albeit to a lesser extent
> than 4.1.2, but I'd rather 4.1.3, in general - even if technically broken.
Speaking as someone who has done 4.1.1, 4.1.3, and 4.1.4:
4.1.1 is absolutely the best behavior for clients; and after all these
years all new server implementations should choose it. This has also been
the standard behavior in my server for current technology formats.
4.1.3 has caused clients to crash in the past, and I have little doubt
that it would in the future. My server only does it for the legacy mh
format. The only good thing that you can say about 4.1.3 is that it is
not 4.1.2 which causes worse behavior.
I have NEVER seen any client confusion due to 4.1.4. For YEARS, that was
the primary behavior in my server; and it remains the standard behavior
for some older formats. A client MUST handle 4.1.4, because 4.1.4 is
indistinguishable from a timing race where an external process turned off
the \Deleted flag.
-- Mark --
Democracy is two wolves and a sheep deciding what to eat for lunch.
Liberty is a well-armed sheep contesting the vote.
More information about the Imap-protocol