Apache HTTPD
Classes | Macros | Enumerations | Functions | Variables
mod_authnz_ldap.c File Reference
#include "ap_provider.h"
#include "httpd.h"
#include "http_config.h"
#include "http_core.h"
#include "http_log.h"
#include "http_protocol.h"
#include "http_request.h"
#include "util_ldap.h"
#include "mod_auth.h"
#include "apr_strings.h"
#include "apr_xlate.h"
#include "apr_want.h"
#include "apr_lib.h"
#include <ctype.h>

Go to the source code of this file.

Classes

struct  authn_ldap_config_t
 
struct  authn_ldap_request_t
 

Macros

#define APR_WANT_STRFUNC
 
#define GROUPATTR_MAX_ELTS   10
 
#define FILTER_LENGTH   MAX_STRING_LEN
 

Enumerations

enum  auth_ldap_phase { LDAP_AUTHN , LDAP_AUTHZ }
 
enum  auth_ldap_optype { LDAP_SEARCH , LDAP_COMPARE , LDAP_COMPARE_AND_SEARCH }
 

Functions

static charderive_codepage_from_lang (apr_pool_t *p, char *language)
 
static apr_xlate_tget_conv_set (request_rec *r)
 
static const charauthn_ldap_xlate_password (request_rec *r, const char *sent_password)
 
static void authn_ldap_build_filter (char *filtbuf, request_rec *r, const char *sent_user, const char *sent_filter, authn_ldap_config_t *sec)
 
static void * create_authnz_ldap_dir_config (apr_pool_t *p, char *d)
 
static apr_status_t authnz_ldap_cleanup_connection_close (void *param)
 
static int set_request_vars (request_rec *r, enum auth_ldap_phase phase)
 
static const charldap_determine_binddn (request_rec *r, const char *user)
 
static util_ldap_connection_tget_connection_for_authz (request_rec *r, enum auth_ldap_optype type)
 
static authn_status authn_ldap_check_password (request_rec *r, const char *user, const char *password)
 
static authz_status ldapuser_check_authorization (request_rec *r, const char *require_args, const void *parsed_require_args)
 
static authz_status ldapgroup_check_authorization (request_rec *r, const char *require_args, const void *parsed_require_args)
 
static authz_status ldapdn_check_authorization (request_rec *r, const char *require_args, const void *parsed_require_args)
 
static authz_status ldapattribute_check_authorization (request_rec *r, const char *require_args, const void *parsed_require_args)
 
static authz_status ldapfilter_check_authorization (request_rec *r, const char *require_args, const void *parsed_require_args)
 
static const charldap_parse_config (cmd_parms *cmd, const char *require_line, const void **parsed_require_line)
 
static const charmod_auth_ldap_parse_url (cmd_parms *cmd, void *config, const char *url, const char *mode)
 
static const charmod_auth_ldap_set_deref (cmd_parms *cmd, void *config, const char *arg)
 
static const charmod_auth_ldap_add_subgroup_attribute (cmd_parms *cmd, void *config, const char *arg)
 
static const charmod_auth_ldap_add_subgroup_class (cmd_parms *cmd, void *config, const char *arg)
 
static const charmod_auth_ldap_set_subgroup_maxdepth (cmd_parms *cmd, void *config, const char *max_depth)
 
static const charmod_auth_ldap_add_group_attribute (cmd_parms *cmd, void *config, const char *arg)
 
static const charset_charset_config (cmd_parms *cmd, void *config, const char *arg)
 
static const charset_bind_pattern (cmd_parms *cmd, void *_cfg, const char *exp, const char *subst)
 
static const charset_bind_password (cmd_parms *cmd, void *_cfg, const char *arg)
 
static int authnz_ldap_post_config (apr_pool_t *p, apr_pool_t *plog, apr_pool_t *ptemp, server_rec *s)
 
static void ImportULDAPOptFn (void)
 
static void register_hooks (apr_pool_t *p)
 

Variables

static chardefault_attributes [3] = { "member", "uniqueMember", NULL }
 
static apr_OFN_uldap_connection_close_tutil_ldap_connection_close
 
static apr_OFN_uldap_connection_find_tutil_ldap_connection_find
 
