]> git.sur5r.net Git - openldap/blob - servers/ldapd/ldap.py
Update default access usage comment.
[openldap] / servers / ldapd / ldap.py
1 LDAP DEFINITIONS IMPLICIT TAGS ::=
2
3 PREFIXES encode decode print
4
5 BEGIN
6
7 LDAPMessage ::=
8     SEQUENCE {
9          messageID      MessageID,
10                         -- unique id in request,
11                         -- to be echoed in response(s)
12          protocolOp     CHOICE {
13                              searchRequest       SearchRequest,
14                              searchResponse      SearchResponse,
15                              modifyRequest       ModifyRequest,
16                              modifyResponse      ModifyResponse,
17                              addRequest          AddRequest,
18                              addResponse         AddResponse,
19                              delRequest          DelRequest,
20                              delResponse         DelResponse,
21                              modifyDNRequest     ModifyRDNRequest,
22                              modifyDNResponse    ModifyRDNResponse,
23                              compareDNRequest    CompareRequest,
24                              compareDNResponse   CompareResponse,
25                              bindRequest         BindRequest,
26                              bindResponse        BindResponse,
27                              abandonRequest      AbandonRequest,
28                              unbindRequest       UnbindRequest
29                         }
30     }
31
32 BindRequest ::=
33     [APPLICATION 0] SEQUENCE {
34          version        INTEGER (1 .. 127),
35                         -- current version is 2
36          name           LDAPDN,
37                         -- null name implies an anonymous bind
38          authentication CHOICE {
39                              simple        [0] OCTET STRING,
40                                        -- a zero length octet string
41                                        -- implies an unauthenticated
42                                        -- bind.
43                              krbv42LDAP    [1] OCTET STRING,
44                              krbv42DSA     [2] OCTET STRING
45                                        -- values as returned by
46                                        -- krb_mk_req()
47                                        -- Other values in later
48                                        -- versions of this protocol.
49                         }
50     }
51
52 BindResponse ::= [APPLICATION 1] LDAPResult
53
54 UnbindRequest ::= [APPLICATION 2] NULL
55
56 SearchRequest ::=
57     [APPLICATION 3] SEQUENCE {
58          baseObject     LDAPDN,
59          scope          ENUMERATED {
60                              baseObject            (0),
61                              singleLevel           (1),
62                              wholeSubtree          (2)
63                         },
64          derefAliases   ENUMERATED {
65                              neverDerefAliases     (0),
66                              derefInSearching      (1),
67                              derefFindingBaseObj   (2),
68                              alwaysDerefAliases    (3)
69                         },
70          sizeLimit      INTEGER (0 .. maxInt),
71                         -- value of 0 implies no sizelimit
72          timeLimit      INTEGER (0 .. maxInt),
73                         -- value of 0 implies no timelimit
74          attrsOnly     BOOLEAN,
75                         -- TRUE, if only attributes (without values)
76                         -- to be returned.
77          filter         Filter,
78          attributes     SEQUENCE OF AttributeType
79     }
80
81 SearchResponse ::=
82     CHOICE {
83          entry          [APPLICATION 4] SEQUENCE {
84                              objectName     LDAPDN,
85                              attributes     SEQUENCE OF SEQUENCE {
86                                               AttributeType,
87                                               SET OF
88                                                 AttributeValue
89                                             }
90                         },
91          resultCode     [APPLICATION 5] LDAPResult
92     }
93
94 ModifyRequest ::=
95     [APPLICATION 6] SEQUENCE {
96          object         LDAPDN,
97          modifications  SEQUENCE OF SEQUENCE {
98                              operation     ENUMERATED {
99                                              add      (0),
100                                              delete   (1),
101                                              replace  (2)
102                                            },
103                              modification  SEQUENCE {
104                                              type     AttributeType,
105                                              values   SET OF
106                                                         AttributeValue
107                                            }
108                         }
109     }
110
111
112 ModifyResponse ::= [APPLICATION 7] LDAPResult
113
114 AddRequest ::=
115     [APPLICATION 8] SEQUENCE {
116          entry          LDAPDN,
117          attrs          SEQUENCE OF SEQUENCE {
118                              type          AttributeType,
119                              values        SET OF AttributeValue
120                         }
121     }
122
123 AddResponse ::= [APPLICATION 9] LDAPResult
124
125 DelRequest ::= [APPLICATION 10] LDAPDN
126
127 DelResponse ::= [APPLICATION 11] LDAPResult
128
129 ModifyRDNRequest ::=
130     [APPLICATION 12] SEQUENCE {
131          entry          LDAPDN,
132          newrdn         RelativeLDAPDN -- old RDN always deleted
133     }
134
135 ModifyRDNResponse ::= [APPLICATION 13] LDAPResult
136
137 CompareRequest ::=
138     [APPLICATION 14] SEQUENCE {
139          entry          LDAPDN,
140          ava            AttributeValueAssertion
141     }
142
143 CompareResponse ::= [APPLICATION 15] LDAPResult
144
145 AbandonRequest ::= [APPLICATION 16] MessageID
146
147 MessageID ::= INTEGER (0 .. maxInt)
148
149 LDAPDN ::= OCTET STRING
150
151 RelativeLDAPDN ::= OCTET STRING
152
153 Filter ::=
154     CHOICE {
155         and            [0] SET OF Filter,
156         or             [1] SET OF Filter,
157         not            [2] Filter,
158         equalityMatch  [3] AttributeValueAssertion,
159         substrings     [4] SubstringFilter,
160         greaterOrEqual [5] AttributeValueAssertion,
161         lessOrEqual    [6] AttributeValueAssertion,
162         present        [7] AttributeType,
163         approxMatch    [8] AttributeValueAssertion
164     }
165
166 LDAPResult ::=
167     SEQUENCE {
168         resultCode    ENUMERATED {
169                         success                      (0),
170                         operationsError              (1),
171                         protocolError                (2),
172                         timeLimitExceeded            (3),
173                         sizeLimitExceeded            (4),
174                         compareFalse                 (5),
175                         compareTrue                  (6),
176                         authMethodNotSupported       (7),
177                         strongAuthRequired           (8),
178                         noSuchAttribute              (16),
179                         undefinedAttributeType       (17),
180                         inappropriateMatching        (18),
181                         constraintViolation          (19),
182                         attributeOrValueExists       (20),
183                         invalidAttributeSyntax       (21),
184                         noSuchObject                 (32),
185                         aliasProblem                 (33),
186                         invalidDNSyntax              (34),
187                         isLeaf                       (35),
188                         aliasDereferencingProblem    (36),
189                         inappropriateAuthentication  (48),
190                         invalidCredentials           (49),
191                         insufficientAccessRights     (50),
192                         busy                         (51),
193                         unavailable                  (52),
194                         unwillingToPerform           (53),
195                         loopDetect                   (54),
196                         namingViolation              (64),
197                         objectClassViolation         (65),
198                         notAllowedOnNonLeaf          (66),
199                         notAllowedOnRDN              (67),
200                         entryAlreadyExists           (68),
201                         objectClassModsProhibited    (69),
202                         other                        (80)
203                       },
204         matchedDN     LDAPDN,
205         errorMessage  OCTET STRING
206     }
207
208 AttributeType ::= OCTET STRING
209                 -- text name of the attribute, or dotted
210                 -- OID representation
211
212 AttributeValue ::= OCTET STRING
213
214 AttributeValueAssertion ::=
215     SEQUENCE {
216         attributeType        AttributeType,
217         attributeValue       AttributeValue
218     }
219
220 SubstringFilter ::=
221     SEQUENCE {
222         type               AttributeType,
223         SEQUENCE OF CHOICE {
224           initial          [0] OCTET STRING,
225           any              [1] OCTET STRING,
226           final            [2] OCTET STRING
227       }
228     }
229
230 maxInt INTEGER ::= 65535
231 END