On 18.2.2012, at 3.54, Eric Gregory wrote:
But in Dovecot (version 2.0.13) the results of the two simultaneous commands are ordered like this:
a fetch something b fetch something else
- 1 FETCH (result)
- 1 FETCH (result) a OK FETCH completed b OK FETCH completed
This makes associating the results of the fetch commands quite a bit more difficult, since it's not entirely clear which results are paired with which tag.
My question is this: is this Dovecot's intended behavior, or did I find a bug? I realize the IMAP spec is really vague about this. If this is the intended behavior, is there any advice for clients on how to determine which results are associated with which command?
This is intended behavior. And if you issue two long FETCH commands, their replies may even be intertwined. IMAP protocol allows all kinds of variations for this actually (e.g. it would be valid for a server to return each FETCHed field in its own untagged FETCH reply). You're not supposed to care about matching FETCH replies to FETCH commands, you just need to know that you've received all the data you asked for (after all tagged commands have replied). http://imapwiki.org/ClientImplementation