LDAP_ERROR(3)LDAP_ERROR(3)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 );
void ldap_perror( LDAP *ld, const char *s )
int ldap_result2error( LDAP *ld, LDAPMessage *res, int freeit )
DESCRIPTION
These routines provide interpretation of the various error
codes returned by the LDAP protocol and LDAP library rou-
tines or associated with an LDAP session. The error code
associated with an LDAP session is accessible using
ldap_get_option(3) and ldap_set_option(3) with the
LDAP_OPT_ERROR_NUMBER option.
The ldap_result2error() routine takes res, a result as
produced by ldap_result(3) or ldap_search_s(3), and
returns the corresponding error code. Possible error
codes are listed below. If the freeit parameter is non
zero it indicates that the res parameter should be freed
by a call to ldap_msgfree(3) after the error code has been
extracted. The ld_errno field in ld is set and returned.
The returned value can be passed to ldap_err2string() to
get a text description of the message. The string
returned from ldap_err2string() is a pointer to a static
area that should not be modified.
The ldap_perror() routine can be called to print an indi-
cation of the error on standard error, similar to the way
perror(3) works.
ERRORS
The possible values for an ldap error code are:
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 speci-
fied.
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 speci-
fied.
LDAP_IS_LEAF The object specified is a leaf.
LDAP_ALIAS_DEREF_PROBLEM
A problem was encountered when deref-
erencing an alias.
LDAP_INAPPROPRIATE_AUTH
Inappropriate authentication was spec-
ified (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 non-
leaf 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.
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 allo-
cation.
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 paren-
theses).
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 rou-
tine.
SEE ALSOldap(3), perror(3)ACKNOWLEDGEMENTS
OpenLDAP is developed and maintained by The OpenLDAP Pro-
ject (http://www.openldap.org/). OpenLDAP is derived from
University of Michigan LDAP 3.3 Release.
OpenLDAP LDVERSION RELEASEDATE LDAP_ERROR(3)