ldap_perror, ld_errno, ldap_result2error, ldap_errlist,
ldap_err2string - LDAP protocol error handling routines
SYNOPSIS
#include <ldap.h>
struct ldaperror {
int e_code;
char *e_reason;
};
struct ldaperror ldap_errlist[];
char *ldap_err2string(err)
int err;
void ldap_perror(ld, s)
LDAP *ld;
char *s;
int ldap_result2error(ld, res, freeit)
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, and assigned to the ld_errno field in the ld struc
ture.
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() or
looked up in ldap_errlist[] 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 last element in the ldap_errlist[] array is signaled
by an error code of -1.
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_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.
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.
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 (e.g., a NULL ld pointer,
etc.).
LDAP_NO_MEMORY An memory allocation (e.g., malloc(3)
or other dynamic memory allocator)
call failed in an ldap library rou
tine.
SEE ALSO
ldap(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.
Man(1) output converted with
man2html