Mailing List Archive

Why must queue dir be local?
In THOUGHTS, it says this.

The queue directory must be local. Mounting it over NFS is extremely
dangerous---not that this stops people from running sendmail that way!

Can anyone explain why? I'm aware of most of the security hol^H^H^H^H
issues with NFS, but this sounds like a reliability problem. Assuming
obvious things like UDP checksumming, is there some fundamental problem
with the NFS protocol that means it can't reliably be used for the queue
directory?

Thanks,

Tim.
Re: Why must queue dir be local? [ In reply to ]
In message <AAAbZjMgNT8ADVzg@pool.uunet.pipex.com>,
Tim Goodwin <tim@uunet.pipex.com> writes:

> In THOUGHTS, it says this.
>
> The queue directory must be local. Mounting it over NFS is extremely
> dangerous---not that this stops people from running sendmail that way!
>
> Can anyone explain why? I'm aware of most of the security hol^H^H^H^H
> issues with NFS, but this sounds like a reliability problem. Assuming
> obvious things like UDP checksumming, is there some fundamental problem
> with the NFS protocol that means it can't reliably be used for the queue
> directory?

The standard problem with NFS is that file locking doesn't work reliably,
especially across heterogenous networks. In a previous existance I've had
mail lost because the MUA I was using removed the spool file while the MTA
on another machine was writing to it.

cheers,
Chris
Re: Why must queue dir be local? [ In reply to ]
> > The queue directory must be local. Mounting it over NFS is extremely
> > dangerous---not that this stops people from running sendmail that way!

> The standard problem with NFS is that file locking doesn't work reliably,

Oh, I know. Believe me, I know :-(.

But you're talking about a mail spool. The only uses of locking in
the *queue* directory (/var/qmail/queue) seem to be lock/sendmutex and
lock/tcpto.

Losing tcpto information would be bad, but it's hardly "extremely
dangerous".

Starting a second qmail-send would be worse. Is that it? The warning
seems to be hinting at something deeper...

Tim.
Re: Why must queue dir be local? [ In reply to ]
Tim Goodwin:
> > > The queue directory must be local. Mounting it over NFS is extremely
> > > dangerous---not that this stops people from running sendmail that way!

Christopher Samue:
> > The standard problem with NFS is that file locking doesn't work reliably,

Tim Goodwin:
> Oh, I know. Believe me, I know :-(.
>
> But you're talking about a mail spool. The only uses of locking in
> the *queue* directory (/var/qmail/queue) seem to be lock/sendmutex and
> lock/tcpto.
>
> Losing tcpto information would be bad, but it's hardly "extremely
> dangerous".
>
> Starting a second qmail-send would be worse. Is that it? The warning
> seems to be hinting at something deeper...

NFS makes very few guarantees about file system semantics. For
example, it doesn't guarantee uniqueness of the filename -> inode
mapping.

--
Raul