On Thu, 2003-05-01 at 02:51, Mark E. Mallett wrote:> Hi-
>
> Found a message that will generate a pop3 coredump when using
> mbox format. It seems to do with the fact that it has a mime
> part with a line that's 10,000 bytes long. However, that doesn't
> seem to be the only factor.
There were 3 problems actually:
1) Dovecot stopped parsing messages that had lines longer than 8192
bytes (or 256k if mail_read_mmaped = yes). RFC-(2)822 says maximum line
length is 1000 bytes, do MTAs actually allow longer? Fixed anyway.
2) Dovecot thought UIDVALIDITY changed whenever mailbox had been empty.
Or in this case, when it thought the whole mailbox was changed because
the first message's length was different than it thought. This caused
"mailbox inconsistency" error.
3) pop3 server didn't handle inconsistency error separately and tried to
print NULL error message. Some sprintf() implementations (GLIBC at
least) print it as "(null)", but looks like it crashed with you. Fixed
this, and also it now prints NULL error as "BUG: Unknown error".