Apache Portable Runtime
Loading...
Searching...
No Matches
Data Structures | Macros | Typedefs | Enumerations | Functions
apr_ldap.h File Reference

APR-UTIL LDAP routines. More...

#include "apr.h"
#include "apu.h"
#include "apr_poll.h"
#include "apr_pools.h"
#include "apr_network_io.h"
#include "apu_errno.h"
#include "apr_escape.h"
#include "apr_buffer.h"
#include "apr_hash.h"
Include dependency graph for apr_ldap.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  apr_ldap_url_desc_t
 
struct  apr_ldap_apiinfo_t
 
struct  apr_ldap_apifeature_info_t
 
struct  apr_ldap_opt_tls_cert_t
 
union  apr_ldap_opt_t
 
struct  apr_ldap_control_oid_t
 
struct  apr_ldap_control_sortrequest_t
 
struct  apr_ldap_control_sortkey_t
 
struct  apr_ldap_control_sortresponse_t
 
struct  apr_ldap_control_pagerequest_t
 
struct  apr_ldap_control_pageresponse_t
 
struct  apr_ldap_control_vlvrequest_t
 
struct  apr_ldap_control_vlvresponse_t
 
struct  apr_ldap_control_t
 
struct  apr_ldap_bind_interact_t
 
struct  apr_ldap_search_entry_t
 
struct  apr_ldap_pair_t
 
struct  apr_ldap_modify_t
 

Macros

#define APR_LDAP_URL_SUCCESS   0x00
 
#define APR_LDAP_URL_ERR_MEM   0x01
 
#define APR_LDAP_URL_ERR_PARAM   0x02
 
#define APR_LDAP_URL_ERR_BADSCHEME   0x03
 
#define APR_LDAP_URL_ERR_BADENCLOSURE   0x04
 
#define APR_LDAP_URL_ERR_BADURL   0x05
 
#define APR_LDAP_URL_ERR_BADHOST   0x06
 
#define APR_LDAP_URL_ERR_BADATTRS   0x07
 
#define APR_LDAP_URL_ERR_BADSCOPE   0x08
 
#define APR_LDAP_URL_ERR_BADFILTER   0x09
 
#define APR_LDAP_URL_ERR_BADEXTS   0x0a
 
#define APU_DECLARE_LDAP(type)   APR_DECLARE(type)
 
#define APR_LDAP_PORT   389
 
#define APR_LDAPS_PORT   636
 
#define APR_LDAP_OPT_TLS   0x6fff
 
#define APR_LDAP_OPT_TLS_CERT   0x6ffe
 
#define APR_LDAP_OPT_VERIFY_CERT   0x6ffd
 
#define APR_LDAP_OPT_REFERRALS   0x6ffc
 
#define APR_LDAP_OPT_REFHOPLIMIT   0x6ffb
 
#define APR_LDAP_OPT_HANDLE   0x6ffa
 
#define APR_LDAP_OPT_PROTOCOL_VERSION   0x6ff9
 
#define APR_LDAP_OPT_API_INFO   0x6ff8
 
#define APR_LDAP_OPT_API_FEATURE_INFO   0x6ff7
 
#define APR_LDAP_OPT_DEBUG_LEVEL   0x5001
 
#define APR_LDAP_OPT_DEREF   0x6ff6
 
#define APR_LDAP_OPT_RESULT_CODE   0x6ff5
 
#define APR_LDAP_OPT_DESC   0x6ff4
 
#define APR_LDAP_OPT_URI   0x5006
 
#define APR_LDAP_OPT_NETWORK_TIMEOUT   0x5005
 
#define APR_LDAP_OPT_TIMEOUT   0x5002
 
#define APR_LDAP_CA_TYPE_UNKNOWN   0
 
#define APR_LDAP_CA_TYPE_DER   1
 
#define APR_LDAP_CA_TYPE_BASE64   2
 
#define APR_LDAP_CA_TYPE_CACERTDIR_BASE64   15
 
#define APR_LDAP_CA_TYPE_URI   18
 
#define APR_LDAP_CERT_TYPE_UNKNOWN   5
 
#define APR_LDAP_CERT_TYPE_DER   6
 
#define APR_LDAP_CERT_TYPE_BASE64   7
 
#define APR_LDAP_CERT_TYPE_PFX   13
 
#define APR_LDAP_CERT_TYPE_URI   16
 
#define APR_LDAP_KEY_TYPE_UNKNOWN   10
 
#define APR_LDAP_KEY_TYPE_DER   11
 
#define APR_LDAP_KEY_TYPE_BASE64   12
 
#define APR_LDAP_KEY_TYPE_PFX   14
 
#define APR_LDAP_KEY_TYPE_URI   17
 
#define APR_LDAP_CONTROL_PAGE_OID   "1.2.840.113556.1.4.319" /* RFC 2696 */
 
#define APR_LDAP_CONTROL_SORT_REQUEST_OID   "1.2.840.113556.1.4.473" /* RFC 2891 */
 
