\section{NAME\label{NAME-constant}}


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

\section{SYNOPSIS\label{SYNOPSIS-constant}\index{synopsis of Net::LDAP::Constant}}
\begin{verbatim}
 use Net::LDAP qw(LDAP_SUCCESS LDAP_PROTOCOL_ERROR);
\end{verbatim}
\section{DESCRIPTION\label{DESCRIPTION-constant}\index{description of Net::LDAP::Constant}}


\textbf{Net::LDAP::Constant} exports constant subroutines for the following LDAP
error codes.

\subsection*{Protocol Constants\label{Protocol_Constants}\index{Protocol Constants}}
\begin{description}

\item[LDAP\_SUCCESS (0)] \mbox{}

Operation completed without error


\item[LDAP\_OPERATIONS\_ERROR (1)] \mbox{}

Server encountered an internal error


\item[LDAP\_PROTOCOL\_ERROR (2)] \mbox{}

Unrecognized version number or incorrect PDU structure


\item[LDAP\_TIMELIMIT\_EXCEEDED (3)] \mbox{}

The time limit on a search operation has been exceeded


\item[LDAP\_SIZELIMIT\_EXCEEDED (4)] \mbox{}

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


\item[LDAP\_COMPARE\_FALSE (5)] \mbox{}

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


\item[LDAP\_COMPARE\_TRUE (6)] \mbox{}

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 (7)] \mbox{}

Unrecognized SASL mechanism name


\item[LDAP\_STRONG\_AUTH\_NOT\_SUPPORTED (7)] \mbox{}

Unrecognized SASL mechanism name


\item[LDAP\_STRONG\_AUTH\_REQUIRED (8)] \mbox{}

The server requires authentication be performed with a SASL mechanism


\item[LDAP\_PARTIAL\_RESULTS (9)] \mbox{}

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 (10)] \mbox{}

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


\item[LDAP\_ADMIN\_LIMIT\_EXCEEDED (11)] \mbox{}

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


\item[LDAP\_UNAVAILABLE\_CRITICAL\_EXT (12)] \mbox{}

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


\item[LDAP\_CONFIDENTIALITY\_REQUIRED (13)] \mbox{}

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


\item[LDAP\_SASL\_BIND\_IN\_PROGRESS (14)] \mbox{}

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 (16)] \mbox{}

The request referenced an attribute that does not exist


\item[LDAP\_UNDEFINED\_TYPE (17)] \mbox{}

The request contains an undefined attribute type


\item[LDAP\_INAPPROPRIATE\_MATCHING (18)] \mbox{}

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


\item[LDAP\_CONSTRAINT\_VIOLATION (19)] \mbox{}

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

\begin{itemize}

\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

\end{itemize}

\item[LDAP\_TYPE\_OR\_VALUE\_EXISTS (20)] \mbox{}

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


\item[LDAP\_INVALID\_SYNTAX (21)] \mbox{}

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 (32)] \mbox{}

The server cannot find an object specified in the request


\item[LDAP\_ALIAS\_PROBLEM (33)] \mbox{}

Server encountered a problem while attempting to dereference an alias


\item[LDAP\_INVALID\_DN\_SYNTAX (34)] \mbox{}

The request contained an invalid DN


\item[LDAP\_IS\_LEAF (35)] \mbox{}

The specified entry is a leaf entry


\item[LDAP\_ALIAS\_DEREF\_PROBLEM (36)] \mbox{}

Server encountered a problem while attempting to dereference an alias


\item[LDAP\_INAPPROPRIATE\_AUTH (48)] \mbox{}

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 (49)] \mbox{}

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


\item[LDAP\_INSUFFICIENT\_ACCESS (50)] \mbox{}

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


\item[LDAP\_BUSY (51)] \mbox{}

The server is too busy to perform requested operation


\item[LDAP\_UNAVAILABLE (52)] \mbox{}

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


\item[LDAP\_UNWILLING\_TO\_PERFORM (53)] \mbox{}

The server is unwilling to perform the requested operation


\item[LDAP\_LOOP\_DETECT (54)] \mbox{}

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


\item[LDAP\_SORT\_CONTROL\_MISSING (60)] \mbox{}

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 (61)] \mbox{}

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 (64)] \mbox{}

The request violates the structure of the DIT


\item[LDAP\_OBJECT\_CLASS\_VIOLATION (65)] \mbox{}

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 (66)] \mbox{}

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


\item[LDAP\_NOT\_ALLOWED\_ON\_RDN (67)] \mbox{}

The requested operation ill affect the RDN of the entry


\item[LDAP\_ALREADY\_EXISTS (68)] \mbox{}

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

\begin{itemize}

\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

\end{itemize}

\item[LDAP\_NO\_OBJECT\_CLASS\_MODS (69)] \mbox{}

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


\item[LDAP\_RESULTS\_TOO\_LARGE (70)] \mbox{}

