Bug#486698: Authen::SASL::Cyrus produces bogus SIGPIPE

Russ Allbery rra at debian.org
Wed Jun 18 21:56:59 UTC 2008


Wouter Verhelst <w at uter.be> writes:

> Since I could successfully log on using 'ldapsearch -Y GSSAPI' and using
> Authen::SASL::Perl, I assumed Authen::SASL::Cyrus was to blame. This, at
> least, shows something more is going on...

Oh, hey, look, Authen::SASL::Perl can do GSSAPI now.  That's interesting.
One of the reasons why I worked on Authen::SASL::Cyrus in the first place
is because Authen::SASL::Perl couldn't do GSSAPI.

> When I stop slapd, and start it with '-d Any' (so that it doesn't
> detach, but throws a *huge* bunch of debugging details on stdout), I
> can't reproduce the bug. Luckily, the bug is reproducible when changing
> the configuration file to get those details in syslog, but that pollutes
> things... *sigh*.

OpenLDAP debugging is always annoying.

> Checking the logs reveals that there's a little bug in the script:
>
> $res = $ldap->search(base => 'ou=People,dc=grep,dc=be', filter => "(&(objectClass=posixUser)(uid=wouter))");
>
> should get an s/posixUser/posixAccount/. Doing that changes the error
> message from "Broken pipe" to "Connection reset by peer". This suggests
> that the only bug in Authen::SASL::Cyrus is one of insufficient error
> handling, but that the real bug is in slapd. What a surprise.

Still very odd that it would just drop the connection on you and that it
would be different depending on what SASL library you use.  We run slapd
with a log level of 256, which seems to be about the right balance on
verbosity versus useful output in the logs.  I wonder if it would still
show the error there.

-- 
Russ Allbery (rra at debian.org)               <http://www.eyrie.org/~eagle/>





More information about the pkg-perl-maintainers mailing list