tss at iki.fi
Fri Jul 30 07:04:48 EEST 2004
Fixed mbox corruption in some cases where it wrote headers over
beginning of message body. Fixed recent flags to work correctly with
mbox. Fixed LSUB command to send LSUB replies instead of LIST replies.
Then there's NTLM support from Andrey (which I hopefully didn't break)
and dovecotpw utility from Joshua.
And then some generic status report:
For last few weeks I've been trying to make all network I/O
non-blocking but that work is going quite slowly. This means that IMAP
and POP3 commands which send lots of data to client must be able to
stop processing if output buffer is getting full and continue later.
Not very difficult, but a bit boring to implement..
This would allow in future to make a single process handle multiple
IMAP connections for same user. Although that might not be such a good
idea since there's still lock waits and SEARCH command can take a long
Anyway, it makes the code less kludgy. Maybe in future we'll have
non-blocking lock waits and file I/O too. Adding some support for
threading might not be a bad idea either, as long as it doesn't require
adding locks all over the place (threads would perform searches,
threading, sorting, etc.).
Oh, and another thing it enables is processing multiple commands
simultaneously. IMAP supports that, although I don't know if any
clients do it. So for example a client could send:
1 fetch 1:* envelope
2 status mailbox (unseen)
Then Dovecot would process the fetch command until it's output blocks,
then it would send the status reply in the middle of it and then again
continue the fetching. The nice thing with this is that client can do
some "urgent" requests in the middle of some long running commands
without the need to create multiple connections to server.
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 186 bytes
Desc: This is a digitally signed message part
Url : http://dovecot.org/pipermail/dovecot/attachments/20040730/74f0d10a/PGP.pgp
More information about the dovecot