=head1 NAME

Net::LDAP::Constant - Constants for use with Net::LDAP

=head1 SYNOPSIS

 use Net::LDAP qw(LDAP_SUCCESS LDAP_PROTOCOL_ERROR);

 # import all constants 
 use Net::LDAP qw(:all);

=head1 DESCRIPTION

B<Net::LDAP::Constant> exports constant subroutines for the following LDAP
error codes.

=over 4

=item LDAP_SUCCESS

Operation completed without error

=item LDAP_OPERATIONS_ERROR

Server encountered an internal error

=item LDAP_PROTOCOL_ERROR

Unrecognized version number or incorrect PDU structure

=item LDAP_TIMELIMIT_EXCEEDED

The time limit on a search operation has been exceeded

=item LDAP_SIZELIMIT_EXCEEDED

The maximum number of search results to return has been exceeded.

=item LDAP_COMPARE_FALSE

This code is returned when a compare request completes and the attribute value
given is not in the entry specified

=item LDAP_COMPARE_TRUE

This code is returned when a compare request completes and the attribute value
given is in the entry specified

=item LDAP_AUTH_METHOD_NOT_SUPPORTED

Unrecognized SASL mechanism name

=item LDAP_STRONG_AUTH_REQUIRED

The server requires authentication be performed with a SASL mechanism

=item LDAP_PARTIAL_RESULTS

Returned to version 2 clients when a referral is returned. The response
will contain a list of URL's for other servers.

=item LDAP_REFERRAL

The server is referring the client to another server. The response will
contain a list of URL's

=item LDAP_ADMIN_LIMIT_EXCEEDED

The server has exceed the maximum number of entries to search while gathering
a list of search result candidates

=item LDAP_UNAVAILABLE_CRITICAL_EXT

A control or matching rule specified in the request is not supported by
the server

=item LDAP_CONFIDENTIALITY_REQUIRED

This result code is returned when confidentiality is required to perform
a given operation

=item LDAP_SASL_BIND_IN_PROGRESS

The server requires the client to send a new bind request, with the same SASL
mechanism, to continue the authentication process

=item LDAP_NO_SUCH_ATTRIBUTE

The request referenced an attribute that does not exist

=item LDAP_UNDEFINED_TYPE

The request contains an undefined attribute type

=item LDAP_INAPPROPRIATE_MATCHING

An extensible matching rule in the given filter does not apply to the specified
attribute

=item LDAP_CONSTRAINT_VIOLATION

The request contains a value which does not meet with certain constraints.
This result can be returned as a consequence of

=over 8

=item *

The request was to add or modify a user password, and the password fails to
meet the criteria the server is configured to check. This could be that the
password is too short, or a recognizable word (e.g. it matches one of the
attributes in the users entry) or it matches a previous password used by
the same user.

=item *

The request is a bind request to a user account that has been locked

=back

=item LDAP_TYPE_OR_VALUE_EXISTS

The request attempted to add an attribute type or value that already exists

=item LDAP_INVALID_SYNTAX

Some part of the request contained an invalid syntax. It could be a search
with an invalid filter or a request to modify the schema and the given
schema has a bad syntax.

=item LDAP_NO_SUCH_OBJECT

The server cannot find an object specified in the request

=item LDAP_ALIAS_PROBLEM

Server encountered a problem while attempting to dereference an alias

=item LDAP_INVALID_DN_SYNTAX

The request contained an invalid DN

=item LDAP_IS_LEAF

The specified entry is a leaf entry

=item LDAP_ALIAS_DEREF_PROBLEM

Server encountered a problem while attempting to dereference an alias

=item LDAP_INAPPROPRIATE_AUTH

The server requires the client which had attempted to bind anonymously or
without supplying credentials to provide some form of credentials

=item LDAP_INVALID_CREDENTIALS

The wrong password was supplied or the SASL credentials could not be processed

=item LDAP_INSUFFICIENT_ACCESS

The client does not have sufficient access to perform the requested
operation

