[dovecot] Corrupt mbox handling
I've found that if an mbox file has two consecutive 'From' delimiters, I get the error:
pop3(user): Error indexing mbox file /var/spool/mail/user: LF not found where expected
UofW apparently ignores the second 'From' silently. I've been trying to run dovecot in gdb to get more details on exactly what is happening, but I haven't quite mastered the art of attaching to the pop3 process between the login process completing and it exiting. Is there some trick to doing that?
If I can't work around it in dovecot, I can just write something in perl to fix all the duplicate 'From' lines.
Thanks,
Kristian Hoffmann PC-InTOUCH/FireToWire System Administrator khoff@pc-intouch.com
On Thu, 2003-04-17 at 22:18, Kristian Hoffmann wrote:
I've found that if an mbox file has two consecutive 'From' delimiters, I get the error:
pop3(user): Error indexing mbox file /var/spool/mail/user: LF not found where expected
This is in TODO:
- two adjacent From-lines breaks us. not too easy to fix though.
Problem is that two From-lines aren't really "possible", because the line feed before and after belongs to the same From-line. And since the newline between the two From-lines is shared between them, it breaks my parsers. I guess the correct way to fix this would be to completely ignore the first From-line if second one comes right after it. I'm not sure how easily that is fixed.
I once tried fixing this but the code got too kludgy back then, but I think I tried to keep the first one as empty message then. Ignoring it might be easier.
UofW apparently ignores the second 'From' silently. I've been trying to run dovecot in gdb to get more details on exactly what is happening, but I haven't quite mastered the art of attaching to the pop3 process between the login process completing and it exiting. Is there some trick to doing that?
Well, you can run the pop3 binary directly and talk to it via stdin.
participants (2)
-
Kristian Hoffmann
-
Timo Sirainen