static apr_OFN_uldap_cache_comparedn_tutil_ldap_cache_comparedn
 
static apr_OFN_uldap_cache_compare_tutil_ldap_cache_compare
 
static apr_OFN_uldap_cache_check_subgroups_tutil_ldap_cache_check_subgroups
 
static apr_OFN_uldap_cache_checkuserid_tutil_ldap_cache_checkuserid
 
static apr_OFN_uldap_cache_getuserdn_tutil_ldap_cache_getuserdn
 
static apr_OFN_uldap_ssl_supported_tutil_ldap_ssl_supported
 
static apr_hash_tcharset_conversions = NULL
 
static charto_charset = NULL
 
static const command_rec authnz_ldap_cmds []
 
static const authn_provider authn_ldap_provider
 
static const authz_provider authz_ldapuser_provider
 
static const authz_provider authz_ldapgroup_provider
 
static const authz_provider authz_ldapdn_provider
 
static const authz_provider authz_ldapattribute_provider
 
static const authz_provider authz_ldapfilter_provider
 
static int *const aplog_module_index = &( authnz_ldap_module.module_index)
 

Macro Definition Documentation

◆ APR_WANT_STRFUNC

#define APR_WANT_STRFUNC

Definition at line 31 of file mod_authnz_ldap.c.

◆ FILTER_LENGTH

#define FILTER_LENGTH   MAX_STRING_LEN

Definition at line 211 of file mod_authnz_ldap.c.

◆ GROUPATTR_MAX_ELTS

#define GROUPATTR_MAX_ELTS   10

Definition at line 102 of file mod_authnz_ldap.c.

Enumeration Type Documentation

◆ auth_ldap_optype

Enumerator
LDAP_SEARCH 
LDAP_COMPARE 
LDAP_COMPARE_AND_SEARCH 

Definition at line 97 of file mod_authnz_ldap.c.

◆ auth_ldap_phase

Enumerator
LDAP_AUTHN 
LDAP_AUTHZ 

Definition at line 93 of file mod_authnz_ldap.c.

Function Documentation

◆ authn_ldap_build_filter()

static void authn_ldap_build_filter ( char filtbuf,
request_rec r,
const char sent_user,
const char sent_filter,
authn_ldap_config_t sec 
)
static

Definition at line 212 of file mod_authnz_ldap.c.

◆ authn_ldap_check_password()

static authn_status authn_ldap_check_password ( request_rec r,
const char user,
const char password 
)
static

Definition at line 470 of file mod_authnz_ldap.c.

◆ authn_ldap_xlate_password()

static const char * authn_ldap_xlate_password ( request_rec r,
const char sent_password 
)
static

Definition at line 170 of file mod_authnz_ldap.c.

◆ authnz_ldap_cleanup_connection_close()

static apr_status_t authnz_ldap_cleanup_connection_close ( void *  param)
static

Definition at line 367 of file mod_authnz_ldap.c.

◆ authnz_ldap_post_config()

static int authnz_ldap_post_config ( apr_pool_t p,
apr_pool_t plog,
apr_pool_t ptemp,
server_rec s 
)
static

< Module has handled this stage.

< Module has handled this stage.

Definition at line 1804 of file mod_authnz_ldap.c.

◆ create_authnz_ldap_dir_config()

static void * create_authnz_ldap_dir_config ( apr_pool_t p,
char d 
)
static

Definition at line 329 of file mod_authnz_ldap.c.

◆ derive_codepage_from_lang()

static char * derive_codepage_from_lang ( apr_pool_t p,
char language 
)
static

Definition at line 120 of file mod_authnz_ldap.c.

◆ get_connection_for_authz()

static util_ldap_connection_t * get_connection_for_authz ( request_rec r,
enum auth_ldap_optype  type 
)
static

Definition at line 438 of file mod_authnz_ldap.c.

◆ get_conv_set()

static apr_xlate_t * get_conv_set ( request_rec r)
static

Definition at line 145 of file mod_authnz_ldap.c.

◆ ImportULDAPOptFn()

static void ImportULDAPOptFn ( void  )
static

Definition at line 1922 of file mod_authnz_ldap.c.

◆ ldap_determine_binddn()

static const char * ldap_determine_binddn ( request_rec r,
const char user 
)
static

