[tpop3d-discuss] Maildir locking, to prevent more than 1 simultaneous access?
Rich, WhidbeyNet NOC
richs at whidbey.net
Thu, 23 Jan 2003 09:43:34 -0800
Chris, List,
"I'll put in an option to lock the maildir, and make tpop3d error if the
message has already been deleted."
I'm glad I wasn't overlooking something obvious. We really appreciate
your work Chris!!
Rich Sandberg
mailadmin@whidbey.net
WhidbeyNet Network Operations
> -----Original Message-----
> From: tpop3d-discuss-admin@lists.beasts.org
> [mailto:tpop3d-discuss-admin@lists.beasts.org] On Behalf Of
> Chris Lightfoot
> Sent: Thursday, January 23, 2003 1:25 AM
> To: Rich, WhidbeyNet NOC
> Cc: tpop3d-discuss@lists.beasts.org
> Subject: Re: [tpop3d-discuss] Maildir locking, to prevent
> more than 1 simultaneous access?
>
>
> On Wed, Jan 22, 2003 at 06:04:50PM -0800, Rich, WhidbeyNet NOC wrote:
> > >From the documentation, tpop3d relies on "the atomicity of certain
> > filesystem operations" for managing Maildir locks. And that
> apparently
> > works; no two clients can actually modify a file at once. However,
> > according to RFC 1939, tpop3d should be preventing two or
> more clients
> > from authenticating at all:
> >
> > "Once the POP3 server has determined through the use of any
> > authentication command that the client should be given
> access to the
> > appropriate maildrop, the POP3 server then acquires an
> > exclusive-access lock on the maildrop, as necessary to prevent
> > messages from being modified or removed before the session
> enters the
> > UPDATE state."
> [...]
> > Keep in mind we have 5 POP3 machines, who each access Maildirs over
> > NFS. So the only authentication lock I can think of would be with a
> > dot-file. In the future, could tpop3d be told to
> "maildir-auth-lock =
> > $home/Maildir/tpop3d.lock"? Or is there some way around this issue?
>
> That's certainly feasible, though it's worth remarking
> that you may run into problems if you have other clients
> which don't obey whatever locking semantics tpop3d
> implements.
>
> A better alternative may be to return an error in the case
> where the message has been deleted. This requires a few small
> changes to the code. So in your example you would see
>
> RETR num
> -ERR message already deleted by another instance
>
> -- I don't know in practice which of these would work
> better. The latter is probably neater, but as you observe
> locking the mailbox exclusively is what the spec demands.
> Does anybody know what qpop3d does here?
>
http://www.ornl.gov/cts/archives/mailing-lists/qmail/1999/10/msg00168.ht
ml
-- doesn't lock, apparently.
I'll put in an option to lock the maildir, and make tpop3d error if the
message has already been deleted.
--
``Then it occurred to me that I was standing there pissing on Nancy
Reagan's
life work, and that made me feel better about it.''
(Jamie Zawinski, commenting on a urinal soap bar marked `Say No To
Drugs!')
_______________________________________________
tpop3d-discuss mailing list
tpop3d-discuss@lists.beasts.org
http://lists.beasts.org/mailman/listinfo/tpop3d-discuss