[Dovecot] UID FETCH returns results outside requested range
00 SELECT INBOX
- OK [CLOSED] Previous mailbox closed.
- FLAGS (\Answered \Flagged \Deleted \Seen \Draft Junk $Label1 $Label2 $Label3 $Label4 $Label5 receipt-handled NotJunk NonJunk $MDNSent $has_cal unknown-6 OldNotJunk $Forwarded)
- OK [PERMANENTFLAGS (\Answered \Flagged \Deleted \Seen \Draft Junk $Label1 $Label2 $Label3 $Label4 $Label5 receipt-handled NotJunk NonJunk $MDNSent $has_cal unknown-6 OldNotJunk $Forwarded \*)] Flags permitted.
- 7126 EXISTS
- 0 RECENT
- OK [UNSEEN 16] First unseen.
- OK [UIDVALIDITY 1154089803] UIDs valid
- OK [UIDNEXT 152280] Predicted next UID
- OK [HIGHESTMODSEQ 22137] Highest 00 OK [READ-WRITE] Select completed. 01 UID FETCH 152280:* (UID)
- 7126 FETCH (UID 152279) 01 OK Fetch completed.
Dovecot 1.2.11 on Fedora 12 with Maildir mailboxen.
Why is it returning the message with UID 152279, when asked for the range 152280:* ? Is there some reason it has to return at least one result?
-- dwmw2
On Mon, 2010-07-12 at 13:51 +0100, David Woodhouse wrote:
01 UID FETCH 152280:* (UID)
- always matches the last message. The client probably should have used something like:
UID FETCH 152280:2147483647 (UID)
Or even better, just not do it at all when 152280 is the last message it has seen. It needs to see EXISTS first before it can access new messages (although I think there is some workaround for this in Dovecot).
On Mon, 2010-07-12 at 13:58 +0100, Timo Sirainen wrote:
On Mon, 2010-07-12 at 13:51 +0100, David Woodhouse wrote:
01 UID FETCH 152280:* (UID)
- always matches the last message.
Ah, thanks. I hadn't realised that the 'start' and 'end' of a range are actually interchangeable. RFC3501 does make that clear, now I'm looking for it.
-- dwmw2
participants (2)
-
David Woodhouse
-
Timo Sirainen