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 han-
dling 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 corre-
sponding error code. If the freeit parameter is non-zero, it indicates that the res parameter should be freed by a call to
ldap_msgfree(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 a failed malloc().
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 |
+-----------------------------+-----------------------------+
|Availability |SUNWcsl (32-bit) |
+-----------------------------+-----------------------------+
| |SUNWcslx (64-bit) |
+-----------------------------+-----------------------------+
|Interface Stability |Evolving |
+-----------------------------+-----------------------------+
SEE ALSO
ldap(3LDAP), ldap_bind(3LDAP), ldap_msgfree(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)
SunOS 5.10 27 Jan 2002 ldap_error(3LDAP)