17#ifndef APR_LDAP_INTERNAL_H
18#define APR_LDAP_INTERNAL_H
20#include "apr_private.h"
34#if APR_HAS_MICROSOFT_LDAPSDK
55#ifdef LDAP_DEFAULT_LIMIT
56#define APR_LDAP_SIZELIMIT LDAP_DEFAULT_LIMIT
59#define APR_LDAP_SIZELIMIT LDAP_NO_LIMIT
63#ifndef APR_LDAP_SIZELIMIT
64#define APR_LDAP_SIZELIMIT 0
70#ifndef LDAP_VERSION_MAX
71#define LDAP_VERSION_MAX LDAP_VERSION
73#if APR_HAS_ZOS_LDAPSDK
74#define LDAP_VENDOR_NAME "IBM z/OS"
80#if LDAP_VERSION_MAX <= 2
81#error Support for LDAP v2.0 toolkits has been removed from apr-util. Please use an LDAP v3.0 toolkit.
90#if APR_HAS_MICROSOFT_LDAPSDK
91#define APR_LDAP_IS_SERVER_DOWN(s) ((s) == LDAP_SERVER_DOWN \
92 || (s) == LDAP_UNAVAILABLE)
94#define APR_LDAP_IS_SERVER_DOWN(s) ((s) == LDAP_SERVER_DOWN)
102#if defined(LDAP_INSUFFICIENT_ACCESS)
103#define APU_LDAP_INSUFFICIENT_ACCESS LDAP_INSUFFICIENT_ACCESS
104#elif defined(LDAP_INSUFFICIENT_RIGHTS)
105#define APU_LDAP_INSUFFICIENT_ACCESS LDAP_INSUFFICIENT_RIGHTS
106#elif defined(APR_HAS_MICROSOFT_LDAPSDK)
111#define APU_LDAP_INSUFFICIENT_ACCESS LDAP_INSUFFICIENT_RIGHTS
113#error The security return codes must be added to support this LDAP toolkit.
116#if defined(LDAP_SECURITY_ERROR)
117#define APU_LDAP_SECURITY_ERROR LDAP_SECURITY_ERROR
119#define APU_LDAP_SECURITY_ERROR(n) \
120 (LDAP_INAPPROPRIATE_AUTH == n) ? 1 \
121 : (LDAP_INVALID_CREDENTIALS == n) ? 1 \
122 : (APU_LDAP_INSUFFICIENT_ACCESS == n) ? 1 \
134 LDAPControl **serverctrls;
135 LDAPControl **clientctrls;
141typedef struct apr_ldap_prepare_t {
149typedef struct apr_ldap_result_t {
154 LDAPMessage *message;
175 apr_ldap_result_t *res,
177 __attribute__((nonnull(1,2,3)));
182#if APR_HAVE_MODULAR_DSO
186struct apr__ldap_dso_fntable {
211 const char *dn,
const char *attr,
APR skip list implementation.
apr_status_t(* apr_ldap_search_result_cb)(apr_ldap_t *ldap, apr_status_t status, apr_size_t count, const char *matcheddn, apr_ldap_control_t **serverctrls, void *ctx, apu_err_t *err)
Definition apr_ldap.h:1349
#define APU_DECLARE_LDAP(type)
Definition apr_ldap.h:246
apr_status_t(* apr_ldap_search_entry_cb)(apr_ldap_t *ldap, const char *dn, int eidx, int nattrs, int aidx, const char *attr, int nvals, int vidx, apr_buffer_t *val, int binary, void *ctx, apu_err_t *err)
Definition apr_ldap.h:1367
apr_status_t apr_ldap_bind_interact_cb(apr_ldap_t *ld, unsigned int flags, apr_ldap_bind_interact_t *interact, void *ctx)
Definition apr_ldap.h:911
apr_ldap_search_scope_e
Definition apr_ldap.h:1314
apr_status_t(* apr_ldap_compare_cb)(apr_ldap_t *ldap, apr_status_t status, const char *matcheddn, apr_ldap_control_t **serverctrls, void *ctx, apu_err_t *err)
Definition apr_ldap.h:1242
struct apr_ldap_t apr_ldap_t
Definition apr_ldap.h:303
apr_status_t(* apr_ldap_bind_cb)(apr_ldap_t *ldap, apr_status_t status, const char *matcheddn, apr_ldap_control_t **serverctrls, void *ctx, apu_err_t *err)
Definition apr_ldap.h:1123
apr_status_t(* apr_ldap_prepare_cb)(apr_ldap_t *ldap, apr_status_t status, void *ctx, apu_err_t *err)
Definition apr_ldap.h:984
struct apr_ldap_control_t apr_ldap_control_t
Definition apr_ldap.h:943
apr_ldap_switch_e
Definition apr_ldap.h:433
int apr_status_t
Definition apr_errno.h:44
struct apr_socket_t apr_socket_t
Definition apr_network_io.h:219
struct apr_pollcb_t apr_pollcb_t
Definition apr_poll.h:318
struct apr_pool_t apr_pool_t
Definition apr_pools.h:60
struct apr_skiplist apr_skiplist
Definition apr_skiplist.h:56
apr_int64_t apr_interval_time_t
Definition apr_time.h:55
Definition apr_buffer.h:69
Definition apu_errno.h:289
Definition apr_ldap.h:708