Is the set of trusted CA certs exactly the same on both systems? Note that on Debian libldap is linked against GnuTLS. In this case the ldap.SERVER_DOWN exception does not contain a useful diagnostic message. When linking libldap against OpenSSL a message generated by OpenSSL is returned by libldap as diagnostic message.
Ciao, Michael.
Gareth Walters (2K Australia) wrote:
>
> Package: python-ldap
> Version: 2.4.10-1
> Severity: important
>
> Dear Maintainer,
> While trying to get a python scrip tof mine to work in Wheezy (have it
> running in Squeeze and several other OSs)
> I come across this error when using ldaps://
>
> ldap.SERVER_DOWN: {'desc': "Can't contact LDAP server"}
> The server is up and the same script is working on the Squeeze machine.
>
> Its talking to Windows AD 2008 R2
>
> the minimal code to reproduce is;
> import ldap
> myldap=ldap.initialize("ldaps://xx.xx.xx.100")
> myldap.bind_s('bindDN','bindPASS')
>
> but this works
> import ldap
> myldap=ldap.initialize("ldap://xx.xx.xx.100")
> myldap.bind_s('bindDN','bindPASS')
>
> Does not even get far enough to give a certificate error as would
> notmally happen without allow unverified/trusted SSL cert.
>
>
> Output when setting ldap debug on;
>
> ldap_create
> ldap_url_parse_ext(ldaps://xx.xx.xx.105)
> ldap_url_parse_ext(ldaps://xx.xx.xx.100)
> ldap_sasl_bind
> ldap_send_initial_request
> ldap_new_connection 1 1 0
> ldap_int_open_connection
> ldap_connect_to_host: TCP xx.xx.xx.100:636
> ldap_new_socket: 3
> ldap_prepare_socket: 3
> ldap_connect_to_host: Trying xx.xx.xx.100:636
> ldap_pvt_connect: fd: 3 tm: -1 async: 0
> ldap_int_open_connection
> ldap_connect_to_host: TCP xx.xx.xx.105:636
> ldap_new_socket: 5
> ldap_prepare_socket: 5
> ldap_connect_to_host: Trying xx.xx.xx.105:636
> ldap_pvt_connect: fd: 5 tm: -1 async: 0
> ldap_err2string
> Traceback (most recent call last):
> File "./adauth.py", line 71, in <module>
>
> myldap.bind_s(config.get('ldap','bindDN'),config.get('ldap','bindPASS'))
> File "/usr/lib/python2.7/dist-packages/ldap/ldapobject.py", line 222,
> in bind_s
> msgid = self.bind(who,cred,method)
> File "/usr/lib/python2.7/dist-packages/ldap/ldapobject.py", line 216,
> in bind
> return self.simple_bind(who,cred)
> File "/usr/lib/python2.7/dist-packages/ldap/ldapobject.py", line 201,
> in simple_bind
> return
> self._ldap_call(self._l.simple_bind,who,cred,RequestControlTuples(server
> ctrls),RequestControlTuples(clientctrls))
> File "/usr/lib/python2.7/dist-packages/ldap/ldapobject.py", line 99,
> in _ldap_call
> result = func(*args,**kwargs)
> ldap.SERVER_DOWN: {'desc': "Can't contact LDAP server"}
>
>
>
> -- System Information:
> Debian Release: 7.0
> APT prefers testing
> APT policy: (500, 'testing')
> Architecture: amd64 (x86_64)
>
> Kernel: Linux 3.2.0-4-amd64 (SMP w/4 CPU cores)
> Locale: LANG=en_AU.UTF-8, LC_CTYPE=en_AU.UTF-8 (charmap=UTF-8)
> Shell: /bin/sh linked to /bin/dash
>
> Versions of packages python-ldap depends on:
> ii libc6 2.13-38
> ii libldap-2.4-2 2.4.31-1
> ii python 2.7.3-4
> ii python2.7 2.7.3-6
>
> python-ldap recommends no packages.
>
> Versions of packages python-ldap suggests:
> pn python-ldap-doc <none>
> pn python-pyasn1 <none>
>
> -- no debconf information
smime.p7s
Description: S/MIME Cryptographic Signature

