Apache HTTPD
Classes | Macros | Typedefs | Enumerations | Functions | Variables
mod_authz_core.c File Reference
#include "apr_strings.h"
#include "apr_network_io.h"
#include "apr_md5.h"
#include "apr_want.h"
#include "ap_config.h"
#include "httpd.h"
#include "http_config.h"
#include "http_core.h"
#include "http_log.h"
#include "http_request.h"
#include "http_protocol.h"
#include "ap_provider.h"
#include "ap_expr.h"
#include "mod_auth.h"

Go to the source code of this file.

Classes

struct  provider_alias_rec
 
struct  authz_section_conf
 
struct  authz_core_dir_conf
 
struct  authz_core_srv_conf
 
struct  require_expr_info
 

Macros

#define APR_WANT_STRFUNC
 
#define APR_WANT_BYTEFUNC
 
#define UNSET   -1
 
#define REQUIRE_EXPR_NOTE   "Require_expr_info"
 

Typedefs

typedef struct provider_alias_rec provider_alias_rec
 
typedef struct authz_section_conf authz_section_conf
 
typedef struct authz_core_dir_conf authz_core_dir_conf
 
typedef struct authz_core_srv_conf authz_core_srv_conf
 

Enumerations

enum  authz_logic_op { AUTHZ_LOGIC_AND , AUTHZ_LOGIC_OR , AUTHZ_LOGIC_OFF , AUTHZ_LOGIC_UNSET }
 

Functions

static void * create_authz_core_dir_config (apr_pool_t *p, char *dummy)
 
static void * merge_authz_core_dir_config (apr_pool_t *p, void *basev, void *newv)
 
static void * merge_authz_core_svr_config (apr_pool_t *p, void *basev, void *newv)
 
static void * create_authz_core_svr_config (apr_pool_t *p, server_rec *s)
 
static authz_status authz_alias_check_authorization (request_rec *r, const char *require_args, const void *parsed_require_args)
 
static const charauthz_require_alias_section (cmd_parms *cmd, void *mconfig, const char *args)
 
static const charformat_authz_result (authz_status result)
 
static const charformat_authz_command (apr_pool_t *p, authz_section_conf *section)
 
static authz_section_confcreate_default_section (apr_pool_t *p)
 
static const charadd_authz_provider (cmd_parms *cmd, void *config, const char *args)
 
static const charadd_authz_section (cmd_parms *cmd, void *mconfig, const char *args)
 
static const charauthz_merge_sections (cmd_parms *cmd, void *mconfig, const char *arg)
 
static int authz_core_check_section (apr_pool_t *p, server_rec *s, authz_section_conf *section, int is_conf)
 
static int authz_core_pre_config (apr_pool_t *p, apr_pool_t *plog, apr_pool_t *ptemp)
 
static int authz_core_check_config (apr_pool_t *p, apr_pool_t *plog, apr_pool_t *ptemp, server_rec *s)
 
static authz_status apply_authz_sections (request_rec *r, authz_section_conf *section, authz_logic_op parent_op)
 
static int authorize_user_core (request_rec *r, int after_authn)
 
static int authorize_userless (request_rec *r)
 
static int authorize_user (request_rec *r)
 
static int authz_some_auth_required (request_rec *r)
 
static authz_status env_check_authorization (request_rec *r, const char *require_line, const void *parsed_require_line)
 
static authz_status all_check_authorization (request_rec *r, const char *require_line, const void *parsed_require_line)
 
static const charall_parse_config (cmd_parms *cmd, const char *require_line, const void **parsed_require_line)
 
static authz_status method_check_authorization (request_rec *r, const char *require_line, const void *parsed_require_line)
 
static const charmethod_parse_config (cmd_parms *cmd, const char *require_line, const void **parsed_require_line)
 
static int expr_lookup_fn (ap_expr_lookup_parms *parms)
 
static const charexpr_parse_config (cmd_parms *cmd, const char *require_line, const void **parsed_require_line)
 
static authz_status expr_check_authorization (request_rec *r, const char *require_line, const void *parsed_require_line)
 
static void register_hooks (apr_pool_t *p)
 

Variables

static authz_core_dir_confauthz_core_first_dir_conf
 
static const authz_provider authz_alias_provider
 
static const command_rec authz_cmds []
 
static const authz_provider authz_env_provider
 
static const authz_provider authz_all_provider
 
