75#if APR_HAS_LDAP || defined(DOXYGEN)
115#ifndef APR_LDAP_URL_SUCCESS
120#define APR_LDAP_URL_SUCCESS 0x00
125#define APR_LDAP_URL_ERR_MEM 0x01
130#define APR_LDAP_URL_ERR_PARAM 0x02
135#define APR_LDAP_URL_ERR_BADSCHEME 0x03
140#define APR_LDAP_URL_ERR_BADENCLOSURE 0x04
145#define APR_LDAP_URL_ERR_BADURL 0x05
150#define APR_LDAP_URL_ERR_BADHOST 0x06
155#define APR_LDAP_URL_ERR_BADATTRS 0x07
160#define APR_LDAP_URL_ERR_BADSCOPE 0x08
165#define APR_LDAP_URL_ERR_BADFILTER 0x09
170#define APR_LDAP_URL_ERR_BADEXTS 0x0a
227#if defined(APU_DSO_LDAP_BUILD)
229#define apr_ldap_info apr__ldap_info
230#define apr_ldap_initialise apr__ldap_initialise
231#define apr_ldap_option_get apr__ldap_option_get
232#define apr_ldap_option_set apr__ldap_option_set
233#define apr_ldap_connect apr__ldap_connect
234#define apr_ldap_prepare apr__ldap_prepare
235#define apr_ldap_process apr__ldap_process
236#define apr_ldap_result apr__ldap_result
237#define apr_ldap_poll apr__ldap_poll
238#define apr_ldap_bind apr__ldap_bind
239#define apr_ldap_compare apr__ldap_compare
240#define apr_ldap_search apr__ldap_search
241#define apr_ldap_unbind apr__ldap_unbind
243#define APU_DECLARE_LDAP(type) type
246#define APU_DECLARE_LDAP(type) APR_DECLARE(type)
294 __attribute__((nonnull(1,3)));
316 __attribute__((nonnull(1,2)));
324#define APR_LDAP_PORT 389
326#define APR_LDAPS_PORT 636
353 __attribute__((nonnull(1,2,3)));
446#define APR_LDAP_OPT_TLS 0x6fff
454#define APR_LDAP_OPT_TLS_CERT 0x6ffe
461#define APR_LDAP_OPT_VERIFY_CERT 0x6ffd
469#define APR_LDAP_OPT_REFERRALS 0x6ffc
476#define APR_LDAP_OPT_REFHOPLIMIT 0x6ffb
481#define APR_LDAP_OPT_HANDLE 0x6ffa
488#define APR_LDAP_OPT_PROTOCOL_VERSION 0x6ff9
494#define APR_LDAP_OPT_API_INFO 0x6ff8
500#define APR_LDAP_OPT_API_FEATURE_INFO 0x6ff7
507#define APR_LDAP_OPT_DEREF 0x6ff6
512#define APR_LDAP_OPT_RESULT_CODE 0x6ff5
535#define APR_LDAP_OPT_DESC 0x6ff4
543#define APR_LDAP_OPT_URI 0x5006
549#define APR_LDAP_OPT_NETWORK_TIMEOUT 0x5005
555#define APR_LDAP_OPT_TIMEOUT 0x5002
562#define APR_LDAP_CA_TYPE_UNKNOWN 0
568#define APR_LDAP_CA_TYPE_DER 1
574#define APR_LDAP_CA_TYPE_BASE64 2
581#define APR_LDAP_CA_TYPE_CACERTDIR_BASE64 15
587#define APR_LDAP_CA_TYPE_URI 18
593#define APR_LDAP_CERT_TYPE_UNKNOWN 5
599#define APR_LDAP_CERT_TYPE_DER 6
605#define APR_LDAP_CERT_TYPE_BASE64 7
611#define APR_LDAP_CERT_TYPE_PFX 13
617#define APR_LDAP_CERT_TYPE_URI 16
623#define APR_LDAP_KEY_TYPE_UNKNOWN 10
629#define APR_LDAP_KEY_TYPE_DER 11
635#define APR_LDAP_KEY_TYPE_BASE64 12
641#define APR_LDAP_KEY_TYPE_PFX 14
647#define APR_LDAP_KEY_TYPE_URI 17
827 __attribute__((nonnull(1,4,5)));
860 __attribute__((nonnull(1,5)));
920typedef struct apr_ldap_rebind_t {
922 const char *challenge;
928 apr_ldap_t *ld, apr_ldap_rebind_t *rebind,
void *ctx);
970 __attribute__((nonnull(1,2,4)));
1015 __attribute__((nonnull(1,2,3)));
1045 __attribute__((nonnull(1,2,4)));
1069 __attribute__((nonnull(1,2,4)));
1093 __attribute__((nonnull(1,2,3,5)));
1124 const char *matcheddn,
1133typedef void (*apr_ldap_cancel_cb)(
apr_ldap_t *ldap, apr_ldap_message_t *msg,
void *ctx);
1154 apr_ldap_cancel_cb cancel_cb,
void *cancel_ctx,
1156 __attribute__((nonnull(1,2,6,8)));
1218 __attribute__((nonnull(1,2,4,9)));
1243 const char *matcheddn,
1306 __attribute__((nonnull(1,2,3,4,5,11)));
1350 apr_size_t count,
const char *matcheddn,
1368 int eidx,
int nattrs,
int aidx,
1369 const char *attr,
int nvals,
1445 apr_ssize_t sizelimit,
1450 __attribute__((nonnull(1,2,3,15)));
1466 __attribute__((nonnull(1,4)));
APR Platform Definitions.
apr_status_t apr_ldap_unbind(apr_ldap_t *ldap, apr_ldap_control_t **serverctrls, apr_ldap_control_t **clientctrls, apu_err_t *err)
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
struct apr_ldap_driver_t apr_ldap_driver_t
Definition apr_ldap.h:253
#define APU_DECLARE_LDAP(type)
Definition apr_ldap.h:246
apr_status_t apr_ldap_process(apr_pool_t *pool, apr_ldap_t *ldap, apr_interval_time_t timeout, apu_err_t *err)
struct apr_ldap_apifeature_info_t apr_ldap_apifeature_info_t
apr_status_t apr_ldap_compare(apr_pool_t *pool, apr_ldap_t *ldap, const char *dn, const char *attr, const apr_buffer_t *val, apr_ldap_control_t **serverctrls, apr_ldap_control_t **clientctrls, apr_interval_time_t timeout, apr_ldap_compare_cb compare_cb, void *ctx, apu_err_t *err)
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
struct apr_ldap_apiinfo_t apr_ldap_apiinfo_t
union apr_ldap_opt_t apr_ldap_opt_t
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_status_t apr_ldap_initialise(apr_pool_t *pool, apr_ldap_t **ldap, apu_err_t *err)
apr_status_t apr_ldap_result(apr_pool_t *pool, apr_ldap_t *ldap, apr_interval_time_t timeout, apu_err_t *err)
apr_status_t apr_ldap_search(apr_pool_t *pool, apr_ldap_t *ldap, const char *dn, apr_ldap_search_scope_e scope, const char *filter, const char **attrs, apr_ldap_switch_e attrsonly, apr_ldap_control_t **serverctrls, apr_ldap_control_t **clientctrls, apr_interval_time_t timeout, apr_ssize_t sizelimit, apr_ldap_search_result_cb search_result_cb, apr_ldap_search_entry_cb search_entry_cb, void *ctx, apu_err_t *err)
int apr_ldap_is_ldap_url(const char *url)
int apr_ldap_is_ldapi_url(const char *url)
apr_ldap_deref_e
Definition apr_ldap.h:420
apr_status_t apr_ldap_prepare(apr_pool_t *pool, apr_ldap_t *ldap, apr_ldap_prepare_cb prepare_cb, void *prepare_ctx)
apr_ldap_bind_interact_e
Definition apr_ldap.h:868
apr_ldap_search_scope_e
Definition apr_ldap.h:1314
apr_ldap_verify_e
Definition apr_ldap.h:693
apr_status_t apr_ldap_get_driver(apr_pool_t *pool, const apr_ldap_driver_t **driver, apu_err_t *err)
apr_status_t apr_ldap_poll(apr_pool_t *pool, apr_ldap_t *ldap, apr_pollcb_t *poll, apr_interval_time_t timeout, apu_err_t *err)
apr_status_t apr_ldap_info(apr_pool_t *pool, apu_err_t **result_err)
int apr_ldap_is_ldaps_url(const char *url)
apr_status_t apr_ldap_bind(apr_pool_t *pool, apr_ldap_t *ldap, const char *mech, apr_ldap_bind_interact_cb *interact_cb, void *interact_ctx, apr_interval_time_t timeout, apr_ldap_bind_cb bind_cb, void *bind_ctx, apu_err_t *err)
int apr_ldap_url_parse_ext(apr_pool_t *pool, const char *url_in, apr_ldap_url_desc_t **ludpp, apu_err_t **result_err)
apr_status_t apr_ldap_option_get(apr_pool_t *pool, apr_ldap_t *ldap, int option, apr_ldap_opt_t *outvalue, apu_err_t *result_err)
apr_status_t apr_ldap_option_set(apr_pool_t *pool, apr_ldap_t *ldap, int option, const apr_ldap_opt_t *invalue, apu_err_t *result_err)
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
apr_status_t apr_ldap_connect(apr_pool_t *pool, apr_ldap_t *ldap, apr_interval_time_t timeout, apu_err_t *result_err)
struct apr_ldap_t apr_ldap_t
Definition apr_ldap.h:303
struct apr_ldap_url_desc_t apr_ldap_url_desc_t
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
apr_ldap_protocol_version_e
Definition apr_ldap.h:405
apr_ldap_tls_e
Definition apr_ldap.h:679
int apr_ldap_url_parse(apr_pool_t *pool, const char *url_in, apr_ldap_url_desc_t **ludpp, apu_err_t **result_err)
struct apr_ldap_bind_interact_t apr_ldap_bind_interact_t
struct apr_ldap_opt_tls_cert_t apr_ldap_opt_tls_cert_t
@ APR_LDAP_DEREF_NEVER
Definition apr_ldap.h:421
@ APR_LDAP_DEREF_SEARCHING
Definition apr_ldap.h:422
@ APR_LDAP_DEREF_FINDING
Definition apr_ldap.h:423
@ APR_LDAP_DEREF_ALWAYS
Definition apr_ldap.h:424
@ APR_LDAP_INTERACT_GETREALM
Definition apr_ldap.h:870
@ APR_LDAP_INTERACT_AUTHNAME
Definition apr_ldap.h:871
@ APR_LDAP_INTERACT_USER
Definition apr_ldap.h:872
@ APR_LDAP_INTERACT_DN
Definition apr_ldap.h:869
@ APR_LDAP_INTERACT_ECHOPROMPT
Definition apr_ldap.h:875
@ APR_LDAP_INTERACT_NOECHOPROMPT
Definition apr_ldap.h:874
@ APR_LDAP_INTERACT_PASS
Definition apr_ldap.h:873
@ APR_LDAP_SCOPE_ONELEVEL
Definition apr_ldap.h:1318
@ APR_LDAP_SCOPE_SUBORDINATE
Definition apr_ldap.h:1322
@ APR_LDAP_SCOPE_SUBTREE
Definition apr_ldap.h:1320
@ APR_LDAP_SCOPE_BASE
Definition apr_ldap.h:1316
@ APR_LDAP_VERIFY_OFF
Definition apr_ldap.h:695
@ APR_LDAP_VERIFY_ON
Definition apr_ldap.h:697
@ APR_LDAP_OPT_ON
Definition apr_ldap.h:435
@ APR_LDAP_OPT_OFF
Definition apr_ldap.h:434
@ APR_LDAP_VERSION1
Definition apr_ldap.h:407
@ APR_LDAP_VERSION2
Definition apr_ldap.h:409
@ APR_LDAP_VERSION3
Definition apr_ldap.h:411
@ APR_LDAP_TLS_STOPTLS
Definition apr_ldap.h:683
@ APR_LDAP_TLS_NONE
Definition apr_ldap.h:680
@ APR_LDAP_TLS_SSL
Definition apr_ldap.h:681
@ APR_LDAP_TLS_STARTTLS
Definition apr_ldap.h:682
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
apr_int64_t apr_interval_time_t
Definition apr_time.h:55
Definition apr_buffer.h:69
Definition apr_ldap.h:392
const char * name
Definition apr_ldap.h:394
int version
Definition apr_ldap.h:396
Definition apr_ldap.h:369
int protocol_version
Definition apr_ldap.h:373
int vendor_version
Definition apr_ldap.h:379
int api_version
Definition apr_ldap.h:371
const char * vendor_name
Definition apr_ldap.h:377
const char ** extensions
Definition apr_ldap.h:375
Definition apr_ldap.h:889
const char * defresult
Definition apr_ldap.h:897
apr_ldap_bind_interact_e id
Definition apr_ldap.h:891
const char * prompt
Definition apr_ldap.h:895
apr_buffer_t result
Definition apr_ldap.h:899
const char * challenge
Definition apr_ldap.h:893
Definition apr_ldap.h:661
const char * password
Definition apr_ldap.h:667
const char * path
Definition apr_ldap.h:665
int type
Definition apr_ldap.h:663
char ** lud_exts
Definition apr_ldap.h:110
int lud_scope
Definition apr_ldap.h:106
char * lud_host
Definition apr_ldap.h:98
int lud_crit_exts
Definition apr_ldap.h:112
char * lud_filter
Definition apr_ldap.h:108
char * lud_dn
Definition apr_ldap.h:102
char * lud_scheme
Definition apr_ldap.h:96
char ** lud_attrs
Definition apr_ldap.h:104
struct apr_ldap_url_desc_t * lud_next
Definition apr_ldap.h:94
int lud_port
Definition apr_ldap.h:100
Definition apu_errno.h:289
Definition apr_ldap.h:708
int result
Definition apr_ldap.h:796
const char * uri
Definition apr_ldap.h:729
apr_ldap_protocol_version_e pv
Definition apr_ldap.h:747
apr_ldap_tls_e tls
Definition apr_ldap.h:766
apr_socket_t * socket
Definition apr_ldap.h:723
void * handle
Definition apr_ldap.h:713
apr_ldap_deref_e deref
Definition apr_ldap.h:778
void * opt
Definition apr_ldap.h:717
int refhoplimit
Definition apr_ldap.h:790
apr_interval_time_t timeout
Definition apr_ldap.h:760
apr_ldap_switch_e refs
Definition apr_ldap.h:784
apr_ldap_verify_e verify
Definition apr_ldap.h:772
apr_array_header_t * certs
Definition apr_ldap.h:753
apr_ldap_apifeature_info_t ldfi
Definition apr_ldap.h:741
apr_ldap_apiinfo_t info
Definition apr_ldap.h:735