From: Evan Borgstrom on
Hi,

I've been back through the lists and have been looking for answers on
google to no avail.

I have postfix configured to lookup aliases & virtual aliases from local
files first and then from LDAP. Relevant config bits are below.

main.cf:
alias_maps = hash:/etc/aliases,ldap:/etc/postfix/alias_maps.1.ldap.conf
virtual_alias_maps =
hash:/etc/postfix/virtual,ldap:/etc/postfix/virtual_alias_maps.1.ldap.conf

alias_maps.1.ldap.conf:
server_host = <host>
start_tls = yes
version = 3
search_base = <basedn>
query_filter = mailLocalAddress=%s
result_attribute = mailRoutingAddress
bind = yes
bind_dn = <DN>
bind_pw = <Password>

virtual_alias_maps.1.ldap.conf:
server_host = <host>
start_tls = yes
version = 3
search_base = <basedn>
bind = yes
bind_dn = <DN>
bind_pw = <Password>


The setup works perfectly without NSCD running, but as soon as I start
NSCD postfix has problems trying to invoke trivial-rewrite. Here's what
ends up in the mail logs while NSCD is running:

May 5 20:45:39 fatbox postfix/master[7168]: warning: process
/usr/lib/postfix/trivial-rewrite pid 28752 killed by signal 6
May 5 20:45:43 fatbox postfix/smtpd[28745]: warning: problem talking to
service rewrite: Success
May 5 20:45:43 fatbox postfix/master[7168]: warning: process
/usr/lib/postfix/trivial-rewrite pid 28768 killed by signal 6
May 5 20:45:43 fatbox postfix/master[7168]: warning:
/usr/lib/postfix/trivial-rewrite: bad command startup -- throttling
May 5 20:46:43 fatbox postfix/smtpd[28745]: warning: problem talking to
service rewrite: Success
May 5 20:46:43 fatbox postfix/smtpd[28821]: warning: problem talking to
service rewrite: Connection reset by peer
May 5 20:46:43 fatbox postfix/master[7168]: warning: process
/usr/lib/postfix/trivial-rewrite pid 28837 killed by signal 6
May 5 20:46:43 fatbox postfix/master[7168]: warning:
/usr/lib/postfix/trivial-rewrite: bad command startup -- throttling
May 5 20:46:43 fatbox postfix/master[7168]: warning: process
/usr/lib/postfix/trivial-rewrite pid 28838 killed by signal 6


I thought that maybe it had something to do with the glibc nscd so I
tried it with unscd, but it too produces the exact same results.

The hardest thing for me to understand about this problem is why nscd is
causing the problem since postfix should be querying the LDAP server
directly.

Does anyone have any insight into this?

Thanks,
-E

--
Evan Borgstrom <evan(a)fatbox.ca>
FatBox Inc.

From: Wietse Venema on
Evan Borgstrom:
> The hardest thing for me to understand about this problem is why nscd is
> causing the problem since postfix should be querying the LDAP server
> directly.

It does, but glibc routines will invoke nscd for stuff in /etc/nsswitch.conf.

Wietse

From: Evan Borgstrom on

On 5/5/2010 10:18 PM, Wietse Venema wrote:
> Evan Borgstrom:
>> The hardest thing for me to understand about this problem is why nscd is
>> causing the problem since postfix should be querying the LDAP server
>> directly.
>
> It does, but glibc routines will invoke nscd for stuff in /etc/nsswitch.conf.

If I remove the ldap: entries from main.cf then the trivial-rewrite
errors go away with nscd running, so what is the postfix ldap module
doing with glibc routines that's causing the trivial-rewrite errors?

What are typical/usual causes of ABRT signals killing trivial-rewrite?
Looking through the source the only place abort() is called is in
util/msg.c but I do not see any "panic" messages in the log.

-E

From: Wietse Venema on
Evan Borgstrom:
>
> On 5/5/2010 10:18 PM, Wietse Venema wrote:
> > Evan Borgstrom:
> >> The hardest thing for me to understand about this problem is why nscd is
> >> causing the problem since postfix should be querying the LDAP server
> >> directly.
> >
> > It does, but glibc routines will invoke nscd for stuff in /etc/nsswitch.conf.
>
> If I remove the ldap: entries from main.cf then the trivial-rewrite
> errors go away with nscd running, so what is the postfix ldap module
> doing with glibc routines that's causing the trivial-rewrite errors?

Perhaps they are built for different LDAP implementations (or
LDAP and Postfix were built for different SASL implementations).

When you run a program with the wrong version of a library, then
program crashes are to be expected. It's the Linux version of
Windows DLL hell.

Wietse

From: Wietse Venema on
Wietse Venema:
> Evan Borgstrom:
> >
> > On 5/5/2010 10:18 PM, Wietse Venema wrote:
> > > Evan Borgstrom:
> > >> The hardest thing for me to understand about this problem is why nscd is
> > >> causing the problem since postfix should be querying the LDAP server
> > >> directly.
> > >
> > > It does, but glibc routines will invoke nscd for stuff in /etc/nsswitch.conf.
> >
> > If I remove the ldap: entries from main.cf then the trivial-rewrite
> > errors go away with nscd running, so what is the postfix ldap module
> > doing with glibc routines that's causing the trivial-rewrite errors?
>
> Perhaps they are built for different LDAP implementations (or
> LDAP and Postfix were built for different SASL implementations).

....or other infrastructure, such as different TLS implementations.

You can verify this by applying the "ldd" command to Postfix,
to libraries that Postfix uses, and to the nscd modules.

Wietse

> When you run a program with the wrong version of a library, then
> program crashes are to be expected. It's the Linux version of
> Windows DLL hell.
>
> Wietse
>
>