On Wed, Sep 14, 2005 at 02:43:30PM -0400, Dan Melomedman wrote:
> Claudio Jeker wrote:
> > On Tue, Sep 13, 2005 at 07:31:21PM -0400, Dan Melomedman wrote:
> > > I don't understand it. Why does qmail-ldap change the normal .qmail
> > > behavior? Namely, .qmail files are parsed, the programs specified in
> > > .qmail files are run, but despite the exit code being '99' for those
> > > programs, an additional delivery is made into the Maildir. This is not
> > > standard qmail-local behavior. Looks like a bug to me.
> > 
> > If you have qmailDotMode set to dotonly you get the old behaviour.
> > The qmail-ldap way of doing deliveries based on LDAP entries is a bit
> > different to stock .qmail handling. The processing is controlled by
> > deliveryMode. By default all delivery methods are done (local, forwards
> > and program) so you need to use nolocal, noforward or noprogram to disable
> > some of the deliveries. This was done because it makes frontends easier.
> > 
> > -- 
> > :wq Claudio
> 
> Why does qmail-ldap documentation make a distinction between a direct
> delivery into Maildir, which it calls 'local', and a delivery through
> .qmail? I always thought .qmail delivery is local. If qmail-local
> finds .qmail, it should follow exactly what the instructions tell it to
> do. If it tells it to deliver to a program, and a Maildir, it should do
> that. But with the new patch, it follows the instructions, and THEN
> makes another delivery into Maildir by default. This results in
> duplicates.
> 

With delivery mode ldaponly or ldapwithprog .qmail files are totaly
ignored. In delivery mode dotonly all ldap settings are ignored.
DeliveryMode both is a bastard and may cause unexpected behaviour.

> The whole idea behind .qmail is that it overrides the default delivery
> method, not the other way around, which is what the new patch is doing.

That is not true, the behaviour adds the default delivery to the ldap
specific delivery instructions because else it would be impossible to do
any kind of localdelivery. The change is that the aliasempty delivery mode
is always included unless you specify nolocal as delivery mode.

> If a program in the .qmail exits 99, the exit code must be honored by
> qmail-local. Nobody wants duplicated mail for any reason. I also find
> the documentation hard to understand for dotmode and delivermode.
> 

Exit code 99 is respected.
You need to understang that the stuff defined in ldap has nothing to do
with a .qmail file. It results in delivery instructions similar to .qmail
but it is not .qmail. That's why qmailDotMode both can cause some strange
results.

If you like to do .qmail delivery then set the qmailDotMode to dotonly or
be prepared to do some special handling.
In both mode first all ldap delivery modes are included and the the .qmail
ones. Because of the default localdelivery in ldap the alias empty is
added before the contents of the .qmail file.

-- 
:wq Claudio

Reply via email to