The results of the request are to large


\item[LDAP\_AFFECTS\_MULTIPLE\_DSAS (71)] \mbox{}

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


\item[LDAP\_OTHER (80)] \mbox{}

An unknown error has occurred


\item[LDAP\_SERVER\_DOWN (81)] \mbox{}

\texttt{Net::LDAP} cannot establish a connection or the connection has been lost


\item[LDAP\_LOCAL\_ERROR (82)] \mbox{}

An error occurred in \texttt{Net::LDAP}


\item[LDAP\_ENCODING\_ERROR (83)] \mbox{}

\texttt{Net::LDAP} encountered an error while encoding the request packet that would
have been sent to the server


\item[LDAP\_DECODING\_ERROR (84)] \mbox{}

\texttt{Net::LDAP} encountered an error while decoding a response packet from
the server.


\item[LDAP\_TIMEOUT (85)] \mbox{}

\texttt{Net::LDAP} timeout while waiting for a response from the server


\item[LDAP\_AUTH\_UNKNOWN (86)] \mbox{}

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


\item[LDAP\_FILTER\_ERROR (87)] \mbox{}

An error occurred while encoding the given search filter.


\item[LDAP\_USER\_CANCELED (88)] \mbox{}

The user canceled the operation


\item[LDAP\_PARAM\_ERROR (89)] \mbox{}

An invalid parameter was specified


\item[LDAP\_NO\_MEMORY (90)] \mbox{}

Out of memory error


\item[LDAP\_CONNECT\_ERROR (91)] \mbox{}

A connection to the server could not be established


\item[LDAP\_NOT\_SUPPORTED (92)] \mbox{}

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


\item[LDAP\_CONTROL\_NOT\_FOUND (93)] \mbox{}

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


\item[LDAP\_NO\_RESULTS\_RETURNED (94)] \mbox{}

No results were returned from the server.


\item[LDAP\_MORE\_RESULTS\_TO\_RETURN (95)] \mbox{}

There are more results in the chain of results.


\item[LDAP\_CLIENT\_LOOP (96)] \mbox{}

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


\item[LDAP\_REFERRAL\_LIMIT\_EXCEEDED (97)] \mbox{}

The referral hop limit has been exceeded.

\end{description}
\subsection*{Control OIDs\label{Control_OIDs}\index{Control OIDs}}
LDAP\_CONTROL\_SORTREQUEST (1.2.840.113556.1.4.473)

LDAP\_CONTROL\_SORTRESULT (1.2.840.113556.1.4.474)

LDAP\_CONTROL\_VLVREQUEST (2.16.840.1.113730.3.4.9)

LDAP\_CONTROL\_VLVRESPONSE (2.16.840.1.113730.3.4.10)

LDAP\_CONTROL\_PROXYAUTHENTICATION (2.16.840.1.113730.3.4.12)

LDAP\_CONTROL\_PAGED (1.2.840.113556.1.4.319)

LDAP\_CONTROL\_TREE\_DELETE (1.2.840.113556.1.4.805)

LDAP\_CONTROL\_MATCHEDVALS (1.2.826.0.1.3344810.2.2)

LDAP\_CONTROL\_MANAGEDSAIT (2.16.840.1.113730.3.4.2)

LDAP\_CONTROL\_PERSISTENTSEARCH (2.16.840.1.113730.3.4.3)

LDAP\_CONTROL\_ENTRYCHANGE (2.16.840.1.113730.3.4.7)

LDAP\_CONTROL\_PWEXPIRED (2.16.840.1.113730.3.4.4)

LDAP\_CONTROL\_PWEXPIRING (2.16.840.1.113730.3.4.5)

LDAP\_CONTROL\_REFERRALS (1.2.840.113556.1.4.616)

\subsection*{Extension OIDs\label{Extension_OIDs}\index{Extension OIDs}}


\textbf{Net::LDAP::Constant} exports constant subroutines for the following LDAP
extension OIDs.

\begin{description}

\item[LDAP\_EXTENSION\_START\_TLS (1.3.6.1.4.1.1466.20037)] \mbox{}

Indicates if the server supports the Start TLS extension (RFC-2830)

\end{description}
\section{SEE ALSO}\label{SEE_ALSO-constant}\index{see also for Net::LDAP::Constant}


\emph{Net::LDAP},
\emph{Net::LDAP::Message}

\section{AUTHOR\label{AUTHOR-constant}}


Graham Barr $<$gbarr@pobox.com$>$



Please report any bugs, or post any suggestions, to the perl-ldap mailing list
$<$perl-ldap@perl.org$>$

\section{COPYRIGHT\label{COPYRIGHT-constant}}


Copyright (c) 1998-2003 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.



\textit{\$Id: Constant.pm,v 1.9 2003/06/02 15:13:10 gbarr Exp \$}

