Hi Timo. I've checked out the current CVS version and tested it. There seems to be a problem when dovecot accesses mailboxes for the first time: I have a mailbox with 4 mails, and no special IMAP headers. (no X-IMAPBase, X-UID etc.) and it's in mbox format. I log in, SELECT the folder and do FETCH 2 BODY[] and receive only a snipplet of the mail from somewhere in the middle of it. After some debugging it seems like dovecot: 1. creates an index, for mbox_index_rewrite(), 2. rewrites the mbox, but then 3. forgets to update the index after the rewrite. and ends up in a state with a pre-rewrite index but a post-rewrite folder. Now, there are many ways to make dovecot rebuild the index after rewriting the folder, but some are ugly and some are not, some need extra code to avoid endless loops. I don't know how you would want this fixed. I attached a patch that worked for me. After that patch, I have more (new?) problems, which may or may not be related. Now, when I SELECT a folder and do a COPY within the folder (*smile*) I get this: A COPY 1 INBOX * BYE Mailbox is in inconsistent state, please relogin. Connection closed by foreign host. ... which is what I'm gonna start looking for right now. :) Regards, Andy -------------- next part -------------- A non-text attachment was scrubbed... Name: dovecot-04Nov03-initial-idx.patch Type: application/octet-stream Size: 878 bytes Desc: not available URL: <http://dovecot.org/pipermail/dovecot/attachments/20031104/0cb6a4b9/attachment-0001.obj>
Oops. The patch I sent was bad(tm)... the line in mbox_index_rewrite.c needs to be 3 lines up. Regards, Andy At 18:07 04/11/2003 +0100, you wrote:>Hi Timo. > >I've checked out the current CVS version and tested it. >There seems to be a problem when dovecot accesses mailboxes >for the first time: > >I have a mailbox with 4 mails, and no special IMAP headers. >(no X-IMAPBase, X-UID etc.) and it's in mbox format. > >I log in, SELECT the folder and do >FETCH 2 BODY[] >and receive only a snipplet of the mail from >somewhere in the middle of it. > >After some debugging it seems like dovecot: >1. creates an index, for mbox_index_rewrite(), >2. rewrites the mbox, but then >3. forgets to update the index after the rewrite. >and ends up in a state with a pre-rewrite index but >a post-rewrite folder. > >Now, there are many ways to make dovecot rebuild >the index after rewriting the folder, but some are >ugly and some are not, some need extra code to avoid >endless loops. I don't know how you would want this >fixed. > >I attached a patch that worked for me. > >After that patch, I have more (new?) problems, which >may or may not be related. > >Now, when I SELECT a folder and do a COPY within >the folder (*smile*) I get this: > >A COPY 1 INBOX >* BYE Mailbox is in inconsistent state, please relogin. >Connection closed by foreign host. > > >... which is what I'm gonna start looking for right now. :) > > >Regards, > Andy > >