#define APR_LDAP_CONTROL_SORT_RESPONSE_OID   "1.2.840.113556.1.4.474" /* RFC 2891 */
 
#define APR_LDAP_CONTROL_VLV_REQUEST_OID   "2.16.840.1.113730.3.4.9"
 
#define APR_LDAP_CONTROL_VLV_RESPONSE_OID   "2.16.840.1.113730.3.4.10"
 

Typedefs

typedef struct apr_ldap_url_desc_t apr_ldap_url_desc_t
 
typedef struct apr_ldap_driver_t apr_ldap_driver_t
 
typedef struct apr_ldap_t apr_ldap_t
 
typedef struct apr_ldap_apiinfo_t apr_ldap_apiinfo_t
 
typedef struct apr_ldap_apifeature_info_t apr_ldap_apifeature_info_t
 
typedef struct apr_ldap_opt_tls_cert_t apr_ldap_opt_tls_cert_t
 
typedef union apr_ldap_opt_t apr_ldap_opt_t
 
typedef struct apr_ldap_control_oid_t apr_ldap_control_oid_t
 
typedef struct apr_ldap_control_sortrequest_t apr_ldap_control_sortrequest_t
 
typedef struct apr_ldap_control_sortkey_t apr_ldap_control_sortkey_t
 
typedef struct apr_ldap_control_sortresponse_t apr_ldap_control_sortresponse_t
 
typedef struct apr_ldap_control_pagerequest_t apr_ldap_control_pagerequest_t
 
typedef struct apr_ldap_control_pageresponse_t apr_ldap_control_pageresponse_t
 
typedef struct apr_ldap_control_vlvrequest_t apr_ldap_control_vlvrequest_t
 
typedef struct apr_ldap_control_vlvresponse_t apr_ldap_control_vlvresponse_t
 
typedef struct apr_ldap_control_t apr_ldap_control_t
 
typedef struct apr_ldap_bind_interact_t apr_ldap_bind_interact_t
 
typedef apr_status_t() apr_ldap_bind_interact_cb(apr_ldap_t *ld, unsigned int flags, apr_ldap_bind_interact_t *interact, void *ctx)
 
typedef apr_status_t(* apr_ldap_prepare_cb) (apr_ldap_t *ldap, apr_status_t status, void *ctx, apu_err_t *err)
 
typedef 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)
 
typedef 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)
 
typedef 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)
 
typedef struct apr_ldap_search_entry_t apr_ldap_search_entry_t
 
typedef 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)
 
typedef struct apr_ldap_pair_t apr_ldap_pair_t
 
typedef 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)
 
typedef struct apr_ldap_modify_t apr_ldap_modify_t
 
typedef 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)
 
typedef 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)
 
typedef 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)
 
typedef 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)
 

Enumerations

enum  apr_ldap_protocol_version_e { APR_LDAP_VERSION1 = 1 , APR_LDAP_VERSION2 = 2 , APR_LDAP_VERSION3 = 3 }
 
enum  apr_ldap_debug_e {
  LDAP_DEBUG_TRACE = 0x0001 , LDAP_DEBUG_PACKETS = 0x0002 , LDAP_DEBUG_ARGS = 0x0004 , LDAP_DEBUG_CONNS = 0x0008 ,
  LDAP_DEBUG_BER = 0x0010 , LDAP_DEBUG_FILTER = 0x0020 , LDAP_DEBUG_CONFIG = 0x0040 , LDAP_DEBUG_ACL = 0x0080 ,
  LDAP_DEBUG_STATS = 0x0100 , LDAP_DEBUG_STATS2 = 0x0200 , LDAP_DEBUG_SHELL = 0x0400 , LDAP_DEBUG_PARSE = 0x0800 ,
  LDAP_DEBUG_SYNC = 0x4000 , LDAP_DEBUG_NONE = 0x8000 , LDAP_DEBUG_ANY = (-1)
}
 
enum  apr_ldap_deref_e { APR_LDAP_DEREF_NEVER = 0 , APR_LDAP_DEREF_SEARCHING = 1 , APR_LDAP_DEREF_FINDING = 2 , APR_LDAP_DEREF_ALWAYS = 3 }
 
enum  apr_ldap_switch_e { APR_LDAP_OPT_OFF = 0 , APR_LDAP_OPT_ON = 1 }
 
enum  apr_ldap_tls_e { APR_LDAP_TLS_NONE = 0 , APR_LDAP_TLS_SSL = 1 , APR_LDAP_TLS_STARTTLS = 2 , APR_LDAP_TLS_STOPTLS = 3 }
 
enum  apr_ldap_verify_e { APR_LDAP_VERIFY_OFF = 0 , APR_LDAP_VERIFY_ON = 1 }
 
