GNU/Linux |
RedHat 6.2(Zoot) |
|
![]() |
ldap_result2error(3) |
![]() |
ldap_perror, ld_errno, ldap_result2error, ldap_errlist, ldap_err2string − LDAP protocol error handling routines
#include
<lber.h>
#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;
These routines provide interpretation of the various error codes returned by the LDAP protocol and LDAP library routines, and assigned to the ld_errno field in the ld structure.
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 indication of the error on standard error, similar to the way perror(3) works.
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 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. | ||
LDAP_SERVER_DOWN |
The LDAP library can’t 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 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 (e.g., a NULL ld pointer, etc.). | ||
LDAP_NO_MEMORY |
An memory allocation (e.g., malloc(3)) call failed in an ldap library routine. |
ldap(3), perror(3)
OpenLDAP is developed and maintained by The OpenLDAP Project (http://www.openldap.org/). OpenLDAP is derived from University of Michigan LDAP 3.3 Release.
![]() |
ldap_result2error(3) | ![]() |