Hi,

LDAP (Mozilla LDAP C SDK) asynchronous calls like ldap_simple_bind,
ldap_search (not ldap_search_ext), ldap_result ...etc, return -1 on
error and set the actual error details into LDAP connection handle.
If two processing threads using the same LDAP connection handle fails
in these kind of operations, then both of them will set the error
details into the same LDAP connection handle. So the error number
obtained with ldap_get_lderrno() function may not be the one set by
this processing thread.
So, these operations are seem to be not multi-thread safe, if both the
threads use the same connection handle.

In LDAP v3, we have serveral new functions like ldap_search_ext,
ldap_modify_ext ...etc. But, it seems like we do not have similar
functions for ldap_simple_bind and ldap_result.

I would like to know in what all cases these two methods return -1 (and
set the error number into connection handle)? Does anybody have any
idea on this? Mozilla LDAP SDK documentation simply gives a pointer to
the list of all feasible error codes, which seem to be incorrect.

Thanks,
Ramakrishna.

_______________________________________________
dev-tech-ldap mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-tech-ldap

Reply via email to