Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

232 lines
8.6 KiB

  1. LDAP-MESSAGES DEFINITIONS AUTOMATIC TAGS ::=
  2. BEGIN
  3. LDAPMessage ::=
  4. SEQUENCE {
  5. messageID MessageID,
  6. -- unique id in request,
  7. -- to be echoed in response(s)
  8. protocolOp CHOICE {
  9. searchRequest SearchRequest,
  10. searchResponse SearchResponse,
  11. modifyRequest ModifyRequest,
  12. modifyResponse ModifyResponse,
  13. addRequest AddRequest,
  14. addResponse AddResponse,
  15. delRequest DelRequest,
  16. delResponse DelResponse,
  17. modifyRDNRequest ModifyRDNRequest, -- renamed to modifyRDNRequest, arlied --
  18. modifyRDNResponse ModifyRDNResponse, -- renamed to modifyRDNResponse, arlied --
  19. compareDNRequest CompareRequest,
  20. compareDNResponse CompareResponse,
  21. bindRequest BindRequest,
  22. bindResponse BindResponse,
  23. abandonRequest AbandonRequest,
  24. unbindRequest UnbindRequest
  25. }
  26. }
  27. BindRequest ::= [APPLICATION 0] SEQUENCE {
  28. version INTEGER (1 .. 127),
  29. name LDAPDN,
  30. authentication AuthenticationChoice }
  31. AuthenticationChoice ::= CHOICE {
  32. simple [0] OCTET STRING,
  33. -- 1 and 2 reserved
  34. sasl [3] SaslCredentials,
  35. sicilyNegotiate [9] OCTET STRING,
  36. sicilyInitial [10] OCTET STRING,
  37. sicilySubsequent [11] OCTET STRING }
  38. SaslCredentials ::= SEQUENCE {
  39. mechanism LDAPString,
  40. credentials OCTET STRING }
  41. BindResponse ::= [APPLICATION 1] LDAPResult
  42. UnbindRequest ::= [APPLICATION 2] NULL
  43. SearchRequest ::=
  44. [APPLICATION 3] SEQUENCE {
  45. baseObject LDAPDN,
  46. scope ENUMERATED {
  47. baseObject (0),
  48. singleLevel (1),
  49. wholeSubtree (2)
  50. },
  51. derefAliases ENUMERATED {
  52. neverDerefAliases (0),
  53. derefInSearching (1),
  54. derefFindingBaseObj (2),
  55. alwaysDerefAliases (3)
  56. },
  57. sizeLimit INTEGER (0 .. maxInt),
  58. -- value of 0 implies no sizelimit
  59. timeLimit INTEGER (0 .. maxInt),
  60. -- value of 0 implies no timelimit
  61. attrsOnly BOOLEAN,
  62. -- TRUE, if only attributes (without values)
  63. -- to be returned.
  64. filter Filter,
  65. attributes SEQUENCE OF AttributeType
  66. }
  67. SearchResponse ::=
  68. CHOICE {
  69. entry [APPLICATION 4] SEQUENCE {
  70. objectName LDAPDN,
  71. attributes SEQUENCE OF SEQUENCE {
  72. type AttributeType, -- added "type" arlied --
  73. values SET OF -- added "values" arlied --
  74. AttributeValue
  75. }
  76. },
  77. resultCode [APPLICATION 5] LDAPResult
  78. }
  79. ModifyRequest ::=
  80. [APPLICATION 6] SEQUENCE {
  81. object LDAPDN,
  82. modifications SEQUENCE OF SEQUENCE {
  83. operation ENUMERATED {
  84. add (0),
  85. delete (1),
  86. replace (2)
  87. },
  88. modification SEQUENCE {
  89. type AttributeType,
  90. values SET OF
  91. AttributeValue
  92. }
  93. }
  94. }
  95. ModifyResponse ::= [APPLICATION 7] LDAPResult
  96. AddRequest ::=
  97. [APPLICATION 8] SEQUENCE {
  98. entry LDAPDN,
  99. attrs SEQUENCE OF SEQUENCE {
  100. type AttributeType,
  101. values SET OF AttributeValue
  102. }
  103. }
  104. AddResponse ::= [APPLICATION 9] LDAPResult
  105. DelRequest ::= [APPLICATION 10] LDAPDN
  106. DelResponse ::= [APPLICATION 11] LDAPResult
  107. ModifyRDNRequest ::=
  108. [APPLICATION 12] SEQUENCE {
  109. entry LDAPDN,
  110. newrdn RelativeLDAPDN -- old RDN always deleted
  111. }
  112. ModifyRDNResponse ::= [APPLICATION 13] LDAPResult
  113. CompareRequest ::=
  114. [APPLICATION 14] SEQUENCE {
  115. entry LDAPDN,
  116. ava AttributeValueAssertion
  117. }
  118. CompareResponse ::= [APPLICATION 15] LDAPResult
  119. AbandonRequest ::= [APPLICATION 16] MessageID
  120. MessageID ::= INTEGER (0 .. maxInt)
  121. LDAPDN ::= LDAPString
  122. RelativeLDAPDN ::= LDAPString
  123. Filter ::=
  124. CHOICE {
  125. and [0] SET OF Filter,
  126. or [1] SET OF Filter,
  127. -- not [2] Filter, -- -- can't get pointer override to work, arlied --
  128. equalityMatch [3] AttributeValueAssertion,
  129. substrings [4] SubstringFilter,
  130. greaterOrEqual [5] AttributeValueAssertion,
  131. lessOrEqual [6] AttributeValueAssertion,
  132. present [7] AttributeType,
  133. approxMatch [8] AttributeValueAssertion
  134. }
  135. LDAPResult ::=
  136. SEQUENCE {
  137. resultCode ENUMERATED {
  138. success (0),
  139. operationsError (1),
  140. protocolError (2),
  141. timeLimitExceeded (3),
  142. sizeLimitExceeded (4),
  143. compareFalse (5),
  144. compareTrue (6),
  145. authMethodNotSupported (7),
  146. strongAuthRequired (8),
  147. noSuchAttribute (16),
  148. undefinedAttributeType (17),
  149. inappropriateMatching (18),
  150. constraintViolation (19),
  151. attributeOrValueExists (20),
  152. invalidAttributeSyntax (21),
  153. noSuchObject (32),
  154. aliasProblem (33),
  155. invalidDNSyntax (34),
  156. isLeaf (35),
  157. aliasDereferencingProblem (36),
  158. inappropriateAuthentication (48),
  159. invalidCredentials (49),
  160. insufficientAccessRights (50),
  161. busy (51),
  162. unavailable (52),
  163. unwillingToPerform (53),
  164. loopDetect (54),
  165. namingViolation (64),
  166. objectClassViolation (65),
  167. notAllowedOnNonLeaf (66),
  168. notAllowedOnRDN (67),
  169. entryAlreadyExists (68),
  170. objectClassModsProhibited (69),
  171. other (80)
  172. },
  173. matchedDN LDAPDN,
  174. errorMessage LDAPString
  175. }
  176. AttributeType ::= LDAPString
  177. -- text name of the attribute, or dotted
  178. -- OID representation
  179. AttributeValue ::= OCTET STRING
  180. AttributeValueAssertion ::=
  181. SEQUENCE {
  182. attributeType AttributeType,
  183. attributeValue AttributeValue
  184. }
  185. SubstringFilter ::=
  186. SEQUENCE {
  187. type AttributeType,
  188. attributes SEQUENCE OF CHOICE { -- named field "attributes", arlied --
  189. initial [0] LDAPString,
  190. any [1] LDAPString,
  191. final [2] LDAPString
  192. }
  193. }
  194. LDAPString ::= OCTET STRING
  195. maxInt INTEGER ::= 2147483647 -- (2^^31 - 1) --
  196. END