17#ifndef APR_LDAP_INTERNAL_H
18#define APR_LDAP_INTERNAL_H
20#include "apr_private.h"
34#if APR_HAS_MICROSOFT_LDAPSDK
56#ifdef LDAP_DEFAULT_LIMIT
57#define APR_LDAP_SIZELIMIT LDAP_DEFAULT_LIMIT
60#define APR_LDAP_SIZELIMIT LDAP_NO_LIMIT
64#ifndef APR_LDAP_SIZELIMIT
65#define APR_LDAP_SIZELIMIT 0
71#ifndef LDAP_VERSION_MAX
72#define LDAP_VERSION_MAX LDAP_VERSION
74#if APR_HAS_ZOS_LDAPSDK
75#define LDAP_VENDOR_NAME "IBM z/OS"
81#if LDAP_VERSION_MAX <= 2
82#error Support for LDAP v2.0 toolkits has been removed from apr-util. Please use an LDAP v3.0 toolkit.
91#if APR_HAS_MICROSOFT_LDAPSDK
92#define APR_LDAP_IS_SERVER_DOWN(s) ((s) == LDAP_SERVER_DOWN \
93 || (s) == LDAP_UNAVAILABLE)
95#define APR_LDAP_IS_SERVER_DOWN(s) ((s) == LDAP_SERVER_DOWN)
103#if defined(LDAP_INSUFFICIENT_ACCESS)
104#define APU_LDAP_INSUFFICIENT_ACCESS LDAP_INSUFFICIENT_ACCESS
105#elif defined(LDAP_INSUFFICIENT_RIGHTS)
106#define APU_LDAP_INSUFFICIENT_ACCESS LDAP_INSUFFICIENT_RIGHTS
107#elif defined(APR_HAS_MICROSOFT_LDAPSDK)
112#define APU_LDAP_INSUFFICIENT_ACCESS LDAP_INSUFFICIENT_RIGHTS
114#error The security return codes must be added to support this LDAP toolkit.
117#if defined(LDAP_SECURITY_ERROR)
118#define APU_LDAP_SECURITY_ERROR LDAP_SECURITY_ERROR
120#define APU_LDAP_SECURITY_ERROR(n) \
121 (LDAP_INAPPROPRIATE_AUTH == n) ? 1 \
122 : (LDAP_INVALID_CREDENTIALS == n) ? 1 \
123 : (APU_LDAP_INSUFFICIENT_ACCESS == n) ? 1 \
128#if APR_HAVE_MODULAR_DSO
132struct apr__ldap_dso_fntable {
157 const char *dn,
const char *attr,
185 const char *dn,
const char *newrdn,
const char *newparent,
APR skip list implementation.
apr_ldap_rename_e
Definition apr_ldap.h:1960
apr_status_t(* apr_ldap_add_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:1776
apr_status_t(* apr_ldap_search_entry_cb)(apr_ldap_t *ldap, const char *dn, apr_size_t eidx, apr_ldap_search_entry_t *entry, void *ctx, apu_err_t *err)
Definition apr_ldap.h:1654
apr_ldap_search_scope_e
Definition apr_ldap.h:1575
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:1187
apr_status_t(* apr_ldap_delete_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:2074
apr_status_t(* apr_ldap_extended_cb)(apr_ldap_t *ldap, apr_status_t status, const char *roid, apr_buffer_t *rdata, void *ctx, apu_err_t *err)
Definition apr_ldap.h:2155
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:1503
apr_status_t(* apr_ldap_search_result_cb)(apr_ldap_t *ldap, apr_status_t status, apr_size_t count, const char *matcheddn, apr_hash_t *serverctrls, void *ctx, apu_err_t *err)
Definition apr_ldap.h:1610
struct apr_ldap_t apr_ldap_t
Definition apr_ldap.h:309
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:1384
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:1246
apr_ldap_switch_e
Definition apr_ldap.h:479
apr_status_t(* apr_ldap_modify_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:1892
apr_status_t(* apr_ldap_rename_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:1988
int apr_status_t
Definition apr_errno.h:44
struct apr_pollcb_t apr_pollcb_t
Definition apr_poll.h:318
struct apr_pool_t apr_pool_t
Definition apr_pools.h:60
apr_int64_t apr_interval_time_t
Definition apr_time.h:55
Definition apr_buffer.h:69
Definition apu_errno.h:418
Definition apr_ldap.h:761