1 # $OpenLDAP: pkg/openldap-guide/admin/appendix-ldap-result-codes.sdf,v 1.1.2.4 2008/02/11 23:26:39 kurt Exp $
2 # Copyright 2007-2008 The OpenLDAP Foundation, All Rights Reserved.
3 # COPYING RESTRICTIONS APPLY, see COPYRIGHT.
7 For the purposes of this guide, we have incorporated the standard LDAP result
8 codes from {{Appendix A. LDAP Result Codes}} of rfc4511. A copy of which can
9 be found in {{F:doc/rfc}} of the OpenLDAP source code.
11 We have expanded the description of each error in relation to the OpenLDAP
14 H2: Non-Error Result Codes
16 These result codes (called "non-error" result codes) do not indicate
23 > saslBindInProgress (14).
25 The {{success}}, {{compareTrue}}, and {{compareFalse}} result codes indicate
26 successful completion (and, hence, are referred to as "successful"
29 The {{referral}} and {{saslBindInProgress}} result codes indicate the client
30 needs to take additional action to complete the operation.
34 Existing LDAP result codes are described as follows:
38 Indicates the successful completion of an operation.
40 Note: this code is not used with the Compare operation. See {{SECT:compareFalse (5)}}
41 and {{SECT:compareTrue (6)}}.
43 H2: {{operationsError (1)}}
45 Indicates that the operation is not properly sequenced with
46 relation to other operations (of same or different type).
48 For example, this code is returned if the client attempts to
49 StartTLS [RFC4346] while there are other uncompleted operations
50 or if a TLS layer was already installed.
52 H2: {{protocolError (2)}}
54 Indicates the server received data that is not well-formed.
56 For Bind operation only, this code is also used to indicate
57 that the server does not support the requested protocol
60 For Extended operations only, this code is also used to
61 indicate that the server does not support (by design or
62 configuration) the Extended operation associated with the
65 For request operations specifying multiple controls, this may
66 be used to indicate that the server cannot ignore the order
67 of the controls as specified, or that the combination of the
68 specified controls is invalid or unspecified.
70 H2: {{timeLimitExceeded (3)}}
72 Indicates that the time limit specified by the client was
73 exceeded before the operation could be completed.
75 H2: {{sizeLimitExceeded (4)}}
77 Indicates that the size limit specified by the client was
78 exceeded before the operation could be completed.
80 H2: {{compareFalse (5)}}
82 Indicates that the Compare operation has successfully
83 completed and the assertion has evaluated to FALSE or
86 H2: {{compareTrue (6)}}
88 Indicates that the Compare operation has successfully
89 completed and the assertion has evaluated to TRUE.
91 H2: {{authMethodNotSupported (7)}}
93 Indicates that the authentication method or mechanism is not
96 H2: {{strongerAuthRequired (8)}}
98 Indicates the server requires strong(er) authentication in
99 order to complete the operation.
101 When used with the Notice of Disconnection operation, this
102 code indicates that the server has detected that an
103 established security association between the client and
104 server has unexpectedly failed or been compromised.
106 H2: {{referral (10)}}
108 Indicates that a referral needs to be chased to complete the
109 operation (see Section 4.1.10).
111 H2: {{adminLimitExceeded (11)}}
113 Indicates that an administrative limit has been exceeded.
115 H2: {{unavailableCriticalExtension (12)}}
117 Indicates a critical control is unrecognized (see Section
120 H2: {{confidentialityRequired (13)}}
122 Indicates that data confidentiality protections are required.
124 H2: {{saslBindInProgress (14)}}
126 Indicates the server requires the client to send a new bind
127 request, with the same SASL mechanism, to continue the
128 authentication process (see Section 4.2).
130 H2: {{noSuchAttribute (16)}}
132 Indicates that the named entry does not contain the specified
133 attribute or attribute value.
135 H2: {{undefinedAttributeType (17)}}
137 Indicates that a request field contains an unrecognized
138 attribute description.
140 H2: {{inappropriateMatching (18)}}
142 Indicates that an attempt was made (e.g., in an assertion) to
143 use a matching rule not defined for the attribute type
146 H2: {{constraintViolation (19)}}
148 Indicates that the client supplied an attribute value that
149 does not conform to the constraints placed upon it by the
152 For example, this code is returned when multiple values are
153 supplied to an attribute that has a SINGLE-VALUE constraint.
155 H2: {{attributeOrValueExists (20)}}
157 Indicates that the client supplied an attribute or value to
158 be added to an entry, but the attribute or value already
161 H2: {{invalidAttributeSyntax (21)}}
163 Indicates that a purported attribute value does not conform
164 to the syntax of the attribute.
166 H2: {{noSuchObject (32)}}
168 Indicates that the object does not exist in the DIT.
170 H2: {{aliasProblem (33)}}
172 Indicates that an alias problem has occurred. For example,
173 the code may used to indicate an alias has been dereferenced
174 that names no object.
176 H2: {{invalidDNSyntax (34)}}
178 Indicates that an LDAPDN or RelativeLDAPDN field (e.g., search
179 base, target entry, ModifyDN newrdn, etc.) of a request does
180 not conform to the required syntax or contains attribute
181 values that do not conform to the syntax of the attribute's
184 H2: {{aliasDereferencingProblem (36)}}
186 Indicates that a problem occurred while dereferencing an
187 alias. Typically, an alias was encountered in a situation
188 where it was not allowed or where access was denied.
190 H2: {{inappropriateAuthentication (48)}}
192 Indicates the server requires the client that had attempted
193 to bind anonymously or without supplying credentials to
194 provide some form of credentials.
196 H2: {{invalidCredentials (49)}}
198 Indicates that the provided credentials (e.g., the user's name
199 and password) are invalid.
201 H2: {{insufficientAccessRights (50)}}
203 Indicates that the client does not have sufficient access
204 rights to perform the operation.
208 Indicates that the server is too busy to service the
211 H2: {{unavailable (52)}}
213 Indicates that the server is shutting down or a subsystem
214 necessary to complete the operation is offline.
216 H2: {{unwillingToPerform (53)}}
218 Indicates that the server is unwilling to perform the
221 H2: {{loopDetect (54)}}
223 Indicates that the server has detected an internal loop (e.g.,
224 while dereferencing aliases or chaining an operation).
226 H2: {{namingViolation (64)}}
228 Indicates that the entry's name violates naming restrictions.
230 H2: {{objectClassViolation (65)}}
232 Indicates that the entry violates object class restrictions.
234 H2: {{notAllowedOnNonLeaf (66)}}
236 Indicates that the operation is inappropriately acting upon a
239 H2: {{notAllowedOnRDN (67)}}
241 Indicates that the operation is inappropriately attempting to
242 remove a value that forms the entry's relative distinguished
245 H2: {{entryAlreadyExists (68)}}
247 Indicates that the request cannot be fulfilled (added, moved,
248 or renamed) as the target entry already exists.
250 H2: {{objectClassModsProhibited (69)}}
252 Indicates that an attempt to modify the object class(es) of
253 an entry's 'objectClass' attribute is prohibited.
255 For example, this code is returned when a client attempts to
256 modify the structural object class of an entry.
258 H2: {{affectsMultipleDSAs (71)}}
260 Indicates that the operation cannot be performed as it would
261 affect multiple servers (DSAs).
265 Indicates the server has encountered an internal error.