著者: Ray Miller 日付: To: exim-users 題目: Re: [Exim] Mail storage formats/ POP/IMAP/webmail daemon/etc..
On Wed, Apr 04, 2001 at 09:49:52AM +0100, Peter Galbavy wrote: >
> > Beware that Exim uses internal MBX support, rather than the WU library.
> > This can pose compatibility problems. Marc Crispin (the author) certainly
> > doesn't recommend anyone do this.
>
> That is just the UW-IMAP author's "not invented here" prejudice.
Not quite. There are a couple of differences between the exim and
c-client implementations of mbx locking which have potentially
disasterous implications. c-client uses the flock() system call for
file-locking, whereas exim uses flock(). Ignoring the different
semantics of the two system calls, this works on some systems
(e.g. Solaris, where flock() is implemented via fcntl()), but on other
operating systems (e.g. Linux, where flock() and fcntl() are
implemented as independent system calls) it is possible for one
process to lock a file using flock() and another process to lock the
same file at the same time using fcntl(). There's also a difference in
the logic used when unlinking the lockfile from /tmp - I haven't
managed to convince myself that a process will never end up with a
lock on a file that's been unlinked by another process.
> This is also why maildir support isn't included. In the case of mbx
> format, I have been using is with exim native delivery for a number
> of years, with originally a UW-IMAP server, then a butchered one
> with most of c-client ripped out. Not a single problem once the
> locking was understood by myself.
But we're talking about out-of-the-box exim and c-client, not a
locally butchered version. I'd caution against using exim's native MBX
delivery in parallel with c-client applications. I'd almost go as far
as suggesting the removal of mbx support from exim because it is not,
in general, compatible with the c-client routines.
I'd be interested to hear about your local solution. We use an exim
transport that invokes tmail to do local delivery but would prefer to
use exim's native support - if we were convinced that it was safe.
--
Ray Miller <ray.miller@???>
Unix Systems Programmer
Oxford University Computing Services