Re: Zeroing in on SASL-LDAP problem

From: Andreas Winkelmann (no email)
Date: Sun Aug 01 2004 - 10:25:05 EDT


Am Sonntag, 1. August 2004 10:56 schrieb Eric N. Valor:

> > > I tried running strace -f -p <postfix PID>. It looks like smtpd is
> > > segfaulting, but I'm not a very good debugger so I don't know exactly
> > > why. It looks like it reads the various auth libraries from
> > > /usr/lib/sasl2/ (libplain.la, libcrammd5.la, libanonymous.la, etc.),
> > > then reads in /etc/passwd and /etc/group. Shortly after that I see the
> > > IP address I connected from, and then it segfaults.
> >
> > If smtpd exited with a sig11 (sigsegv) you should see it in your Log.
>
> nope.. just the warning about "bad command startup".

> > Most time it happens, when there are diffrent versions of a Library in
> > the same address-space. Top Candidates are Cyrus-SASL and Berkeley-DB.
> > Check if for example Postfix (smtpd) is linked with sasl2 and ldap is
> > linked against sasl1. Run ldd on each bin or lib.
> >
> > # ldd /usr/libexec/postfix/smtpd
> > # ldd /path/to/libldap.so
>
> ldd /usr/libexec/postfix/smtpd
> libldap-2.2.so.7 => /usr/lib/libldap-2.2.so.7 (0x40017000)
> liblber-2.2.so.7 => /usr/lib/liblber-2.2.so.7 (0x40043000)
> libsasl2.so.2 => /usr/lib/libsasl2.so.2 (0x40050000)
> libdb.so.2 => /lib/libdb.so.2 (0x40064000)
> libnsl.so.1 => /lib/libnsl.so.1 (0x40071000)
> libresolv.so.2 => /lib/libresolv.so.2 (0x40085000)
> libc.so.6 => /lib/libc.so.6 (0x40095000)
> libssl.so.0.9.6 => /usr/lib/libssl.so.0.9.6 (0x401b2000)
> libcrypto.so.0.9.6 => /usr/lib/libcrypto.so.0.9.6 (0x401df000)
> libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x402a0000)
> libdl.so.2 => /lib/libdl.so.2 (0x402a7000)
> /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
>
> ldd /usr/lib/libldap.so
> liblber-2.2.so.7 => /usr/lib/openldap/liblber-2.2.so.7 (0x4002c000)
> libresolv.so.2 => /lib/libresolv.so.2 (0x4003b000)
> libssl.so.0.9.6 => /usr/lib/libssl.so.0.9.6 (0x4004c000)
> libcrypto.so.0.9.6 => /usr/lib/libcrypto.so.0.9.6 (0x40079000)
> libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x40139000)
> libc.so.6 => /lib/libc.so.6 (0x40140000)
> libdl.so.2 => /lib/libdl.so.2 (0x4025d000)
> /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000)

Looks ok.

Check libsasl2.so.2, too. Maybe an older libldap is in it.

Hmm, i know no other way than run gdb on it. Look in DEBUG_README. There are
some desciptions how to do it.

-- 
	Andreas







Hosted Email Solutions

Invaluement Anti-Spam DNSBLs



Powered By FreeBSD   Powered By FreeBSD