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