enum  apr_ldap_control_e {
  APR_LDAP_CONTROL_OID = 0 , APR_LDAP_CONTROL_SORT_REQUEST = 1 , APR_LDAP_CONTROL_SORT_RESPONSE = 2 , APR_LDAP_CONTROL_PAGE_REQUEST = 3 ,
  APR_LDAP_CONTROL_PAGE_RESPONSE = 4 , APR_LDAP_CONTROL_VLV_REQUEST = 5 , APR_LDAP_CONTROL_VLV_RESPONSE = 6
}
 
enum  apr_ldap_control_sortkey_e { APR_LDAP_CONTROL_SORT_FORWARD = 0 , APR_LDAP_CONTROL_SORT_REVERSE = 1 }
 
enum  apr_ldap_bind_interact_e {
  APR_LDAP_INTERACT_DN = 0 , APR_LDAP_INTERACT_GETREALM = 0x4008 , APR_LDAP_INTERACT_AUTHNAME = 0x4002 , APR_LDAP_INTERACT_USER = 0x4001 ,
  APR_LDAP_INTERACT_PASS = 0x4004 , APR_LDAP_INTERACT_NOECHOPROMPT = 0x4006 , APR_LDAP_INTERACT_ECHOPROMPT = 0x4005
}
 
enum  apr_ldap_search_scope_e { APR_LDAP_SCOPE_BASE = 0x0000 , APR_LDAP_SCOPE_ONELEVEL = 0x0001 , APR_LDAP_SCOPE_SUBTREE = 0x0002 , APR_LDAP_SCOPE_SUBORDINATE = 0x0003 }
 
enum  apr_ldap_operation_e { APR_LDAP_MOD_ADD = 0 , APR_LDAP_MOD_DELETE = 1 , APR_LDAP_MOD_REPLACE = 2 , APR_LDAP_MOD_INCREMENT = 3 }
 
enum  apr_ldap_rename_e { APR_LDAP_RENAME_NONE = 0 , APR_LDAP_RENAME_DELETEOLDRDN = 1 }
 

Functions

int apr_ldap_is_ldap_url (const char *url)
 
int apr_ldap_is_ldaps_url (const char *url)
 
int apr_ldap_is_ldapi_url (const char *url)
 
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)
 
int apr_ldap_url_parse (apr_pool_t *pool, const char *url_in, apr_ldap_url_desc_t **ludpp, apu_err_t **result_err)
 
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_info (apr_pool_t *pool, apu_err_t **result_err)
 
apr_status_t apr_ldap_initialise (apr_pool_t *pool, apr_ldap_t **ldap, apu_err_t *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_connect (apr_pool_t *pool, apr_ldap_t *ldap, apr_interval_time_t timeout, apu_err_t *result_err)
 
apr_status_t apr_ldap_prepare (apr_pool_t *pool, apr_ldap_t *ldap, apr_ldap_prepare_cb prepare_cb, void *prepare_ctx)
 
apr_status_t apr_ldap_process (apr_pool_t *pool, apr_ldap_t *ldap, apr_interval_time_t timeout, 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_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_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)
 
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_array_header_t *serverctrls, apr_array_header_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 (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_array_header_t *serverctrls, apr_array_header_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)
 
apr_status_t apr_ldap_add (apr_pool_t *pool, apr_ldap_t *ldap, const char *dn, apr_array_header_t *adds, apr_array_header_t *serverctrls, apr_array_header_t *clientctrls, apr_interval_time_t timeout, apr_ldap_add_cb add_cb, void *ctx, apu_err_t *err)
 
apr_status_t apr_ldap_modify (apr_pool_t *pool, apr_ldap_t *ldap, const char *dn, apr_array_header_t *mods, apr_array_header_t *serverctrls, apr_array_header_t *clientctrls, apr_interval_time_t timeout, apr_ldap_modify_cb modify_cb, void *ctx, apu_err_t *err)
 
apr_status_t apr_ldap_rename (apr_pool_t *pool, apr_ldap_t *ldap, const char *dn, const char *newrdn, const char *newparent, apr_ldap_rename_e flags, apr_array_header_t *serverctrls, apr_array_header_t *clientctrls, apr_interval_time_t timeout, apr_ldap_rename_cb rename_cb, void *ctx, apu_err_t *err)
 
apr_status_t apr_ldap_delete (apr_pool_t *pool, apr_ldap_t *ldap, const char *dn, apr_array_header_t *serverctrls, apr_array_header_t *clientctrls, apr_interval_time_t timeout, apr_ldap_delete_cb delete_cb, void *ctx, apu_err_t *err)
 
apr_status_t apr_ldap_extended (apr_pool_t *pool, apr_ldap_t *ldap, const char *oid, apr_buffer_t *data, apr_array_header_t *serverctrls, apr_array_header_t *clientctrls, apr_interval_time_t timeout, apr_ldap_extended_cb ext_cb, void *ctx, apu_err_t *err)
 
apr_status_t apr_ldap_unbind (apr_ldap_t *ldap, apr_array_header_t *serverctrls, apr_array_header_t *clientctrls, apu_err_t *err)
 

Detailed Description

APR-UTIL LDAP routines.