[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
assertion failure in liblber sockbuf.c
Hello all,
I am new to this list and rather new to LDAP. So I am hoping I am
sending this to the right list, doubted between openldap-dev and
openldap-software.
I am writing a (corba) server that needs to do authentication
against an OpenLDAP server.
I wrote a C++ class to encapsulate binding and unbinding. The code
goes like this:
Connection::Connection(const char* hostname, int port,
const char* dn, const char* pwd)
throw (Exception &)
: dn_(dn)
{
ACE_DEBUG((LM_DEBUG, "Initializing LDAP with dn=[%s] at [%s]:[%d]\n",
dn_.c_str(), hostname, port));
ACE_DEBUG((LM_DEBUG, "Password: [%s]\n", pwd));
ld = ldap_init(hostname, port);
if (!ld) {
cerr << "Failed initializing LDAP\n";
throw Exception(strerror(errno));
}
ACE_DEBUG((LM_DEBUG, "LDAP Initialized\n"));
// We are an LDAP V3 client.
int version = LDAP_VERSION3;
ldap_set_option(ld, LDAP_OPT_PROTOCOL_VERSION, &version);
ACE_DEBUG((LM_DEBUG, "LDAP Options set\n"));
// Bind to the LDAP server.
int rc;
if (strcmp(pwd, "") == 0)
rc = ldap_simple_bind_s(ld, dn_.c_str(), NULL);
else
rc = ldap_simple_bind_s(ld, dn_.c_str(), pwd);
if (rc != LDAP_SUCCESS) {
cerr << "Failed binding to LDAP\n";
throw Exception(ldap_err2string(rc));
}
ACE_DEBUG((LM_DEBUG, "LDAP bind succeeded\n"));
}
Connection::~Connection()
{
ldap_unbind(ld);
ACE_DEBUG((LM_DEBUG, "LDAP Destructor\n"));
}
The first time I connect everything goes fine. The destructor is
called ( I can see the log msg) so the ld strucure gets free'd.
The second time I connect with the same dn, I get when calling
ldap_simple_bind_s (I can see the "LDAP Options set" message, pwd is
also *not* NULL):
useragent: sockbuf.c:76: ber_sockbuf_ctrl: Assertion `( ( sb
)->sb_opts.lbo_valid == 0x3 )' failed.
./run: line 37: 9701 Aborted ./useragent/useragent
-ORBInitRef
NameService=corbaloc:iiop:$host:$port/NameService
I only found one reference in the archives to a similar msg, but it
was about the assertion in line 75.
Does anybody have a clue as to what may be the problem? I am using
OpenLDAP package from debian woody(testing) distribution, this is:
OpenLDAP 2.0.14.
Thanks for any input.
Ian.