=item LDAP_BUSY

The server is too busy to perform requested operation

=item LDAP_UNAVAILABLE

The server in unavailable to perform the request, or the server is
shutting down

=item LDAP_UNWILLING_TO_PERFORM

The server is unwilling to perform the requested operation

=item LDAP_LOOP_DETECT

The server was unable to perform the request due to an internal loop detected

=item LDAP_SORT_CONTROL_MISSING

The search contained a "virtual list view" control, but not a server-side
sorting control, which is required when a "virtual list view" is given.

=item LDAP_INDEX_RANGE_ERROR

The search contained a control for a "virtual list view" and the results
exceeded the range specified by the requested offsets.


=item LDAP_NAMING_VIOLATION

The request violates the structure of the DIT

=item LDAP_OBJECT_CLASS_VIOLATION

The request specifies a change to an existing entry or the addition of a new
entry that does not comply with the servers schema

=item LDAP_NOT_ALLOWED_ON_NONLEAF

The requested operation is not allowed on an entry that has child entries

=item LDAP_NOT_ALLOWED_ON_RDN

The requested operation ill affect the RDN of the entry

=item LDAP_ALREADY_EXISTS

The client attempted to add an entry that already exists. This can occur as
a result of

=over 8

=item *

An add request was submitted with a DN that already exists

=item *

A modify DN requested was submitted, where the requested new DN already exists

=item *

The request is adding an attribute to the schema and an attribute with the
given OID or name already exists

=back


=item LDAP_NO_OBJECT_CLASS_MODS

Request attempt to modify the object class of an entry that should not be
modified

=item LDAP_RESULTS_TOO_LARGE

The results of the request are to large

=item LDAP_AFFECTS_MULTIPLE_DSAS

The requested operation needs to be performed on multiple servers where
the requested operation is not permitted

=item LDAP_OTHER

An unknown error has occurred

=item LDAP_SERVER_DOWN

C<Net::LDAP> cannot establish a connection or the connection has been lost

=item LDAP_LOCAL_ERROR

An error occurred in C<Net::LDAP>

=item LDAP_ENCODING_ERROR

C<Net::LDAP> encountered an error while encoding the request packet that would
have been sent to the server

=item LDAP_DECODING_ERROR

C<Net::LDAP> encountered an error while decoding a response packet from
the server.

=item LDAP_TIMEOUT

C<Net::LDAP> timeout while waiting for a response from the server

=item LDAP_AUTH_UNKNOWN

The method of authentication requested in a bind request is unknown to
the server

=item LDAP_FILTER_ERROR

An error occurred while encoding the given search filter.

=item LDAP_USER_CANCELED

The user canceled the operation

=item LDAP_PARAM_ERROR

An invalid parameter was specified

=item LDAP_NO_MEMORY

Out of memory error

=item LDAP_CONNECT_ERROR

A connection to the server could not be established

=item LDAP_NOT_SUPPORTED

An attempt has been made to use a feature not supported by Net::LDAP

=item LDAP_CONTROL_NOT_FOUND

The controls required to perform the requested operation were not
found.

=item LDAP_NO_RESULTS_RETURNED

No results were returned from the server.

=item LDAP_MORE_RESULTS_TO_RETURN

There are more results in the chain of results.

=item LDAP_CLIENT_LOOP

A loop has been detected. For example when following referals.

=item LDAP_REFERRAL_LIMIT_EXCEEDED

The referral hop limit has been exceeded.

=back

=head1 SEE ALSO

L<Net::LDAP>,
L<Net::LDAP::Message>

=head1 AUTHOR

Graham Barr <gbarr@pobox.com>

Please report any bugs, or post any suggestions, to the perl-ldap mailing list
<perl-ldap-dev@lists.sourceforge.net>

=head1 COPYRIGHT

Copyright (c) 1998-2000 Graham Barr. All rights reserved. This program is
free software; you can redistribute it and/or modify it under the same
terms as Perl itself.

=for html <hr>

I<$Id$>

=cut
