I can confirm that this is happening.  I have a BlackBerry Storm now...

Not surprisingly, UW IMAP is behaving as designed. EXAMINE mode is specifically forbidden from doing writes to the mail store, and burping is a write.

It's unfortunate that RIM uses EXAMINE for their mailbox monitoring. EXAMINE has other aspects that make it less than suitable for that purpose. Perhaps if I had gone to work for RIM I could have warned them, but they wanted a Java guru... ;-)

Since I am affected, I will fix it in Panda IMAP. Unfortunately, a correct solution is not going to be a trivial patch that can be sent in email and easily deployed in UW IMAP. I am considering several possible ways to solve the problem, none of which are simple. I don't have a time estimate, as I have quite enough work that I am *paid* to do.

Assuming that you want to stay with UW IMAP; if I were you I would take the hyper-expeditious step of hacking imapd so that SELECT and EXAMINE do the same thing. There is a check around line 970 in imapd.c to see if the first character of the command is "S" and if not to be read-only:
            f = (anonymous ? OP_ANONYMOUS + OP_READONLY : NIL) |
              ((*cmd == 'S') ? NIL : OP_READONLY);
The hack is to make that be simply:
            f = (anonymous ? OP_ANONYMOUS + OP_READONLY : NIL);

Note that this hack does NOT(!!!) have my "seal of approval"; it adds a bug to imapd. Fortunately, very few IMAP clients (Pine and Alpine being notable exceptions) use EXAMINE for its intended purpose, so it will probably be alright for most practical purposes. However, if you make this hack and it comes back to bite you, I disclaim all responsibility...

Good luck!

On Wed, 21 Jan 2009, Dave Halsema wrote:
Last September when the Blackberry Internet Service started using
the IMAP IDLE command, we were one of the sites reporting issues with
those users not having their MIX mailboxes burped.

We applied the patch to do mail checkpoint during the IDLE loop,
and I could confirm through my own tests that the server was now
doing checkpoints during IDLE and reclaiming disk space.

The problem is that we still had BIS users who are unable to delete
messages and get back disk space.  I had just assumed that these users
had their Blackberry's configured to not use IMAP IDLE, or some other
incorrect setting.

I finally got my hands on a BB device and traced the associated
IMAP server to see what was happening.  I've determined that the
Blackberry's use the EXAMINE command (not SELECT) to open the user's
INBOX, and then issues the IDLE command.

Now, whenever a checkpoint tries to take place, the server sends an
untagged response:

        * OK Checkpoint ignored on readonly mailbox

As long as this imap process from Blackberry Internet Service remains
in its EXAMINE/IDLE loop, it seems that no other process expunge the
mailbox and have burping take place.

Does anyone have any advice on how I might deal with this?  I do not
see any obvious settings for the Blackberry to fix and I'm not sure
if I'm missing something obvious.

--
David A. Halsema                           E-mail Administrator
Purdue University                          [email protected]
_______________________________________________
Imap-uw mailing list
[email protected]
http://mailman2.u.washington.edu/mailman/listinfo/imap-uw


-- Mark --

http://panda.com/mrc
Democracy is two wolves and a sheep deciding what to eat for lunch.
Liberty is a well-armed sheep contesting the vote.
_______________________________________________
Imap-uw mailing list
[email protected]
http://mailman2.u.washington.edu/mailman/listinfo/imap-uw

Reply via email to