ldap-controls.rst 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204
  1. .. % $Id: ldap-controls.rst,v 1.10 2011/07/23 08:15:38 stroeder Exp $
  2. *********************************************************************
  3. :py:mod:`ldap.controls` High-level access to LDAPv3 extended controls
  4. *********************************************************************
  5. .. py:module:: ldap.controls
  6. :synopsis: High-level access to LDAPv3 extended controls.
  7. .. moduleauthor:: python-ldap project (see http://www.python-ldap.org/)
  8. Variables
  9. =========
  10. .. py:data:: KNOWN_RESPONSE_CONTROLS
  11. Dictionary mapping the OIDs of known response controls to the accompanying
  12. :py:class:`ResponseControl` classes. This is used
  13. by :py:func:`DecodeControlTuples` to automatically decode control values.
  14. Calling application can also register their custom :py:class:`ResponseControl`
  15. classes in this dictionary possibly overriding pre-registered classes.
  16. Classes
  17. =======
  18. This module defines the following classes:
  19. .. autoclass:: ldap.controls.RequestControl
  20. :members:
  21. .. autoclass:: ldap.controls.ResponseControl
  22. :members:
  23. .. autoclass:: ldap.controls.LDAPControl
  24. :members:
  25. Functions
  26. =========
  27. This module defines the following functions:
  28. .. autofunction:: ldap.controls.RequestControlTuples
  29. .. autofunction:: ldap.controls.DecodeControlTuples
  30. Sub-modules
  31. ===========
  32. Various sub-modules implement specific LDAPv3 extended controls. The classes
  33. therein are derived from the base-classes :py:class:`ldap.controls.RequestControl`,
  34. :py:class:`ldap.controls.ResponseControl` or :py:class:`ldap.controls.LDAPControl`.
  35. Some of them require :py:mod:`pyasn1` and :py:mod:`pyasn1_modules` to be installed:
  36. Usually the names of the method arguments and the class attributes match
  37. the ASN.1 identifiers used in the specification. So looking at the referenced
  38. RFC or Internet-Draft is very helpful to understand the API.
  39. :py:mod:`ldap.controls.simple` Very simple controls
  40. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  41. .. py:module:: ldap.controls.simple
  42. :synopsis: simple request and response controls implemented in pure Python
  43. .. autoclass:: ldap.controls.simple.ValueLessRequestControl
  44. :members:
  45. .. autoclass:: ldap.controls.simple.OctetStringInteger
  46. :members:
  47. .. autoclass:: ldap.controls.simple.BooleanControl
  48. :members:
  49. .. autoclass:: ldap.controls.simple.ManageDSAITControl
  50. :members:
  51. .. seealso::
  52. :rfc:`3296` - Named Subordinate References in Lightweight Directory Access Protocol (LDAP) Directories
  53. .. autoclass:: ldap.controls.simple.RelaxRulesControl
  54. :members:
  55. .. seealso::
  56. http://tools.ietf.org/draft/draft-zeilenga-ldap-relax/
  57. .. autoclass:: ldap.controls.simple.ProxyAuthzControl
  58. :members:
  59. .. seealso::
  60. :rfc:`4370` - Lightweight Directory Access Protocol (LDAP): Proxied Authorization Control
  61. .. autoclass:: ldap.controls.simple.AuthorizationIdentityControl
  62. :members:
  63. .. seealso::
  64. :rfc:`3829` - Lightweight Directory Access Protocol (LDAP): Authorization Identity Request and Response Controls
  65. .. autoclass:: ldap.controls.simple.GetEffectiveRightsControl
  66. :members:
  67. :py:mod:`ldap.controls.libldap` Various controls implemented in OpenLDAP libs
  68. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  69. .. py:module:: ldap.controls.libldap
  70. :synopsis: request and response controls implemented by OpenLDAP libs
  71. This module wraps C functions in OpenLDAP client libs which implement various
  72. request and response controls into Python classes.
  73. .. autoclass:: ldap.controls.libldap.AssertionControl
  74. :members:
  75. .. seealso::
  76. :rfc:`4528` - Lightweight Directory Access Protocol (LDAP) Assertion Control
  77. .. autoclass:: ldap.controls.libldap.MatchedValuesControl
  78. :members:
  79. .. seealso::
  80. :rfc:`3876` - Returning Matched Values with the Lightweight Directory Access Protocol version 3 (LDAPv3)
  81. .. autoclass:: ldap.controls.libldap.SimplePagedResultsControl
  82. :members:
  83. .. seealso::
  84. :rfc:`2696` - LDAP Control Extension for Simple Paged Results Manipulation
  85. :py:mod:`ldap.controls.psearch` LDAP Persistent Search
  86. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  87. .. py:module:: ldap.controls.psearch
  88. :synopsis: request and response controls for LDAP persistent search
  89. This module implements request and response controls for LDAP persistent
  90. search.
  91. .. seealso::
  92. http://tools.ietf.org/html/draft-ietf-ldapext-psearch
  93. .. autoclass:: ldap.controls.psearch.PersistentSearchControl
  94. :members:
  95. .. autoclass:: ldap.controls.psearch.EntryChangeNotificationControl
  96. :members:
  97. :py:mod:`ldap.controls.sessiontrack` Session tracking control
  98. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  99. .. py:module:: ldap.controls.sessiontrack
  100. :synopsis: request control for session tracking
  101. .. seealso::
  102. http://tools.ietf.org/html/draft-wahl-ldap-session
  103. .. autoclass:: ldap.controls.sessiontrack.SessionTrackingControl
  104. :members:
  105. :py:mod:`ldap.controls.readentry` Read entry control
  106. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  107. .. py:module:: ldap.controls.readentry
  108. :synopsis: read entryrequest and response controls
  109. .. seealso::
  110. :rfc:`4527` - Lightweight Directory Access Protocol (LDAP): Read Entry Controls
  111. .. autoclass:: ldap.controls.readentry.ReadEntryControl
  112. :members:
  113. .. autoclass:: ldap.controls.readentry.PreReadControl
  114. :members:
  115. .. autoclass:: ldap.controls.readentry.PostReadControl
  116. :members: