# ldap_error

## NAME



           ldap_perror, ld_errno, ldap_result2error, ldap_errlist,
           ldap_err2string - LDAP protocol error handling routines
    


## LIBRARY



           OpenLDAP LDAP (libldap, -lldap)
    


## SYNOPSIS



           **#include <ldap.h>**
    
           **char *ldap_err2string( int** _err_ **);**
    


## DESCRIPTION



           The **ldap_err2string()** routine provides short description of the
           various codes returned by routines in this library.  The returned
           string is a pointer to a static area that should not be modified.
    
           These codes are either negative, indicating an API error code;
           positive, indicating an LDAP resultCode other than ´success' (0),
           or - zero, indicating both successful use of the API and the LDAP
           resultCode ´success' (0).
    
           The code associated with an LDAP session is accessible using
           ldap_get_option(3) and ldap_set_option(3) with the
           **LDAP_OPT_RESULT_CODE** option (previously called
           **LDAP_OPT_ERROR_NUMBER**).
    


## PROTOCOL RESULT CODES



           This section provides a partial list of protocol codes recognized
           by the library.  As LDAP is extensible, additional values may be
           returned.  A complete listing of _registered_ LDAP result codes can
           be obtained from the _Internet Assigned Numbers Authority_
           <http://www.iana.org>.
    
           LDAP_SUCCESS
                  The request was successful.
    
           LDAP_OPERATIONS_ERROR
                  An operations error occurred.
    
           LDAP_PROTOCOL_ERROR
                  A protocol violation was detected.
    
           LDAP_TIMELIMIT_EXCEEDED
                  An LDAP time limit was exceeded.
    
           LDAP_SIZELIMIT_EXCEEDED
                  An LDAP size limit was exceeded.
    
           LDAP_COMPARE_FALSE
                  A compare operation returned false.
    
           LDAP_COMPARE_TRUE
                  A compare operation returned true.
    
           LDAP_STRONG_AUTH_NOT_SUPPORTED
                  The LDAP server does not support strong authentication.
    
           LDAP_STRONG_AUTH_REQUIRED
                  Strong authentication is required for the operation.
    
           LDAP_PARTIAL_RESULTS
                  Partial results only returned.
    
           LDAP_NO_SUCH_ATTRIBUTE
                  The attribute type specified does not exist in the entry.
    
           LDAP_UNDEFINED_TYPE
                  The attribute type specified is invalid.
    
           LDAP_INAPPROPRIATE_MATCHING
                  Filter type not supported for the specified attribute.
    
           LDAP_CONSTRAINT_VIOLATION
                  An attribute value specified violates some constraint
                  (e.g., a postalAddress has too many lines, or a line that
                  is too long).
    
           LDAP_TYPE_OR_VALUE_EXISTS
                  An attribute type or attribute value specified already
                  exists in the entry.
    
           LDAP_INVALID_SYNTAX
                  An invalid attribute value was specified.
    
           LDAP_NO_SUCH_OBJECT
                  The specified object does not exist in The Directory.
    
           LDAP_ALIAS_PROBLEM
                  An alias in The Directory points to a nonexistent entry.
    
           LDAP_INVALID_DN_SYNTAX
                  A syntactically invalid DN was specified.
    
           LDAP_IS_LEAF
                  The object specified is a leaf.
    
           LDAP_ALIAS_DEREF_PROBLEM
                  A problem was encountered when dereferencing an alias.
    
           LDAP_INAPPROPRIATE_AUTH
                  Inappropriate authentication was specified (e.g.,
                  LDAP_AUTH_SIMPLE was specified and the entry does not have
                  a userPassword attribute).
    
           LDAP_INVALID_CREDENTIALS
                  Invalid credentials were presented (e.g., the wrong
                  password).
    
           LDAP_INSUFFICIENT_ACCESS
                  The user has insufficient access to perform the operation.
    
           LDAP_BUSY
                  The DSA is busy.
    
           LDAP_UNAVAILABLE
                  The DSA is unavailable.
    
           LDAP_UNWILLING_TO_PERFORM
                  The DSA is unwilling to perform the operation.
    
           LDAP_LOOP_DETECT
                  A loop was detected.
    
           LDAP_NAMING_VIOLATION
                  A naming violation occurred.
    
           LDAP_OBJECT_CLASS_VIOLATION
                  An object class violation occurred (e.g., a "must"
                  attribute was missing from the entry).
    
           LDAP_NOT_ALLOWED_ON_NONLEAF
                  The operation is not allowed on a nonleaf object.
    
           LDAP_NOT_ALLOWED_ON_RDN
                  The operation is not allowed on an RDN.
    
           LDAP_ALREADY_EXISTS
                  The entry already exists.
    
           LDAP_NO_OBJECT_CLASS_MODS
                  Object class modifications are not allowed.
    
           LDAP_OTHER
                  An unknown error occurred.
    


## API ERROR CODES



           This section provides a complete list of API error codes
           recognized by the library.   Note that LDAP_SUCCESS indicates
           success of an API call in addition to representing the return of
           the LDAP ´success' resultCode.
    
           LDAP_SERVER_DOWN
                  The LDAP library can't contact the LDAP server.
    
           LDAP_LOCAL_ERROR
                  Some local error occurred.  This is usually a failed
                  dynamic memory allocation.
    
           LDAP_ENCODING_ERROR
                  An error was encountered encoding parameters to send to the
                  LDAP server.
    
           LDAP_DECODING_ERROR
                  An error was encountered decoding a result from the LDAP
                  server.
    
           LDAP_TIMEOUT
                  A timelimit was exceeded while waiting for a result.
    
           LDAP_AUTH_UNKNOWN
                  The authentication method specified to ldap_bind() is not
                  known.
    
           LDAP_FILTER_ERROR
                  An invalid filter was supplied to ldap_search() (e.g.,
                  unbalanced parentheses).
    
           LDAP_PARAM_ERROR
                  An ldap routine was called with a bad parameter.
    
           LDAP_NO_MEMORY
                  An memory allocation (e.g., malloc(3) or other dynamic
                  memory allocator) call failed in an ldap library routine.
    
           LDAP_USER_CANCELED
                  Indicates the user cancelled the operation.
    
           LDAP_CONNECT_ERROR
                  Indicates a connection problem.
    
           LDAP_NOT_SUPPORTED
                  Indicates the routine was called in a manner not supported
                  by the library.
    
           LDAP_CONTROL_NOT_FOUND
                  Indicates the control provided is unknown to the client
                  library.
    
           LDAP_NO_RESULTS_RETURNED
                  Indicates no results returned.
    
           LDAP_MORE_RESULTS_TO_RETURN
                  Indicates more results could be returned.
    
           LDAP_CLIENT_LOOP
                  Indicates the library has detected a loop in its
                  processing.
    
           LDAP_REFERRAL_LIMIT_EXCEEDED
                  Indicates the referral limit has been exceeded.
    


## DEPRECATED



           Deprecated interfaces generally remain in the library.  The macro
           LDAP_DEPRECATED can be defined to a non-zero value (e.g.,
           -DLDAP_DEPRECATED=1) when compiling program designed to use
           deprecated interfaces.  It is recommended that developers writing
           new programs, or updating old programs, avoid use of deprecated
           interfaces.  Over time, it is expected that documentation (and,
           eventually, support) for deprecated interfaces to be eliminated.
    


## ACKNOWLEDGEMENTS



           **OpenLDAP Software** is developed and maintained by The OpenLDAP
           Project <http://www.openldap.org/>.  **OpenLDAP Software** is derived
           from the University of Michigan LDAP 3.3 Release.
    


* * *