Local Error in simple_bind_s();

Leons Petrazickis leonsp at ca.ibm.com
Fri Dec 21 18:41:41 CET 2007


Michael Ströder <michael at stroeder.com> wrote on 20/12/2007 06:19:10 AM:

> Ok. Just for the records: What kind of LDAP server product is this? Is
> LDAPv3 connect definitely not possible?

I was mistaken earlier. LDAPv3 connect is possible. It just has to use
simple authentication, not SASL.

> No. I'd rather recommend to really remove the stuff from the formerly
> installed egg file since that's what the path above look like. Closely
> examine your /usr/lib/python2.4/site-packages and rm everything which
> looks like the egg files and these python-ldap files:
> _ldap.so
> ldap/
> ldif.py*
> dsml.py*
> ldapurl.py*

I removed these. I then moved the OpenLDAP libs from /usr/lib to
/usr/lib-backup, and removed all the extraneous copies lying around.

Finally, I reinstalled OpenLDAP 2.3.39 from source into /usr/lib and then
rebuilt python-ldap into the python2.4 site-packages.

ldd _ldap.so gives this:

linux-gate.so.1 =>  (0xffffe000)
libldap_r-2.3.so.0 => /usr/lib/libldap_r-2.3.so.0 (0xb7f4f000)
liblber-2.3.so.0 => /usr/lib/liblber-2.3.so.0 (0xb7f42000)
libsasl2.so.2 => /usr/lib/libsasl2.so.2 (0xb7f2a000)
libssl.so.0.9.8 => /usr/lib/i686/cmov/libssl.so.0.9.8 (0xb7ee9000)
libcrypto.so.0.9.8 => /usr/lib/i686/cmov/libcrypto.so.0.9.8 (0xb7da6000)
libpthread.so.0 => /lib/tls/i686/cmov/libpthread.so.0 (0xb7d8e000)
libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb7c44000)
libresolv.so.2 => /lib/tls/i686/cmov/libresolv.so.2 (0xb7c30000)
libdl.so.2 => /lib/tls/i686/cmov/libdl.so.2 (0xb7c2c000)
libz.so.1 => /usr/lib/libz.so.1 (0xb7c17000)
/lib/ld-linux.so.2 (0x80000000)

But the old error has returned:

...
ldap_chkResponseList returns ld 0x81a3e70 NULL
wait4msg ld 0x81a3e70 msgid 1 (infinite timeout)
wait4msg continue ld 0x81a3e70 msgid 1 all 1
** ld 0x81a3e70 Connections:
* host: bluepages.ibm.com  port: 636  (default)
  refcnt: 2  status: Connected
  last used: Thu Dec 20 16:13:02 2007

** ld 0x81a3e70 Outstanding Requests:
 * msgid 1,  origid 1, status InProgress
   outstanding referrals 0, parent count 0
** ld 0x81a3e70 Response Queue:
   Empty
ldap_chkResponseList ld 0x81a3e70 msgid 1 all 1
ldap_chkResponseList returns ld 0x81a3e70 NULL
ldap_int_select
read1msg: ld 0x81a3e70 msgid 1 all 1
ldap_err2string
=> LDAPError - LOCAL_ERROR: {'desc': 'Local error'}
Traceback (most recent call last):
  File "test.py", line 8, in ?
    l.simple_bind_s()
  File
"/usr/lib/python2.4/site-packages/python_ldap-2.3.1-py2.4-linux-i686.egg/ldap/ldapobject.py",
 line 199, in simple_bind_s
    return self.result(msgid,all=1,timeout=self.timeout)
  File
"/usr/lib/python2.4/site-packages/python_ldap-2.3.1-py2.4-linux-i686.egg/ldap/ldapobject.py",
 line 428, in result
    res_type,res_data,res_msgid = self.result2(msgid,all,timeout)
  File
"/usr/lib/python2.4/site-packages/python_ldap-2.3.1-py2.4-linux-i686.egg/ldap/ldapobject.py",
 line 432, in result2
    res_type, res_data, res_msgid, srv_ctrls =
self.result3(msgid,all,timeout)
  File
"/usr/lib/python2.4/site-packages/python_ldap-2.3.1-py2.4-linux-i686.egg/ldap/ldapobject.py",
 line 438, in result3
    rtype, rdata, rmsgid, serverctrls =
self._ldap_call(self._l.result3,msgid,all,timeout)
  File
"/usr/lib/python2.4/site-packages/python_ldap-2.3.1-py2.4-linux-i686.egg/ldap/ldapobject.py",
 line 97, in _ldap_call
    result = func(*args,**kwargs)
ldap.LOCAL_ERROR: {'desc': 'Local error'}
ldap_free_request (origid 1, msgid 1)
ldap_free_connection 1 1
ldap_send_unbind
ldap_free_connection: actually freed


> Beware you have to adjust parameters library_dirs and include_dirs in
> setup.cfg then when building python-ldap from source.

What should they be set to? I used this in the last compile:

library_dirs = /usr/openldap-2.3/lib /usr/lib
include_dirs = /usr/openldap-2.3/include /usr/include/sasl

Before, I was leaving them unchanged.

I'm going to set up a fresh Ubuntu system. If it works, I'll rebuild the
current server from scratch.

Thank you very much for all the help, Michael. This is a frustrating
problem.

Regards,

Leons Petrazickis



More information about the python-ldap mailing list