ldapcontrols.py 831 B

123456789101112131415161718192021222324252627282930313233
  1. import ldap,ldapurl,pprint
  2. from ldap.controls import LDAPControl,BooleanControl
  3. l = ldap.initialize('ldap://localhost:1390',trace_level=2)
  4. print 60*'#'
  5. pprint.pprint(l.get_option(ldap.OPT_SERVER_CONTROLS))
  6. l.manage_dsa_it(1,1)
  7. pprint.pprint(l.get_option(ldap.OPT_SERVER_CONTROLS))
  8. print 60*'#'
  9. # Search with ManageDsaIT control (which has no value)
  10. pprint.pprint(l.search_ext_s(
  11. 'cn=Test-Referral,ou=Testing,dc=stroeder,dc=de',
  12. ldap.SCOPE_BASE,
  13. '(objectClass=*)',
  14. ['*','+'],
  15. serverctrls = [ LDAPControl('2.16.840.1.113730.3.4.2',1,None) ],
  16. ))
  17. print 60*'#'
  18. # Search with Subentries control (which has boolean value)
  19. pprint.pprint(l.search_ext_s(
  20. 'dc=stroeder,dc=de',
  21. ldap.SCOPE_SUBTREE,
  22. '(objectClass=subentry)',
  23. ['*','+'],
  24. serverctrls = [ BooleanControl('1.3.6.1.4.1.4203.1.10.1',1,1) ],
  25. ))
  26. print 60*'#'