Definition at line 412 of file mod_authnz_ldap.c.

◆ ldap_parse_config()

static const char * ldap_parse_config ( cmd_parms cmd,
const char require_line,
const void **  parsed_require_line 
)
static

Definition at line 1414 of file mod_authnz_ldap.c.

◆ ldapattribute_check_authorization()

static authz_status ldapattribute_check_authorization ( request_rec r,
const char require_args,
const void *  parsed_require_args 
)
static

Definition at line 1133 of file mod_authnz_ldap.c.

◆ ldapdn_check_authorization()

static authz_status ldapdn_check_authorization ( request_rec r,
const char require_args,
const void *  parsed_require_args 
)
static

Definition at line 1012 of file mod_authnz_ldap.c.

◆ ldapfilter_check_authorization()

static authz_status ldapfilter_check_authorization ( request_rec r,
const char require_args,
const void *  parsed_require_args 
)
static

Definition at line 1262 of file mod_authnz_ldap.c.

◆ ldapgroup_check_authorization()

static authz_status ldapgroup_check_authorization ( request_rec r,
const char require_args,
const void *  parsed_require_args 
)
static

Definition at line 785 of file mod_authnz_ldap.c.

◆ ldapuser_check_authorization()

static authz_status ldapuser_check_authorization ( request_rec r,
const char require_args,
const void *  parsed_require_args 
)
static

Definition at line 636 of file mod_authnz_ldap.c.

◆ mod_auth_ldap_add_group_attribute()

static const char * mod_auth_ldap_add_group_attribute ( cmd_parms cmd,
void *  config,
const char arg 
)
static

Definition at line 1613 of file mod_authnz_ldap.c.

◆ mod_auth_ldap_add_subgroup_attribute()

static const char * mod_auth_ldap_add_subgroup_attribute ( cmd_parms cmd,
void *  config,
const char arg 
)
static

Definition at line 1570 of file mod_authnz_ldap.c.

◆ mod_auth_ldap_add_subgroup_class()

static const char * mod_auth_ldap_add_subgroup_class ( cmd_parms cmd,
void *  config,
const char arg 
)
static

Definition at line 1587 of file mod_authnz_ldap.c.

◆ mod_auth_ldap_parse_url()

static const char * mod_auth_ldap_parse_url ( cmd_parms cmd,
void *  config,
const char url,
const char mode 
)
static

Definition at line 1438 of file mod_authnz_ldap.c.

◆ mod_auth_ldap_set_deref()

static const char * mod_auth_ldap_set_deref ( cmd_parms cmd,
void *  config,
const char arg 
)
static

Definition at line 1548 of file mod_authnz_ldap.c.

◆ mod_auth_ldap_set_subgroup_maxdepth()

static const char * mod_auth_ldap_set_subgroup_maxdepth ( cmd_parms cmd,
void *  config,
const char max_depth 
)
static

Definition at line 1602 of file mod_authnz_ldap.c.

◆ register_hooks()

static void register_hooks ( apr_pool_t p)
static

< Run access control hooks only on internal requests with configurations distinct from that of initial request

< Run access control hooks only on internal requests with configurations distinct from that of initial request

< Run access control hooks only on internal requests with configurations distinct from that of initial request

< Run access control hooks only on internal requests with configurations distinct from that of initial request

< Run access control hooks only on internal requests with configurations distinct from that of initial request

< Run access control hooks only on internal requests with configurations distinct from that of initial request

Definition at line 1934 of file mod_authnz_ldap.c.

◆ set_bind_password()

static const char * set_bind_password ( cmd_parms cmd,
void *  _cfg,
const char arg 
)
static

Definition at line 1653 of file mod_authnz_ldap.c.

◆ set_bind_pattern()

static const char * set_bind_pattern ( cmd_parms cmd,
void *  _cfg,
const char exp,
const char subst 
)
static

unused

Definition at line 1635 of file mod_authnz_ldap.c.

◆ set_charset_config()

static const char * set_charset_config ( cmd_parms cmd,
void *  config,
const char arg 
)
static

Definition at line 1628 of file mod_authnz_ldap.c.

◆ set_request_vars()

static int set_request_vars ( request_rec r,
enum auth_ldap_phase  phase 
)
static

