I have a wrapper manager code on top of openldap stack(ver.2.4.11), there
manager code is responsible for creating the ldap connecting to the LDAP
servers by using the standard ldap API().
u32_t rc=ldap_sasl_bind(ld, loginDN, LDAP_SASL_SIMPLE, &cred, NULL, NULL,
&msgid); //asynchronous bind
if (rc != LDAP_SUCCESS )
{
ldapErrorLog(":connect: LDAP Bind send Failed:%s \n ",
ldap_err2string(rc));
ldap_unbind_ext_s(ld, NULL,NULL);
m_connInitialized = false;
return(LDAPRC_FAIL);
}
return LDAPRC_SUCCESS;
by using this wrapper code I am creating many ldap links ,most of time this
is working fine some times when the ldap_sasl_bind() returns -1 (can't
contact server) or unknown error the code is crashing in ldap_unbind_ext_s.
can anyone help out.
the log and gdb trace are pasted below
(gdb) bt
#0 ldap_free_request (ld=0x16fd370, lr=0x1010001020001) at request.c:866
#1 0x00000000005372e8 in ldap_ld_free (ld=0x16fd370, close=1, sctrls=<value
optimized out>, cctrls=<value optimized out>) at unbind.c:88
#2 0x000000000044b020 in LdapConnection::connect (this=0x157bcd0,
loginDN=0x157b3ec "cn=TASuser", pwd=<value optimized out>)
logs..
<18:06:56.414 **ERR** LDAP 22603:22470
3:0><LdapConnection.cpp(171)>:connect: LDAP Bind send Failed:Can't contact
LDAP server
<18:06:56.414 *WRN* MX 22603:22470 3:0>receive SEGV signal
<18:06:56.414 *WRN* MX 22603:22470 3:0>Message dump is disabl
Regards,
Sachin Vastrad