[Dovecot] Bug in QRESYNC SELECT/EXAMINE behavior

Michael M. Slusarz slusarz at curecanti.org
Fri Oct 24 21:58:59 EEST 2008


RFC 5162 [3.1] states that a QRESYNC should return all changes in a  
SELECT/EXAMINE since the given modseq.  In the following case, it  
looks like there is an off-by-1 error somewhere:

C: A64 SELECT "TestMailboxTest" (QRESYNC (1224531494 6 1,3:5))
[MMS: MODSEQ given is 6]
S: * OK [CLOSED]
S: * FLAGS (\Answered \Flagged \Deleted \Seen \Draft)
S: * OK [PERMANENTFLAGS (\Answered \Flagged \Deleted \Seen \Draft \*)]  
Flags permitted.
S: * 4 EXISTS
S: * 0 RECENT
S: * OK [UNSEEN 1] First unseen.
S: * OK [UIDVALIDITY 1224531494] UIDs valid
S: * OK [UIDNEXT 6] Predicted next UID
S: * OK [HIGHESTMODSEQ 6]
[MMS: HIGHESTMODSEQ is 6 - the same as our cache, so there should be  
no need for an update]
S: * 2 FETCH (MODSEQ (6) UID 3 FLAGS (\Deleted))
[MMS: ...but we get this FETCH that contains the MODSEQ ID of 6, which  
we have already told the server we are aware of]
S: A64 OK [READ-WRITE] Select completed.

In other words, I don't think that "2 FETCH ..." should be in the  
server response - it is duplicative information as to what is already  
cached on the client.

michael



More information about the dovecot mailing list