Definition at line 374 of file mod_authnz_ldap.c.

Variable Documentation

◆ aplog_module_index

int* const aplog_module_index = &( authnz_ldap_module.module_index)
static

Definition at line 1968 of file mod_authnz_ldap.c.

◆ authn_ldap_provider

const authn_provider authn_ldap_provider
static
Initial value:
=
{
}
static authn_status authn_ldap_check_password(request_rec *r, const char *user, const char *password)
return NULL
Definition mod_so.c:359

Definition at line 1887 of file mod_authnz_ldap.c.

◆ authnz_ldap_cmds

const command_rec authnz_ldap_cmds[]
static

Definition at line 1694 of file mod_authnz_ldap.c.

◆ authz_ldapattribute_provider

const authz_provider authz_ldapattribute_provider
static
Initial value:
=
{
}
static authz_status ldapattribute_check_authorization(request_rec *r, const char *require_args, const void *parsed_require_args)
static const char * ldap_parse_config(cmd_parms *cmd, const char *require_line, const void **parsed_require_line)

Definition at line 1910 of file mod_authnz_ldap.c.

◆ authz_ldapdn_provider

const authz_provider authz_ldapdn_provider
static
Initial value:
=
{
}
static authz_status ldapdn_check_authorization(request_rec *r, const char *require_args, const void *parsed_require_args)

Definition at line 1904 of file mod_authnz_ldap.c.

◆ authz_ldapfilter_provider

const authz_provider authz_ldapfilter_provider
static
Initial value:
=
{
}
static authz_status ldapfilter_check_authorization(request_rec *r, const char *require_args, const void *parsed_require_args)

Definition at line 1916 of file mod_authnz_ldap.c.

◆ authz_ldapgroup_provider

const authz_provider authz_ldapgroup_provider
static
Initial value:
=
{
}
static authz_status ldapgroup_check_authorization(request_rec *r, const char *require_args, const void *parsed_require_args)

Definition at line 1898 of file mod_authnz_ldap.c.

◆ authz_ldapuser_provider

const authz_provider authz_ldapuser_provider
static
Initial value:
=
{
}
static authz_status ldapuser_check_authorization(request_rec *r, const char *require_args, const void *parsed_require_args)

Definition at line 1893 of file mod_authnz_ldap.c.

◆ charset_conversions

apr_hash_t* charset_conversions = NULL
static

Definition at line 115 of file mod_authnz_ldap.c.

◆ default_attributes

char* default_attributes[3] = { "member", "uniqueMember", NULL }
static

Definition at line 41 of file mod_authnz_ldap.c.

◆ to_charset

char* to_charset = NULL
static

Definition at line 116 of file mod_authnz_ldap.c.

◆ util_ldap_cache_check_subgroups

apr_OFN_uldap_cache_check_subgroups_t* util_ldap_cache_check_subgroups
static

Definition at line 110 of file mod_authnz_ldap.c.

◆ util_ldap_cache_checkuserid

apr_OFN_uldap_cache_checkuserid_t* util_ldap_cache_checkuserid
static

Definition at line 111 of file mod_authnz_ldap.c.

◆ util_ldap_cache_compare

apr_OFN_uldap_cache_compare_t* util_ldap_cache_compare
static

Definition at line 109 of file mod_authnz_ldap.c.

◆ util_ldap_cache_comparedn

apr_OFN_uldap_cache_comparedn_t* util_ldap_cache_comparedn
static

Definition at line 108 of file mod_authnz_ldap.c.

◆ util_ldap_cache_getuserdn

apr_OFN_uldap_cache_getuserdn_t* util_ldap_cache_getuserdn
static

Definition at line 112 of file mod_authnz_ldap.c.

◆ util_ldap_connection_close

apr_OFN_uldap_connection_close_t* util_ldap_connection_close
static

Definition at line 106 of file mod_authnz_ldap.c.

◆ util_ldap_connection_find

apr_OFN_uldap_connection_find_t* util_ldap_connection_find
static

Definition at line 107 of file mod_authnz_ldap.c.

◆ util_ldap_ssl_supported

apr_OFN_uldap_ssl_supported_t* util_ldap_ssl_supported
static

Definition at line 113 of file mod_authnz_ldap.c.