On Fri, 2007-02-02 at 12:42 +0100, Jan Srzednicki wrote:
On Fri, Feb 02, 2007 at 12:24:42AM +0200, Timo Sirainen wrote:
On 1.2.2007, at 3.39, Nate wrote:
The reason why the messages are read in the first place is because
the message sizes need to be returned so that linefeeds are counted
in CR+LF format, while they're typically stored in LF-only format. So
if Dovecot just stat()ed the file and returned that as the message's
size, it would be violating the POP3 spec. tpop3d seems to be doing
that.Wouldn't it make sense to add the line count field to the index file? That would solve the CR+LF issue.
Cache file already contains the message's virtual size (linefeeds as CRLF), so after once counting the virtual size it shouldn't open the maildir file again unless there's a bug (as in this case there was).
And I have another idea, which some time ago saved my butt with Courier: add a line count L=?? maildir flag, which would make messages look like:
-rw------- 1 root root 4811 Feb 9 2006 1138386088.22293_0.mail1,S=4811,L=104
Dovecot supports reading the virtual size from ,W=1234 in the filename.