static const authz_provider authz_method_provider
 
static const authz_provider authz_expr_provider
 
static int *const aplog_module_index = &( authz_core_module.module_index)
 

Macro Definition Documentation

◆ APR_WANT_BYTEFUNC

#define APR_WANT_BYTEFUNC

Definition at line 29 of file mod_authz_core.c.

◆ APR_WANT_STRFUNC

#define APR_WANT_STRFUNC

Definition at line 28 of file mod_authz_core.c.

◆ REQUIRE_EXPR_NOTE

#define REQUIRE_EXPR_NOTE   "Require_expr_info"

Definition at line 1057 of file mod_authz_core.c.

◆ UNSET

#define UNSET   -1

Definition at line 92 of file mod_authz_core.c.

Typedef Documentation

◆ authz_core_dir_conf

Definition at line 83 of file mod_authz_core.c.

◆ authz_core_srv_conf

◆ authz_section_conf

Definition at line 66 of file mod_authz_core.c.

◆ provider_alias_rec

Enumeration Type Documentation

◆ authz_logic_op

Enumerator
AUTHZ_LOGIC_AND 
AUTHZ_LOGIC_OR 
AUTHZ_LOGIC_OFF 
AUTHZ_LOGIC_UNSET 

Definition at line 59 of file mod_authz_core.c.

Function Documentation

◆ add_authz_provider()

static const char * add_authz_provider ( cmd_parms cmd,
void *  config,
const char args 
)
static

Definition at line 391 of file mod_authz_core.c.

◆ add_authz_section()

static const char * add_authz_section ( cmd_parms cmd,
void *  mconfig,
const char args 
)
static

< *.conf inside <Directory> or <Location> and .htaccess when AllowOverride AuthConfig

Definition at line 473 of file mod_authz_core.c.

◆ all_check_authorization()

static authz_status all_check_authorization ( request_rec r,
const char require_line,
const void *  parsed_require_line 
)
static

Definition at line 972 of file mod_authz_core.c.

◆ all_parse_config()

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

Definition at line 982 of file mod_authz_core.c.

◆ apply_authz_sections()

static authz_status apply_authz_sections ( request_rec r,
authz_section_conf section,
authz_logic_op  parent_op 
)
static

Definition at line 722 of file mod_authz_core.c.

◆ authorize_user()

static int authorize_user ( request_rec r)
static

Definition at line 919 of file mod_authz_core.c.

◆ authorize_user_core()

static int authorize_user_core ( request_rec r,
int  after_authn 
)
static

< Module has handled this stage.

< Module has handled this stage.

< Module declines to handle

Definition at line 823 of file mod_authz_core.c.

◆ authorize_userless()

static int authorize_userless ( request_rec r)
static

Definition at line 914 of file mod_authz_core.c.

◆ authz_alias_check_authorization()

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

Definition at line 191 of file mod_authz_core.c.

◆ authz_core_check_config()

static int authz_core_check_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.

< Module has handled this stage.

Definition at line 664 of file mod_authz_core.c.

◆ authz_core_check_section()

static int authz_core_check_section ( apr_pool_t p,
server_rec s,
authz_section_conf section,
int  is_conf 
)
static

< Module has handled this stage.

< Module has handled this stage.

< Module has handled this stage.

< Module has handled this stage.

< Module has handled this stage.

Definition at line 597 of file mod_authz_core.c.

◆ authz_core_pre_config()

static int authz_core_pre_config ( apr_pool_t p,
apr_pool_t plog,
apr_pool_t ptemp 
)
static

< Module has handled this stage.

Definition at line 656 of file mod_authz_core.c.

◆ authz_merge_sections()

static const char * authz_merge_sections ( cmd_parms cmd,
void *  mconfig,
const char arg 
)
static

Definition at line 575 of file mod_authz_core.c.

◆ authz_require_alias_section()

static const char * authz_require_alias_section ( cmd_parms cmd,
void *  mconfig,
const char args 
)
static

< Forbidden in <VirtualHost>

< Forbidden in <Limit>

< Forbidden in <Directory>

< Forbidden in <Location>

< Forbidden in <Files> or <If>

< Forbidden in <Proxy>

< *.conf inside <Directory> or <Location> and .htaccess when AllowOverride AuthConfig

< *.conf inside <Directory> or <Location>

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

Definition at line 248 of file mod_authz_core.c.

◆ authz_some_auth_required()

