]> git.sur5r.net Git - openldap/blob - doc/guide/admin/appendix-ldap-result-codes.sdf
Merge remote-tracking branch 'origin/mdb.master'
[openldap] / doc / guide / admin / appendix-ldap-result-codes.sdf
1 # $OpenLDAP$
2 # Copyright 2007-2012 The OpenLDAP Foundation, All Rights Reserved.
3 # COPYING RESTRICTIONS APPLY, see COPYRIGHT.
4
5 H1:  LDAP Result Codes
6
7 For the purposes of this guide, we have incorporated the standard LDAP result 
8 codes from {{Appendix A.  LDAP Result Codes}} of {{REF:RFC4511}}, a copy of which can 
9 be found in {{F:doc/rfc}} of the OpenLDAP source code.
10
11 We have expanded the description of each error in relation to the OpenLDAP 
12 toolsets.
13 LDAP extensions may introduce extension-specific result codes, which are not part
14 of RFC4511.
15 OpenLDAP returns the result codes related to extensions it implements.
16 Their meaning is documented in the extension they are related to.
17
18 H2:  Non-Error Result Codes
19
20 These result codes (called "non-error" result codes) do not indicate
21 an error condition:
22
23 >        success (0),
24 >        compareFalse (5),
25 >        compareTrue (6),
26 >        referral (10), and
27 >        saslBindInProgress (14).
28
29 The {{success}}, {{compareTrue}}, and {{compareFalse}} result codes indicate
30 successful completion (and, hence, are referred to as "successful"
31 result codes).
32
33 The {{referral}} and {{saslBindInProgress}} result codes indicate the client
34 needs to take additional action to complete the operation.
35
36 H2:  Result Codes
37
38 Existing LDAP result codes are described as follows:
39
40 H2: success (0)
41
42 Indicates the successful completion of an operation.  
43
44 Note: this code is not used with the Compare operation.  See {{SECT:compareFalse (5)}} 
45 and {{SECT:compareTrue (6)}}.
46
47 H2: operationsError (1)
48
49 Indicates that the operation is not properly sequenced with
50 relation to other operations (of same or different type).
51
52 For example, this code is returned if the client attempts to
53 StartTLS ({{REF:RFC4511}} Section 4.14) while there are other uncompleted operations
54 or if a TLS layer was already installed.
55
56 H2: protocolError (2)
57
58 Indicates the server received data that is not well-formed.
59
60 For Bind operation only, this code is also used to indicate
61 that the server does not support the requested protocol
62 version.
63
64 For Extended operations only, this code is also used to
65 indicate that the server does not support (by design or
66 configuration) the Extended operation associated with the
67 {{requestName}}.
68
69 For request operations specifying multiple controls, this may
70 be used to indicate that the server cannot ignore the order
71 of the controls as specified, or that the combination of the
72 specified controls is invalid or unspecified.
73
74 H2: timeLimitExceeded (3)
75
76 Indicates that the time limit specified by the client was
77 exceeded before the operation could be completed.
78
79 H2: sizeLimitExceeded (4)
80
81 Indicates that the size limit specified by the client was
82 exceeded before the operation could be completed.
83
84 H2: compareFalse (5)
85
86 Indicates that the Compare operation has successfully
87 completed and the assertion has evaluated to FALSE or
88 Undefined.
89
90 H2: compareTrue (6)
91
92 Indicates that the Compare operation has successfully
93 completed and the assertion has evaluated to TRUE.
94
95 H2: authMethodNotSupported (7)
96
97 Indicates that the authentication method or mechanism is not
98 supported.
99
100 H2: strongerAuthRequired (8)
101
102 Indicates the server requires strong(er) authentication in
103 order to complete the operation.
104
105 When used with the Notice of Disconnection operation, this
106 code indicates that the server has detected that an
107 established security association between the client and
108 server has unexpectedly failed or been compromised.
109
110 H2: referral (10)
111
112 Indicates that a referral needs to be chased to complete the
113 operation (see {{REF:RFC4511}} Section 4.1.10).
114
115 H2: adminLimitExceeded (11)
116
117 Indicates that an administrative limit has been exceeded.
118
119 H2: unavailableCriticalExtension (12)
120
121 Indicates a critical control is unrecognized (see {{REF:RFC4511}} Section
122 4.1.11).
123
124 H2: confidentialityRequired (13)
125
126 Indicates that data confidentiality protections are required.
127
128 H2: saslBindInProgress (14)
129
130 Indicates the server requires the client to send a new bind
131 request, with the same SASL mechanism, to continue the
132 authentication process (see {{REF:RFC4511}} Section 4.2).
133
134 H2: noSuchAttribute (16)
135
136 Indicates that the named entry does not contain the specified
137 attribute or attribute value.
138
139 H2: undefinedAttributeType (17)
140
141 Indicates that a request field contains an unrecognized
142 attribute description.
143
144 H2: inappropriateMatching (18)
145
146 Indicates that an attempt was made (e.g., in an assertion) to
147 use a matching rule not defined for the attribute type
148 concerned.
149
150 H2: constraintViolation (19)
151
152 Indicates that the client supplied an attribute value that
153 does not conform to the constraints placed upon it by the
154 data model.
155
156 For example, this code is returned when multiple values are
157 supplied to an attribute that has a SINGLE-VALUE constraint.
158
159 H2: attributeOrValueExists (20)
160
161 Indicates that the client supplied an attribute or value to
162 be added to an entry, but the attribute or value already
163 exists.
164
165 H2: invalidAttributeSyntax (21)
166
167 Indicates that a purported attribute value does not conform
168 to the syntax of the attribute.
169
170 H2: noSuchObject (32)
171
172 Indicates that the object does not exist in the DIT.
173
174 H2: aliasProblem (33)
175
176 Indicates that an alias problem has occurred.  For example,
177 the code may used to indicate an alias has been dereferenced
178 that names no object.
179
180 H2: invalidDNSyntax (34)
181
182 Indicates that an LDAPDN or RelativeLDAPDN field (e.g., search
183 base, target entry, ModifyDN newrdn, etc.) of a request does
184 not conform to the required syntax or contains attribute
185 values that do not conform to the syntax of the attribute's
186 type.
187
188 H2: aliasDereferencingProblem (36)
189
190 Indicates that a problem occurred while dereferencing an
191 alias.  Typically, an alias was encountered in a situation
192 where it was not allowed or where access was denied.
193
194 H2: inappropriateAuthentication (48)
195
196 Indicates the server requires the client that had attempted
197 to bind anonymously or without supplying credentials to
198 provide some form of credentials.
199
200 H2: invalidCredentials (49)
201
202 Indicates that the provided credentials (e.g., the user's name
203 and password) are invalid.
204
205 H2: insufficientAccessRights (50)
206
207 Indicates that the client does not have sufficient access
208 rights to perform the operation.
209
210 H2: busy (51)
211
212 Indicates that the server is too busy to service the
213 operation.
214
215 H2: unavailable (52)
216
217 Indicates that the server is shutting down or a subsystem
218 necessary to complete the operation is offline.
219
220 H2: unwillingToPerform (53)
221
222 Indicates that the server is unwilling to perform the
223 operation.
224
225 H2: loopDetect (54)
226
227 Indicates that the server has detected an internal loop (e.g.,
228 while dereferencing aliases or chaining an operation).
229
230 H2: namingViolation (64)
231
232 Indicates that the entry's name violates naming restrictions.
233
234 H2: objectClassViolation (65)
235
236 Indicates that the entry violates object class restrictions.
237
238 H2: notAllowedOnNonLeaf (66)
239
240 Indicates that the operation is inappropriately acting upon a
241 non-leaf entry.
242
243 H2: notAllowedOnRDN (67)
244
245 Indicates that the operation is inappropriately attempting to
246 remove a value that forms the entry's relative distinguished
247 name.
248
249 H2: entryAlreadyExists (68)
250
251 Indicates that the request cannot be fulfilled (added, moved,
252 or renamed) as the target entry already exists.
253
254 H2: objectClassModsProhibited (69)
255
256 Indicates that an attempt to modify the object class(es) of
257 an entry's 'objectClass' attribute is prohibited.
258
259 For example, this code is returned when a client attempts to
260 modify the structural object class of an entry.
261
262 H2: affectsMultipleDSAs (71)
263
264 Indicates that the operation cannot be performed as it would
265 affect multiple servers (DSAs).
266
267 H2: other (80)
268
269 Indicates the server has encountered an internal error.