xref: /netbsd-src/external/bsd/openldap/dist/doc/guide/admin/appendix-ldap-result-codes.sdf (revision e670fd5c413e99c2f6a37901bb21c537fcd322d2)
1d11b170bStron# $OpenLDAP$
2*e670fd5cSchristos# Copyright 2007-2021 The OpenLDAP Foundation, All Rights Reserved.
32de962bdSlukem# COPYING RESTRICTIONS APPLY, see COPYRIGHT.
42de962bdSlukem
52de962bdSlukemH1:  LDAP Result Codes
62de962bdSlukem
72de962bdSlukemFor the purposes of this guide, we have incorporated the standard LDAP result
84e6df137Slukemcodes from {{Appendix A.  LDAP Result Codes}} of {{REF:RFC4511}}, a copy of which can
92de962bdSlukembe found in {{F:doc/rfc}} of the OpenLDAP source code.
102de962bdSlukem
112de962bdSlukemWe have expanded the description of each error in relation to the OpenLDAP
122de962bdSlukemtoolsets.
134e6df137SlukemLDAP extensions may introduce extension-specific result codes, which are not part
144e6df137Slukemof RFC4511.
154e6df137SlukemOpenLDAP returns the result codes related to extensions it implements.
164e6df137SlukemTheir meaning is documented in the extension they are related to.
172de962bdSlukem
182de962bdSlukemH2:  Non-Error Result Codes
192de962bdSlukem
202de962bdSlukemThese result codes (called "non-error" result codes) do not indicate
212de962bdSlukeman error condition:
222de962bdSlukem
232de962bdSlukem>        success (0),
242de962bdSlukem>        compareFalse (5),
252de962bdSlukem>        compareTrue (6),
262de962bdSlukem>        referral (10), and
272de962bdSlukem>        saslBindInProgress (14).
282de962bdSlukem
292de962bdSlukemThe {{success}}, {{compareTrue}}, and {{compareFalse}} result codes indicate
302de962bdSlukemsuccessful completion (and, hence, are referred to as "successful"
312de962bdSlukemresult codes).
322de962bdSlukem
332de962bdSlukemThe {{referral}} and {{saslBindInProgress}} result codes indicate the client
342de962bdSlukemneeds to take additional action to complete the operation.
352de962bdSlukem
362de962bdSlukemH2:  Result Codes
372de962bdSlukem
382de962bdSlukemExisting LDAP result codes are described as follows:
392de962bdSlukem
404e6df137SlukemH2: success (0)
412de962bdSlukem
422de962bdSlukemIndicates the successful completion of an operation.
432de962bdSlukem
442de962bdSlukemNote: this code is not used with the Compare operation.  See {{SECT:compareFalse (5)}}
452de962bdSlukemand {{SECT:compareTrue (6)}}.
462de962bdSlukem
474e6df137SlukemH2: operationsError (1)
482de962bdSlukem
492de962bdSlukemIndicates that the operation is not properly sequenced with
502de962bdSlukemrelation to other operations (of same or different type).
512de962bdSlukem
522de962bdSlukemFor example, this code is returned if the client attempts to
534e6df137SlukemStartTLS ({{REF:RFC4511}} Section 4.14) while there are other uncompleted operations
542de962bdSlukemor if a TLS layer was already installed.
552de962bdSlukem
564e6df137SlukemH2: protocolError (2)
572de962bdSlukem
582de962bdSlukemIndicates the server received data that is not well-formed.
592de962bdSlukem
602de962bdSlukemFor Bind operation only, this code is also used to indicate
612de962bdSlukemthat the server does not support the requested protocol
622de962bdSlukemversion.
632de962bdSlukem
642de962bdSlukemFor Extended operations only, this code is also used to
652de962bdSlukemindicate that the server does not support (by design or
662de962bdSlukemconfiguration) the Extended operation associated with the
672de962bdSlukem{{requestName}}.
682de962bdSlukem
692de962bdSlukemFor request operations specifying multiple controls, this may
702de962bdSlukembe used to indicate that the server cannot ignore the order
712de962bdSlukemof the controls as specified, or that the combination of the
722de962bdSlukemspecified controls is invalid or unspecified.
732de962bdSlukem
744e6df137SlukemH2: timeLimitExceeded (3)
752de962bdSlukem
762de962bdSlukemIndicates that the time limit specified by the client was
772de962bdSlukemexceeded before the operation could be completed.
782de962bdSlukem
794e6df137SlukemH2: sizeLimitExceeded (4)
802de962bdSlukem
812de962bdSlukemIndicates that the size limit specified by the client was
822de962bdSlukemexceeded before the operation could be completed.
832de962bdSlukem
844e6df137SlukemH2: compareFalse (5)
852de962bdSlukem
862de962bdSlukemIndicates that the Compare operation has successfully
872de962bdSlukemcompleted and the assertion has evaluated to FALSE or
882de962bdSlukemUndefined.
892de962bdSlukem
904e6df137SlukemH2: compareTrue (6)
912de962bdSlukem
922de962bdSlukemIndicates that the Compare operation has successfully
932de962bdSlukemcompleted and the assertion has evaluated to TRUE.
942de962bdSlukem
954e6df137SlukemH2: authMethodNotSupported (7)
962de962bdSlukem
972de962bdSlukemIndicates that the authentication method or mechanism is not
982de962bdSlukemsupported.
992de962bdSlukem
1004e6df137SlukemH2: strongerAuthRequired (8)
1012de962bdSlukem
1022de962bdSlukemIndicates the server requires strong(er) authentication in
1032de962bdSlukemorder to complete the operation.
1042de962bdSlukem
1052de962bdSlukemWhen used with the Notice of Disconnection operation, this
1062de962bdSlukemcode indicates that the server has detected that an
1072de962bdSlukemestablished security association between the client and
1082de962bdSlukemserver has unexpectedly failed or been compromised.
1092de962bdSlukem
1104e6df137SlukemH2: referral (10)
1112de962bdSlukem
1122de962bdSlukemIndicates that a referral needs to be chased to complete the
1134e6df137Slukemoperation (see {{REF:RFC4511}} Section 4.1.10).
1142de962bdSlukem
1154e6df137SlukemH2: adminLimitExceeded (11)
1162de962bdSlukem
1172de962bdSlukemIndicates that an administrative limit has been exceeded.
1182de962bdSlukem
1194e6df137SlukemH2: unavailableCriticalExtension (12)
1202de962bdSlukem
1214e6df137SlukemIndicates a critical control is unrecognized (see {{REF:RFC4511}} Section
1222de962bdSlukem4.1.11).
1232de962bdSlukem
1244e6df137SlukemH2: confidentialityRequired (13)
1252de962bdSlukem
1262de962bdSlukemIndicates that data confidentiality protections are required.
1272de962bdSlukem
1284e6df137SlukemH2: saslBindInProgress (14)
1292de962bdSlukem
1302de962bdSlukemIndicates the server requires the client to send a new bind
1312de962bdSlukemrequest, with the same SASL mechanism, to continue the
1324e6df137Slukemauthentication process (see {{REF:RFC4511}} Section 4.2).
1332de962bdSlukem
1344e6df137SlukemH2: noSuchAttribute (16)
1352de962bdSlukem
1362de962bdSlukemIndicates that the named entry does not contain the specified
1372de962bdSlukemattribute or attribute value.
1382de962bdSlukem
1394e6df137SlukemH2: undefinedAttributeType (17)
1402de962bdSlukem
1412de962bdSlukemIndicates that a request field contains an unrecognized
1422de962bdSlukemattribute description.
1432de962bdSlukem
1444e6df137SlukemH2: inappropriateMatching (18)
1452de962bdSlukem
1462de962bdSlukemIndicates that an attempt was made (e.g., in an assertion) to
1472de962bdSlukemuse a matching rule not defined for the attribute type
1482de962bdSlukemconcerned.
1492de962bdSlukem
1504e6df137SlukemH2: constraintViolation (19)
1512de962bdSlukem
1522de962bdSlukemIndicates that the client supplied an attribute value that
1532de962bdSlukemdoes not conform to the constraints placed upon it by the
1542de962bdSlukemdata model.
1552de962bdSlukem
1562de962bdSlukemFor example, this code is returned when multiple values are
1572de962bdSlukemsupplied to an attribute that has a SINGLE-VALUE constraint.
1582de962bdSlukem
1594e6df137SlukemH2: attributeOrValueExists (20)
1602de962bdSlukem
1612de962bdSlukemIndicates that the client supplied an attribute or value to
1622de962bdSlukembe added to an entry, but the attribute or value already
1632de962bdSlukemexists.
1642de962bdSlukem
1654e6df137SlukemH2: invalidAttributeSyntax (21)
1662de962bdSlukem
1672de962bdSlukemIndicates that a purported attribute value does not conform
1682de962bdSlukemto the syntax of the attribute.
1692de962bdSlukem
1704e6df137SlukemH2: noSuchObject (32)
1712de962bdSlukem
1722de962bdSlukemIndicates that the object does not exist in the DIT.
1732de962bdSlukem
1744e6df137SlukemH2: aliasProblem (33)
1752de962bdSlukem
1762de962bdSlukemIndicates that an alias problem has occurred.  For example,
1772de962bdSlukemthe code may used to indicate an alias has been dereferenced
1782de962bdSlukemthat names no object.
1792de962bdSlukem
1804e6df137SlukemH2: invalidDNSyntax (34)
1812de962bdSlukem
1822de962bdSlukemIndicates that an LDAPDN or RelativeLDAPDN field (e.g., search
1832de962bdSlukembase, target entry, ModifyDN newrdn, etc.) of a request does
1842de962bdSlukemnot conform to the required syntax or contains attribute
1852de962bdSlukemvalues that do not conform to the syntax of the attribute's
1862de962bdSlukemtype.
1872de962bdSlukem
1884e6df137SlukemH2: aliasDereferencingProblem (36)
1892de962bdSlukem
1902de962bdSlukemIndicates that a problem occurred while dereferencing an
1912de962bdSlukemalias.  Typically, an alias was encountered in a situation
1922de962bdSlukemwhere it was not allowed or where access was denied.
1932de962bdSlukem
1944e6df137SlukemH2: inappropriateAuthentication (48)
1952de962bdSlukem
1962de962bdSlukemIndicates the server requires the client that had attempted
1972de962bdSlukemto bind anonymously or without supplying credentials to
1982de962bdSlukemprovide some form of credentials.
1992de962bdSlukem
2004e6df137SlukemH2: invalidCredentials (49)
2012de962bdSlukem
2022de962bdSlukemIndicates that the provided credentials (e.g., the user's name
2032de962bdSlukemand password) are invalid.
2042de962bdSlukem
2054e6df137SlukemH2: insufficientAccessRights (50)
2062de962bdSlukem
2072de962bdSlukemIndicates that the client does not have sufficient access
2082de962bdSlukemrights to perform the operation.
2092de962bdSlukem
2104e6df137SlukemH2: busy (51)
2112de962bdSlukem
2122de962bdSlukemIndicates that the server is too busy to service the
2132de962bdSlukemoperation.
2142de962bdSlukem
2154e6df137SlukemH2: unavailable (52)
2162de962bdSlukem
2172de962bdSlukemIndicates that the server is shutting down or a subsystem
2182de962bdSlukemnecessary to complete the operation is offline.
2192de962bdSlukem
2204e6df137SlukemH2: unwillingToPerform (53)
2212de962bdSlukem
2222de962bdSlukemIndicates that the server is unwilling to perform the
2232de962bdSlukemoperation.
2242de962bdSlukem
2254e6df137SlukemH2: loopDetect (54)
2262de962bdSlukem
2272de962bdSlukemIndicates that the server has detected an internal loop (e.g.,
2282de962bdSlukemwhile dereferencing aliases or chaining an operation).
2292de962bdSlukem
2304e6df137SlukemH2: namingViolation (64)
2312de962bdSlukem
2322de962bdSlukemIndicates that the entry's name violates naming restrictions.
2332de962bdSlukem
2344e6df137SlukemH2: objectClassViolation (65)
2352de962bdSlukem
2362de962bdSlukemIndicates that the entry violates object class restrictions.
2372de962bdSlukem
2384e6df137SlukemH2: notAllowedOnNonLeaf (66)
2392de962bdSlukem
2402de962bdSlukemIndicates that the operation is inappropriately acting upon a
2412de962bdSlukemnon-leaf entry.
2422de962bdSlukem
2434e6df137SlukemH2: notAllowedOnRDN (67)
2442de962bdSlukem
2452de962bdSlukemIndicates that the operation is inappropriately attempting to
2462de962bdSlukemremove a value that forms the entry's relative distinguished
2472de962bdSlukemname.
2482de962bdSlukem
2494e6df137SlukemH2: entryAlreadyExists (68)
2502de962bdSlukem
2512de962bdSlukemIndicates that the request cannot be fulfilled (added, moved,
2522de962bdSlukemor renamed) as the target entry already exists.
2532de962bdSlukem
2544e6df137SlukemH2: objectClassModsProhibited (69)
2552de962bdSlukem
2562de962bdSlukemIndicates that an attempt to modify the object class(es) of
2572de962bdSlukeman entry's 'objectClass' attribute is prohibited.
2582de962bdSlukem
2592de962bdSlukemFor example, this code is returned when a client attempts to
2602de962bdSlukemmodify the structural object class of an entry.
2612de962bdSlukem
2624e6df137SlukemH2: affectsMultipleDSAs (71)
2632de962bdSlukem
2642de962bdSlukemIndicates that the operation cannot be performed as it would
2652de962bdSlukemaffect multiple servers (DSAs).
2662de962bdSlukem
2674e6df137SlukemH2: other (80)
2682de962bdSlukem
2692de962bdSlukemIndicates the server has encountered an internal error.
270