Possible SASL bug seen with long-ish ldapmodify updates

Dan White dwhite at olp.net
Wed Jan 7 09:46:51 EST 2015

On 01/06/15 23:15 +0000, Dameon Wagner wrote:
>I've been trying to solve an issue we're seeing with large batched
>ldapmodify update, and with the help of the kind people over at
>openldap-technical it seems that it may be more of a SASL issue than
>an openldap issue.  Given that, I thought I'd ask here too, in case it
>rings bells with anyone on the list.

>During the course of my testing (we've not seen this in production,
>thankfully) I've noticed that, with reasonably lengthy* updates for an
>entry, ldapmodify dies with an error like the following:

>As a work-around I can manually split up the list into several blocks
>(tested with roughly 1000 member updates per block) with "replace:
>member" for the first, to match the current behaviour, and "add:
>member" for the rest. In this format, ldapmodify is happy to process
>the LDIF (all in one connection, but as discreet operations totalling
>about 1000 lines of updates or roughly 67K of changes).  (Note: the
>authenticated user has "unlimited" limits in the config.)
>We're using Debian wheezy, with the authenticating with Kerberos using
>the libsasl2-modules-gssapi-heimdal Debian package of version
>2.1.25.dfsg1-6+deb7u1.  On the older system we're in upgrading away
>from we're using the lenny version of the package
>(2.1.22.dfsg1-23+lenny1 -- hence planning the upgrade).
>Has anyone on the list seen anything similar to the
>"sb_sasl_cyrus_decode" and "sb_sasl_generic_read" failures in
>situation like this?

I don't recall seeing those errors specifically, but I would guess there's
a bug here in the negotiation of the maximum security layer receive buffer
between libsasl and heimdal. I recall seeing some emails in years past
about it.

You can trouble shoot by using a libsasl compiled against MIT, or
experiment with olcSaslSecProps/sasl-secprops on the server, and
SASL_SECPROPS on the client. Try a large value for maxbufsize. See
slapd-config(5) and ldap.conf(5).

Dan White

More information about the Cyrus-sasl mailing list