[Date Prev][Date Next]
I am working on writing a sasl rebind function for
chasing referrals. (latest openldap, SASL/GSSAPI). I
can see the completion of authentication between the
client and the new server but further communication
after that fails.
I tracked it down to the libraries/libldap/cyrus.c's
ldap_pvt_sasl_install. it fails to make the ber_sockbuf_add_io
because of the check on the sb for LBER_SB_OPT_HAS_IO.
It turns out that ldap_pvt_sasl_install is called from
ldap_pvt_sasl_install( ld->ld_sb, ctx );
and the ld->ld_sb is the sb to the first server which has
LBER_SB_OPT_HAS_IO set already.
Changing it to the sb of the new connection fixes it.
ldap_pvt_sasl_install( ld->ld_conns->lconn_sb, ctx )