32#if APR_MAJOR_VERSION < 2
39#if APR_HAS_SHARED_MEMORY
47#if defined(LDAP_UNAVAILABLE) || APR_HAS_MICROSOFT_LDAPSDK
48#define AP_LDAP_IS_SERVER_DOWN(s) ((s) == LDAP_SERVER_DOWN \
49 ||(s) == LDAP_UNAVAILABLE)
51#define AP_LDAP_IS_SERVER_DOWN(s) ((s) == LDAP_SERVER_DOWN)
68#define LDAP_DECLARE(type) type
69#define LDAP_DECLARE_NONSTD(type) type
70#define LDAP_DECLARE_DATA
71#elif defined(LDAP_DECLARE_STATIC)
72#define LDAP_DECLARE(type) type __stdcall
73#define LDAP_DECLARE_NONSTD(type) type
74#define LDAP_DECLARE_DATA
75#elif defined(LDAP_DECLARE_EXPORT)
76#define LDAP_DECLARE(type) __declspec(dllexport) type __stdcall
77#define LDAP_DECLARE_NONSTD(type) __declspec(dllexport) type
78#define LDAP_DECLARE_DATA __declspec(dllexport)
80#define LDAP_DECLARE(type) __declspec(dllimport) type __stdcall
81#define LDAP_DECLARE_NONSTD(type) __declspec(dllimport) type
82#define LDAP_DECLARE_DATA __declspec(dllimport)
85#if APR_HAS_MICROSOFT_LDAPSDK
86#define timeval l_timeval
99 never=LDAP_DEREF_NEVER,
100 searching=LDAP_DEREF_SEARCHING,
101 finding=LDAP_DEREF_FINDING,
102 always=LDAP_DEREF_ALWAYS
106typedef struct util_ldap_connection_t {
127 struct util_ldap_connection_t *next;
128 struct util_ldap_state_t *st;
132 int ReferralHopLimit;
138} util_ldap_connection_t;
140typedef struct util_ldap_config_t {
142 int ReferralHopLimit;
147typedef struct util_ldap_state_t {
154 apr_size_t cache_bytes;
156 long search_cache_ttl;
157 long search_cache_size;
158 long compare_cache_ttl;
159 long compare_cache_size;
161 struct util_ldap_connection_t *connections;
168#if APR_HAS_SHARED_MEMORY
174 void *util_ldap_cache;
176 long connectionTimeout;
177 struct timeval *opTimeout;
186struct mod_auth_ldap_groupattr_entry_t {
203 util_ldap_connection_t *ldc));
245 const char *binddn,
const char *bindpw, deref_options deref,
267 const char *
url,
const char *dn,
const char *reqdn,
268 int compare_dn_on_server));
285 const char *
url,
const char *dn,
const char *attrib,
const char *
value));
313 const char *
url,
const char *dn,
const char *attrib,
const char *
value,
315 int cur_subgroup_depth,
int max_subgroup_depth));
337 const char *
url,
const char *basedn,
int scope,
char **attrs,
338 const char *filter,
const char *bindpw,
const char **binddn,
const char ***retvals));
359 const char *
url,
const char *basedn,
int scope,
char **attrs,
360 const char *filter,
const char **binddn,
const char ***retvals));
392char *util_ald_cache_display(
request_rec *
r, util_ldap_state_t *st);
Symbol export macros and hook functions.
APR-UTIL registration of functions exported by modules.
APR-UTIL Relocatable Memory Management Routines.
APR Shared Memory Routines.
APR Thread Mutex Routines.
APR Reader/Writer Lock Routines.
APR Versioning Interface.
const char apr_port_t port
#define APR_DECLARE_OPTIONAL_FN(ret, name, args)
const char int apr_pool_t * pool
apr_int64_t apr_interval_time_t
A structure that represents the current request.
static int uldap_cache_check_subgroups(request_rec *r, util_ldap_connection_t *ldc, const char *url, const char *dn, const char *attrib, const char *value, char **subgroupAttrs, apr_array_header_t *subgroupclasses, int cur_subgroup_depth, int max_subgroup_depth)
static apr_status_t uldap_connection_unbind(void *param)
static int uldap_cache_comparedn(request_rec *r, util_ldap_connection_t *ldc, const char *url, const char *dn, const char *reqdn, int compare_dn_on_server)
static int uldap_cache_compare(request_rec *r, util_ldap_connection_t *ldc, const char *url, const char *dn, const char *attrib, const char *value)
static void uldap_connection_close(util_ldap_connection_t *ldc)
static int uldap_ssl_supported(request_rec *r)
static util_ldap_connection_t * uldap_connection_find(request_rec *r, const char *host, int port, const char *binddn, const char *bindpw, deref_options deref, int secure)
static int uldap_connection_open(request_rec *r, util_ldap_connection_t *ldc)
static int uldap_cache_checkuserid(request_rec *r, util_ldap_connection_t *ldc, const char *url, const char *basedn, int scope, char **attrs, const char *filter, const char *bindpw, const char **binddn, const char ***retvals)
static int uldap_cache_getuserdn(request_rec *r, util_ldap_connection_t *ldc, const char *url, const char *basedn, int scope, char **attrs, const char *filter, const char **binddn, const char ***retvals)