Hanging during ldaps
Mauro Cicognini
mcicogni at libero.it
Mon Jan 5 19:51:59 CET 2004
Goucher, Adam wrote:
>I'm trying to use python-ldap to connect to an iplanet 5.1 ldap.
>Connecting via ldap:// works, but the script is hanging when connecting
>through ldaps://. Can anyone see what I am doing wrong?
>
><script>
>import ldap
>ldap.set_option(ldap.OPT_DEBUG_LEVEL, 5)
>
># build our uri
>uri = "ldaps://ldap_host:6360"
>
># connect to the ldap server
>p_handle = ldap.initialize(uri)
>p_handle.protocol_version = ldap.VERSION3
>
># bind
>p_handle.simple_bind("cn=directory manager", "*****")
>
># search so we know we are connected
>p_search = p_handle.search("", ldap.SCOPE_BASE, "objectclass=*")
>
>
This call looks strange to me: iPlanet has always wanted a real base
there (i.e., no "" as you possibly could using Active Directory, but a
correct search base for your server like "dc=ldapserver, dc=acme,
dc=com" or similar).
If you say it does work using plain LDAP, however, this cannot be the
reason for your script hanging, still I'm amazed it does, the RFC
clearly states that you must explicitly set the search base and iPlanet
have always prided themselves in being standards compliant (not like
that other major software vendor ;-)
>p_return = p_handle.result(p_search)
>res_type, res_values = p_return
>print res_values
></script>
>
><output>
>ldap_create
>ldap_url_parse_ext(ldaps://ldap_host:6360)
>ldap_bind
>ldap_simple_bind
>ldap_sasl_bind
>ldap_send_initial_request
>ldap_new_connection
>ldap_int_open_connection
>ldap_connect_to_host: TCP ldap_host:6360
>ldap_new_socket: 1904
>ldap_prepare_socket: 1904
>ldap_connect_to_host: Trying ldap_ip:6360
>ldap_connect_timeout: fd: 1904 tm: -1 async: 0
>ldap_ndelay_on: 1904
>ldap_ndelay_off: 1904
>ldap_open_defconn: successful
>ldap_send_server_request
>ldap_search_ext
>put_filter: "objectclass=*"
>put_filter: default
>put_simple_filter: "objectclass=*"
>ldap_send_initial_request
>ldap_send_server_request
>ldap_result msgid 2
>ldap_chkResponseList for msgid=2, all=1
>ldap_chkResponseList for msgid=2, all=1
>ldap_int_select
></ouput>
>
>I am using python 2.3.2 for windows, and the python-ldap module found at
>http://www.zope.org/Members/volkerw/LdapWin32.dsdfs
>
>
I don't know this module, however you might want to give a try to my
Win32 binary of Python-LDAP, you can find it at
http://www.siosistemi.it/~mcicogni/ at the beginning of the page under
"Python stuff".
Beware, your mileage may vary.
If this doesn't work, either, it *might* be that your server isn't
configured correctly (i.e., TLS Certificates and such): do other LDAPS
client work?
Mauro
More information about the python-ldap
mailing list