Serious problems with multiple connections working with the same mailbox

Jerry Lundström <[email protected]> Thu, 15 Sep 2005 14:30:48 +0200
Newsgroups gmane.mail.imap.binc.devel
Message-ID <[email protected]>
Hey all,

Im tracking and debuging a very serious problem Binc 1.2.x has with 
multiple connections that are working in the same mailbox (clients 
Outlook Express/MacOS X 10.3 Mail).

(later edit)
I have made this patch to add more scans, this is an "ugly"/agressive 
way of solving the problem.

Patch can be found at: http://people.su.se/~jelun/bincimap/
(/later edit)

I will give more information on this later but right now I am wondering 
why Binc does this:

1 UID FETCH 1276 FLAGS
* 344 EXISTS
* 1 RECENT
* 344 FETCH (FLAGS (\Recent))

If you read the rfc it clearly state that the server response EXISTS and 
RECENT should be used in the response of SELECT and EXAMINE.

I also noticed that the function pendingUpdates can send information 
about FLAGS if that type is set and it doesnt check what type of command 
was sent.

And yes, altho clients "should" be able to handle this, these types of 
responses are not ment to be sent here, yes I might have missed a rfc 
extension somewhere.

Here is more confusing output from Binc that pendingUpdates makes:

1 UID FETCH 1278 FLAGS
* 346 FETCH (FLAGS (\Deleted) UID 1278)
* 346 FETCH (FLAGS (\Deleted))
1 OK FETCH completed

operator-fetch outputs the correct line and pendingUpdates adds the line 
without UID.

-- 
Jerry Lundström, System Developer
Section for IT and Media, Stockholms University, Sweden
+46 (0)8 16 19 99 / http://www.it.su.se