I've upgraded a server from 2.3.7 to 2.3.13 (both were from Invoca RPMs) and
we've noticed that when fetching specific messages on 2.3.13 that the return
order is not in the same order as we requested.
In 2.3.7 that return order was in the order we asked to fetch items.

For example on 2.3.7:

. UID SORT (REVERSE DATE) US-ASCII ALL
* SORT 6 5 4 3 2 1
. OK Completed (6 msgs in 0.000 secs)
. UID FETCH 5,4 (UID FLAGS INTERNALDATE RFC822.SIZE ENVELOPE
BODY[HEADER.FIELDS (CONTENT-TYPE)])
* 5 FETCH (FLAGS (\Recent) UID 5 INTERNALDATE "12-Nov-2008 08:37:09 -0500"
RFC822.SIZE 699 ENVELOPE ("Wed, 12 Nov 2008 08:37:09 -0500 (EST)" "Test
Message" ((NIL NIL "test237" "domain.local")) ((NIL NIL "test237"
"domain.local")) ((NIL NIL "test237" "domain.local")) ((NIL NIL "test237"
"domain.local")) NIL NIL NIL
"<[EMAIL PROTECTED]>") BODY[HEADER.FIELDS
(CONTENT-TYPE)] {2}

)
* 4 FETCH (FLAGS (\Recent) UID 4 INTERNALDATE "12-Nov-2008 08:37:07 -0500"
RFC822.SIZE 699 ENVELOPE ("Wed, 12 Nov 2008 08:37:07 -0500 (EST)" "Test
Message" ((NIL NIL "test237" "domain.local")) ((NIL NIL "test237"
"domain.local")) ((NIL NIL "test237" "domain.local")) ((NIL NIL "test237"
"domain.local")) NIL NIL NIL
"<[EMAIL PROTECTED]>") BODY[HEADER.FIELDS
(CONTENT-TYPE)] {2}

)
. OK Completed (0.000 sec)



Example on 2.3.13:

. UID SORT (REVERSE DATE) US-ASCII ALL
* SORT 5 4 3 2 1
. OK Completed (5 msgs in 0.000 secs)
. UID FETCH 5,4 (UID FLAGS INTERNALDATE RFC822.SIZE ENVELOPE
BODY[HEADER.FIELDS (CONTENT-TYPE)])
* 4 FETCH (FLAGS (\Recent) UID 4 INTERNALDATE "12-Nov-2008 12:56:36 -0600"
RFC822.SIZE 750 ENVELOPE ("Wed, 12 Nov 2008 12:56:39 -0600" "subj test
subject" ((NIL NIL "test2313" "domain.local")) ((NIL NIL "test2313"
"domain.local")) ((NIL NIL "test2313" "domain.local")) ((NIL NIL "test2313"
"domain.local")) NIL NIL NIL NIL) BODY[HEADER.FIELDS (CONTENT-TYPE)] {95}
Content-Type: multipart/alternative;
        boundary="----=_NextPart_000_66D8_D9376028.6CA0E718"

)
* 5 FETCH (FLAGS (\Recent) UID 5 INTERNALDATE "12-Nov-2008 12:56:36 -0600"
RFC822.SIZE 750 ENVELOPE ("Wed, 12 Nov 2008 12:56:40 -0600" "subj test
subject" ((NIL NIL "test2313" "domain.local")) ((NIL NIL "test2313"
"domain.local")) ((NIL NIL "test2313" "domain.local")) ((NIL NIL "test2313"
"domain.local")) NIL NIL NIL NIL) BODY[HEADER.FIELDS (CONTENT-TYPE)] {95}
Content-Type: multipart/alternative;
        boundary="----=_NextPart_000_6551_DF97AA18.3ED767D6"

)
. OK Completed (0.000 sec)

Is this something that changed? Was it just chance that it worked before?
The IMAP spec doesn't mention a return order for items fetched, so I'm not
sure if the return is something we can count on.
----
Cyrus Home Page: http://cyrusimap.web.cmu.edu/
Cyrus Wiki/FAQ: http://cyrusimap.web.cmu.edu/twiki
List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html

Reply via email to