static int authz_some_auth_required ( request_rec r)
static

Definition at line 924 of file mod_authz_core.c.

◆ create_authz_core_dir_config()

static void * create_authz_core_dir_config ( apr_pool_t p,
char dummy 
)
static

Definition at line 102 of file mod_authz_core.c.

◆ create_authz_core_svr_config()

static void * create_authz_core_svr_config ( apr_pool_t p,
server_rec s 
)
static

Definition at line 178 of file mod_authz_core.c.

◆ create_default_section()

static authz_section_conf * create_default_section ( apr_pool_t p)
static

Definition at line 382 of file mod_authz_core.c.

◆ env_check_authorization()

static authz_status env_check_authorization ( request_rec r,
const char require_line,
const void *  parsed_require_line 
)
static

Definition at line 942 of file mod_authz_core.c.

◆ expr_check_authorization()

static authz_status expr_check_authorization ( request_rec r,
const char require_line,
const void *  parsed_require_line 
)
static

Definition at line 1106 of file mod_authz_core.c.

◆ expr_lookup_fn()

static int expr_lookup_fn ( ap_expr_lookup_parms parms)
static

Definition at line 1063 of file mod_authz_core.c.

◆ expr_parse_config()

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

Definition at line 1075 of file mod_authz_core.c.

◆ format_authz_command()

static const char * format_authz_command ( apr_pool_t p,
authz_section_conf section 
)
static

Definition at line 368 of file mod_authz_core.c.

◆ format_authz_result()

static const char * format_authz_result ( authz_status  result)
static

Definition at line 357 of file mod_authz_core.c.

◆ merge_authz_core_dir_config()

static void * merge_authz_core_dir_config ( apr_pool_t p,
void *  basev,
void *  newv 
)
static

Definition at line 115 of file mod_authz_core.c.

◆ merge_authz_core_svr_config()

static void * merge_authz_core_svr_config ( apr_pool_t p,
void *  basev,
void *  newv 
)
static

Definition at line 172 of file mod_authz_core.c.

◆ method_check_authorization()

static authz_status method_check_authorization ( request_rec r,
const char require_line,
const void *  parsed_require_line 
)
static

Definition at line 1015 of file mod_authz_core.c.

◆ method_parse_config()

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

no valid method

Definition at line 1026 of file mod_authz_core.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 1138 of file mod_authz_core.c.

Variable Documentation

◆ aplog_module_index

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

Definition at line 1163 of file mod_authz_core.c.

◆ authz_alias_provider

const authz_provider authz_alias_provider
static
Initial value:
=
{
}
static authz_status authz_alias_check_authorization(request_rec *r, const char *require_args, const void *parsed_require_args)
return NULL
Definition mod_so.c:359

Definition at line 242 of file mod_authz_core.c.

◆ authz_all_provider

const authz_provider authz_all_provider
static
Initial value:
=
{
}
static authz_status all_check_authorization(request_rec *r, const char *require_line, const void *parsed_require_line)
static const char * all_parse_config(cmd_parms *cmd, const char *require_line, const void **parsed_require_line)

Definition at line 1004 of file mod_authz_core.c.

◆ authz_cmds

const command_rec authz_cmds[]
static

Definition at line 682 of file mod_authz_core.c.

◆ authz_core_first_dir_conf

authz_core_dir_conf* authz_core_first_dir_conf
static

Definition at line 100 of file mod_authz_core.c.

◆ authz_env_provider

const authz_provider authz_env_provider
static
Initial value:
=
{
}
static authz_status env_check_authorization(request_rec *r, const char *require_line, const void *parsed_require_line)

Definition at line 961 of file mod_authz_core.c.

◆ authz_expr_provider

const authz_provider authz_expr_provider
static
Initial value:
=
{
}
static const char * expr_parse_config(cmd_parms *cmd, const char *require_line, const void **parsed_require_line)
static authz_status expr_check_authorization(request_rec *r, const char *require_line, const void *parsed_require_line)

Definition at line 1131 of file mod_authz_core.c.

◆ authz_method_provider

const authz_provider authz_method_provider
static
Initial value:
=
{
}
static const char * method_parse_config(cmd_parms *cmd, const char *require_line, const void **parsed_require_line)
static authz_status method_check_authorization(request_rec *r, const char *require_line, const void *parsed_require_line)

Definition at line 1047 of file mod_authz_core.c.