On Wed, 30 Jul 2008, Adrian Overbury wrote:
Now, our current server establishes a lock on the mailbox, and when that
second connection happens it simply responds that there's no messages to
collect... we used to have it terminate the connection, but this brings
up confusing error messages on User A's client, and they call up and
complain -- not an ideal situation.
Why do you do that? Is "-ERR unable to lock maildrop" in response to PASS or APOP not an option? One computer (laptop) accessing the same time as a PC accesses the box will purge its copy of the UIDL and refetch ALL messages next time...
I'm not sure where, though, or how long the lock persists for, or what
its actual purpose is, because my tests show me that I can log the same
users in with two concurrent sessions and get the same message twice.
It's probably a fault in my understanding of how locking in user
sessions of a pop3 server should work, but that doesn't sound right to me.
Well... according to RFC-1939, the session should be locked when entering TRANSACTION state. Purpose is to avoid two processes stomping over each other in the later UPDATE state.
Can someone explain if what I'm seeing is correct, or what problem it
may be symptomatic of? Does dovecot even do concurrent-user-session
locking? So far I've enjoyed playing with dovecot -- far more than the
current server we use. I'd like to use it as our primary pop3 server,
but preventing users from having concurrent sessions and getting the
same message more than once, and keeping them from seeing errors because
of their client trying to open multiple sessions is important.
Same here - I just did a trivial test (Dovecot 1.1 from Mercurial repo, two POP3+SSL sessions at the same time, off of Maildir): log in both, delete a message in one and QUIT (so it passes through UPDATE state), LIST in the remaining session still lists the deleted message, but retrieving it results in an error. Probably confusing for clients ;-)
HOWEVER, if the same message is downloaded twice, that's a client bug. It can use UIDL and avoid scheduling the same message twice for fetching.
Outlook is a piece of sh.. WRT mail capabilities, with Outlook 2003 still not fixing MIME + quoting bugs that Microsoft is aware of since the mid-1990s.
I have some hope that I'll be able to migrate to Kontact (KMail + organizer + stuff) next year. Certainly not my favourite but given there's no recent Windows version of Evolution...
Oh, and I'm user dovecot 1.0.beta3, since I don't really have the option
of upgrading the OS on my mail servers any time soon.
I'd stay away from such a version, but use a recent 1.0.X or 1.1.X - if someone is looking after your server regularly (once or twice a week or so), compiling it yourself shouldn't be an issue.
HTH
-- Matthias Andree