asynchronous search does not find referrals

Robert Sander ml-it-python-ldap-dev at epigenomics.com
Fri Aug 9 09:39:25 CEST 2002


Hi!

I do not know if I make something wrong here, but it seems to me that
asynchronous searching does not find referrals in the tree. The example
code as follows:

#!/usr/bin/python

import ldap

l=ldap.initialize('ldap://ldap-hm')
l.set_option(ldap.OPT_PROTOCOL_VERSION,ldap.VERSION3)
l.set_option(ldap.OPT_REFERRALS,0)
result = l.search('o=epigenomics',ldap.SCOPE_ONELEVEL,'(objectClass=*)')
while 1:
    result_type, result_data = l.result(result, 0)
    if result_type == ldap.RES_SEARCH_ENTRY:
        print result_data
    elif result_type == ldap.RES_SEARCH_RESULT:
        print result_data
        break

print

for i in
l.search_s('o=epigenomics',ldap.SCOPE_ONELEVEL,'(objectClass=*)'):
    print i

And the output is:

defiant gurubert 43 (/tmp): ./test.py
[('cn=admin,o=epigenomics', {'objectClass': ['person'], 'sn': ['admin'], 'cn': ['admin']})]
[('cn=updated,o=epigenomics', {'objectClass': ['person'], 'sn': ['updated'], 'cn': ['updated']})]
[('cn=readout,o=epigenomics', {'objectClass': ['person'], 'sn': ['readout'], 'cn': ['readout']})]
[('c=de,o=epigenomics', {'c': ['de'], 'objectClass': ['country']})]
[('c=us,o=epigenomics', {'c': ['us'], 'objectClass': ['country']})]
[('ou=groups,o=epigenomics', {'ou': ['groups'], 'objectClass': ['organizationalUnit']})]
[('ou=autofs,o=epigenomics', {'ou': ['autofs'], 'objectClass': ['organizationalUnit']})]
[('cn=gchange,o=epigenomics', {'objectClass': ['person'], 'sn': ['GroupChange'], 'cn': ['gchange']})]
[('ou=testtree,o=epigenomics', {'ou': ['testtree'], 'objectClass': ['organizationalUnit']})]
None

('cn=admin,o=epigenomics', {'objectClass': ['person'], 'sn': ['admin'], 'cn': ['admin']})
('cn=updated,o=epigenomics', {'objectClass': ['person'], 'sn': ['updated'], 'cn': ['updated']})
('cn=readout,o=epigenomics', {'objectClass': ['person'], 'sn': ['readout'], 'cn': ['readout']})
('c=de,o=epigenomics', {'c': ['de'], 'objectClass': ['country']})
('c=us,o=epigenomics', {'c': ['us'], 'objectClass': ['country']})
('ou=groups,o=epigenomics', {'ou': ['groups'], 'objectClass': ['organizationalUnit']})
('ou=autofs,o=epigenomics', {'ou': ['autofs'], 'objectClass': ['organizationalUnit']})
('cn=gchange,o=epigenomics', {'objectClass': ['person'], 'sn': ['GroupChange'], 'cn': ['gchange']})
(None, ['ldap://ldap-hm/ou=Inc,o=epigenomics'])
('ou=testtree,o=epigenomics', {'ou': ['testtree'], 'objectClass': ['organizationalUnit']})

This makes it impossible to use asynchronous searching on a tree with
referrals implemented.

Greetings
-- 
Robert Sander
Manager
Information Systems        www.epigenomics.com        Kastanienallee 24
+493024345330                                              10435 Berlin





More information about the python-ldap mailing list