LDAP_ERROR(3LDAP) LDAP Library Functions LDAP_ERROR(3LDAP)


NAME


ldap_error, ldap_err2string, ldap_perror, ldap_result2error - LDAP
protocol error handling functions

SYNOPSIS


cc[ flag... ] file... -lldap[ library... ]
#include <lber.h>
#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 functions interpret the error codes that are returned by the LDAP
API routines. The ldap_perror() and ldap_result2error() functions are
deprecated for all new development. Use ldap_err2string() instead.


You can also use ldap_parse_sasl_bind_result(3LDAP),
ldap_parse_extended_result(3LDAP), and ldap_parse_result(3LDAP) to
provide error handling and interpret error codes returned by LDAP API
functions.


The ldap_err2string() function takes err, a numeric LDAP error code,
returned either by ldap_parse_result(3LDAP) or another LDAP API call. It
returns an informative, null-terminated, character string that describes
the error.


The ldap_result2error() function takes res, a result produced by
ldap_result(3LDAP) or other synchronous LDAP calls, and returns the
corresponding error code. If the freeit parameter is non-zero, it
indicates that the res parameter should be freed by a call to
ldap_result(3LDAP) after the error code has been extracted.


Similar to the way perror(3C) works, the ldap_perror() function can be
called to print an indication of the error to standard error.

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

Only partial results are 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

The filter type is not supported for the specified attribute.


LDAP_CONSTRAINT_VIOLATION

An attribute value specified violates some constraint. For example, 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. For example,
LDAP_AUTH_SIMPLE was specified and the entry does not have a
userPassword attribute.


LDAP_INVALID_CREDENTIALS

Invalid credentials were presented, for example, 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. For example, 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.


LDAP_SERVER_DOWN

The LDAP library cannot contact the LDAP server.


LDAP_LOCAL_ERROR

Some local error occurred. This is usually the result of a failed
malloc(3C) call or a failure to fflush(3C) the stdio stream to files,
even when the LDAP requests were processed successfully by the remote
server.


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 time limit was exceeded while waiting for a result.


LDAP_AUTH_UNKNOWN

The authentication method specified to ldap_bind(3LDAP) is not known.


LDAP_FILTER_ERROR

An invalid filter was supplied to ldap_search(3LDAP), for example,
unbalanced parentheses.


LDAP_PARAM_ERROR

An LDAP function was called with a bad parameter, for example, a NULL
ld pointer, and the like.


LDAP_NO_MEMORY

A memory allocation call failed in an LDAP library function, for
example, malloc(3C).


LDAP_CONNECT_ERROR

The LDAP client has either lost its connetion to an LDAP server or it
cannot establish a connection.


LDAP_NOT_SUPPORTED

The requested functionality is not supported., for example, when an
LDAPv2 client requests some LDAPv3 functionality.


LDAP_CONTROL_NOT_FOUND

An LDAP client requested a control not found in the list of supported
controls sent by the server.


LDAP_NO_RESULTS_RETURNED

The LDAP server sent no results.


LDAP_MORE_RESULTS_TO_RETURN

More results are chained in the message chain.


LDAP_CLIENT_LOOP

A loop has been detected, for example, when following referrals.


LDAP_REFERRAL_LIMIT_EXCEEDED

The referral exceeds the hop limit. The hop limit determines the
number of servers that the client can hop through to retrieve data.


ATTRIBUTES


See attributes(5) for a description of the following attributes:


+--------------------+-----------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-----------------+
|Interface Stability | Committed |
+--------------------+-----------------+

SEE ALSO


fflush(3C), ldap(3LDAP), ldap_bind(3LDAP), ldap_result(3LDAP),
ldap_parse_extended_result(3LDAP), ldap_parse_result(3LDAP),
ldap_parse_sasl_bind_result(3LDAP), ldap_search(3LDAP), malloc(3C),
perror(3C) , attributes(5)


November 11, 2008 LDAP_ERROR(3LDAP)