32#define APR_WANT_STRFUNC
58#undef APLOG_MODULE_INDEX
59#define APLOG_MODULE_INDEX AP_CORE_MODULE_INDEX
116 "configuration error: couldn't %s: %s",
phase,
r->
uri);
121 "auth phase '%s' gave status %d: %s",
phase,
246 if (!
d->allow_encoded_slashes) {
249 else if (!
d->decode_encoded_slashes) {
255 if (!
d->allow_encoded_slashes) {
257 "found %%2f (encoded '/') in URI path (%s), "
264 if (
d->allow_encoded_slashes &&
d->decode_encoded_slashes) {
336 "check access (with Satisfy All)",
r);
348 "No authentication done but request not "
349 "allowed without authentication for %s. "
350 "Authentication not configured?",
361 "request authorized without authentication by "
362 "access_checker_ex hook: %s",
r->
uri);
371 "request authorized without authentication by "
372 "access_checker hook and 'Satisfy any': %s",
386 "No authentication done but request not "
387 "allowed without authentication for %s. "
388 "Authentication not configured?",
399 "request authorized without authentication by "
400 "access_checker_ex hook: %s",
r->
uri);
683 "Module bug? Request filename is missing for URI %s",
696 "Module bug? Request filename path %s is invalid or "
697 "or not absolute for uri %s",
807 "access to %s failed; stat of '%s' failed.",
816 "Symbolic link not allowed "
817 "or link target not accessible: %s",
826 if (
cache->walked->nelts) {
828 [
cache->walked->nelts - 1].merged;
852#ifdef CASE_BLIND_FILESYSTEM
887 "dir_walk error, path_info %s is not relative "
888 "to the filename path %s for uri %s",
900#ifdef CASE_BLIND_FILESYSTEM
954 "dir_walk error, could not determine the root "
955 "path of filename %s%s for uri %s",
1085 opts.override_opts,
opts.override_list,
1218 "access to %s denied (filesystem path '%s') "
1219 "because search permissions are missing on a "
1229 "access to %s failed (filesystem path '%s')",
1252 "Symbolic link not allowed "
1253 "or link target not accessible: %s",
1269 "Forbidden: %s doesn't point to "
1270 "a file or directory",
1504 if (
cache->walked->nelts) {
1506 [
cache->walked->nelts - 1].merged;
1578 &&
cache->cached[
len] !=
'\0')))) {
1716 if (
cache->walked->nelts) {
1718 [
cache->walked->nelts - 1].merged;
1865 if (dconf && dconf->
sec_if) {
1880 cache->cached = (
void *)1;
1906 "Failed to evaluate <If > condition: %s",
2148 if (
_hooks.link_access_checker) {
2151 if (
_hooks.link_access_checker_ex) {
2154 if (
_hooks.link_check_user_id) {
2157 if (
_hooks.link_auth_checker) {
2180 const char *provider_group,
2181 const char *provider_name,
2182 const char *provider_version,
2183 const void *provider,
2191 provider_version, provider);
2195 const char *
const *
aszPre,
2207 const char *
const *
aszPre,
2219 const char *
const *
aszPre,
2231 const char *
const *
aszPre,
Symbol export macros and hook functions.
#define AP_IMPLEMENT_HOOK_VOID(name, args_decl, args_use)
#define AP_IMPLEMENT_HOOK_RUN_ALL(ret, name, args_decl, args_use, ok, decline)
#define AP_IMPLEMENT_HOOK_RUN_FIRST(ret, name, args_decl, args_use, decline)
const char apr_size_t ap_regmatch_t * pmatch
const char apr_size_t len
const char apr_size_t nmatch
apr_size_t const unsigned char unsigned int unsigned int d
APR Standard Headers Support.
ap_conf_vector_t * ap_merge_per_dir_configs(apr_pool_t *p, ap_conf_vector_t *base, ap_conf_vector_t *new_conf)
int ap_parse_htaccess(ap_conf_vector_t **result, request_rec *r, int override, int override_opts, apr_table_t *override_list, const char *d, const char *access_names)
int ap_invoke_handler(request_rec *r)
int ap_run_quick_handler(request_rec *r, int lookup_uri)
int ap_run_header_parser(request_rec *r)
ap_conf_vector_t * ap_create_request_config(apr_pool_t *p)
struct ap_conf_vector_t ap_conf_vector_t
#define AP_CORE_DECLARE_NONSTD
apr_status_t ap_pass_brigade(ap_filter_t *filter, apr_bucket_brigade *bucket)
ap_filter_t * ap_add_output_filter_handle(ap_filter_rec_t *f, void *ctx, request_rec *r, conn_rec *c)
ap_filter_rec_t * ap_subreq_core_filter_handle
#define ap_get_core_module_config(v)
unsigned char allow_options_t
#define AP_NOTE_FILE_WALK
int ap_satisfies(request_rec *r)
int ap_is_recursion_limit_exceeded(const request_rec *r)
#define AP_CORE_CONFIG_OFF
#define AP_NOTE_DIRECTORY_WALK
void ** ap_get_request_note(request_rec *r, apr_size_t note_num)
#define AP_NOTE_LOCATION_WALK
int ap_allow_options(request_rec *r)
const unsigned char * buf
int ap_method_number_of(const char *method)
void ap_finalize_sub_req_protocol(request_rec *sub_r)
#define AP_GET_BASIC_AUTH_PW_NOTE
ap_method_list_t * ap_make_method_list(apr_pool_t *p, int nelts)
void ap_parse_uri(request_rec *r, const char *uri)
void ap_set_sub_req_protocol(request_rec *rnew, const request_rec *r)
void ap_copy_method_list(ap_method_list_t *dest, ap_method_list_t *src)
apr_array_header_t * ap_list_provider_names(apr_pool_t *pool, const char *provider_group, const char *provider_version)
apr_status_t ap_register_provider(apr_pool_t *pool, const char *provider_group, const char *provider_name, const char *provider_version, const void *provider)
apr_status_t ap_register_auth_provider(apr_pool_t *pool, const char *provider_group, const char *provider_name, const char *provider_version, const void *provider, int type)
#define AP_AUTH_INTERNAL_PER_CONF
void ap_setup_auth_internal(apr_pool_t *ptemp)
#define AP_AUTH_INTERNAL_MASK
void ap_clear_auth_internal(void)
apr_status_t ap_sub_req_output_filter(ap_filter_t *f, apr_bucket_brigade *bb)
int ap_run_fixups(request_rec *r)
int ap_run_type_checker(request_rec *r)
int ap_directory_walk(request_rec *r)
void ap_hook_access_checker_ex(ap_HOOK_access_checker_ex_t *pf, const char *const *aszPre, const char *const *aszSucc, int nOrder)
int ap_some_auth_required(request_rec *r)
void ap_hook_auth_checker(ap_HOOK_auth_checker_t *pf, const char *const *aszPre, const char *const *aszSucc, int nOrder)
void ap_hook_check_access_ex(ap_HOOK_access_checker_ex_t *pf, const char *const *aszPre, const char *const *aszSucc, int nOrder, int type)
int ap_file_walk(request_rec *r)
void ap_hook_check_access(ap_HOOK_access_checker_t *pf, const char *const *aszPre, const char *const *aszSucc, int nOrder, int type)
request_rec * ap_sub_req_lookup_dirent(const apr_finfo_t *dirent, const request_rec *r, int subtype, ap_filter_t *next_filter)
#define AP_SUBREQ_MERGE_ARGS
int ap_run_auth_checker(request_rec *r)
void ap_hook_check_user_id(ap_HOOK_check_user_id_t *pf, const char *const *aszPre, const char *const *aszSucc, int nOrder)
int ap_run_access_checker_ex(request_rec *r)
int ap_if_walk(request_rec *r)
int ap_run_access_checker(request_rec *r)
int ap_run_force_authn(request_rec *r)
request_rec * ap_sub_req_lookup_uri(const char *new_uri, const request_rec *r, ap_filter_t *next_filter)
int ap_run_sub_req(request_rec *r)
int ap_is_initial_req(request_rec *r)
request_rec * ap_sub_req_lookup_file(const char *new_file, const request_rec *r, ap_filter_t *next_filter)
int ap_process_request_internal(request_rec *r)
int ap_run_create_request(request_rec *r)
int ap_run_post_perdir_config(request_rec *r)
void ap_hook_access_checker(ap_HOOK_access_checker_t *pf, const char *const *aszPre, const char *const *aszSucc, int nOrder)
int ap_run_pre_translate_name(request_rec *r)
void ap_destroy_sub_req(request_rec *r)
request_rec * ap_sub_req_method_uri(const char *method, const char *new_uri, const request_rec *r, ap_filter_t *next_filter)
int ap_run_translate_name(request_rec *r)
int ap_run_map_to_storage(request_rec *r)
void ap_hook_check_authn(ap_HOOK_check_user_id_t *pf, const char *const *aszPre, const char *const *aszSucc, int nOrder, int type)
apr_status_t ap_run_dirwalk_stat(apr_finfo_t *finfo, request_rec *r, apr_int32_t wanted)
int ap_some_authn_required(request_rec *r)
int ap_run_check_user_id(request_rec *r)
int ap_location_walk(request_rec *r)
void ap_hook_check_authz(ap_HOOK_auth_checker_t *pf, const char *const *aszPre, const char *const *aszSucc, int nOrder, int type)
void ap_update_mtime(request_rec *r, apr_time_t dependency_mtime)
int ap_find_path_info(const char *uri, const char *path_info)
#define APR_STATUS_IS_EACCES(s)
#define APR_STATUS_IS_ENOENT(s)
#define APR_BRIGADE_LAST(b)
#define APR_BRIGADE_EMPTY(b)
#define apr_bucket_delete(e)
#define APR_BUCKET_IS_EOS(e)
apr_pool_t apr_dbd_t apr_dbd_results_t ** res
const char *const const char *const * aszSucc
#define APR_HOOK_LINK(name)
const char *const * aszPre
#define APR_HOOK_STRUCT(members)
void(*) const char *const const char *const in nOrder)
#define APR_OPTIONAL_FN_TYPE(name)
int ap_expr_exec(request_rec *r, const ap_expr_info_t *expr, const char **err)
#define HTTP_INTERNAL_SERVER_ERROR
#define ap_is_HTTP_ERROR(x)
#define AP_NORMALIZE_DECODE_UNRESERVED
#define AP_NORMALIZE_ALLOW_RELATIVE
char * ap_make_full_path(apr_pool_t *a, const char *dir, const char *f)
int ap_count_dirs(const char *path)
#define AP_UNESCAPE_URL_KEEP_SLASHES
int ap_unescape_url_ex(char *url, unsigned int flags)
#define ap_escape_uri(ppool, path)
int ap_normalize_path(char *path, unsigned int flags)
#define AP_UNESCAPE_URL_KEEP_UNRESERVED
#define ap_strchr_c(s, c)
#define AP_NORMALIZE_MERGE_SLASHES
void ap_no2slash(char *name)
char * ap_make_dirstr_parent(apr_pool_t *p, const char *s)
#define AP_DEBUG_ASSERT(exp)
#define AP_UNESCAPE_URL_FORBID_SLASHES
#define AP_NORMALIZE_NOT_ABOVE_ROOT
const char int apr_pool_t * pool
const char apr_int32_t wanted
#define APR_FILEPATH_NOTRELATIVE
#define APR_FILEPATH_NOTABOVEROOT
#define APR_FILEPATH_TRUENAME
apr_uint32_t apr_pool_t apr_uint32_t apr_pollset_method_e method
#define apr_pool_create(newpool, parent)
#define apr_pcalloc(p, size)
apr_int32_t apr_int32_t apr_int32_t err
int ap_HOOK_access_checker_ex_t(request_rec *r)
int ap_HOOK_check_user_id_t(request_rec *r)
int ap_HOOK_access_checker_t(request_rec *r)
int ap_HOOK_auth_checker_t(request_rec *r)
#define AP_REQ_DEFAULT_PATH_INFO
#define AP_CONDITION_ELSE
Authentication and Authorization Extension for Apache.
#define AUTHN_PROVIDER_VERSION
#define AUTHN_PROVIDER_GROUP
#define AUTHZ_PROVIDER_VERSION
#define AUTHZ_PROVIDER_GROUP
static int authz_some_auth_required(request_rec *r)
mod_core private header file
mod_request private header file
static int resolve_symlink(char *d, apr_finfo_t *lfi, int opts, apr_pool_t *p)
static walk_cache_t * prep_walk_cache(apr_size_t t, request_rec *r)
static int auth_internal_per_conf_hooks
static int decl_die(int status, const char *phase, request_rec *r)
static int walk_location_and_if(request_rec *r)
static int auth_internal_per_conf_providers
static void core_opts_merge(const ap_conf_vector_t *sec, core_opts_t *opts)
apr_OFN_authz_some_auth_required_t * ap__authz_ap_some_auth_required
static int auth_internal_per_conf
static int ap_if_walk_sub(request_rec *r, core_dir_config *dconf)
static request_rec * make_sub_request(const request_rec *r, ap_filter_t *next_filter)
static OCSP_REQUEST * create_request(X509_STORE_CTX *ctx, X509 *cert, OCSP_CERTID **certid, server_rec *s, apr_pool_t *p, SSLSrvConfigRec *sc)
The representation of a filter chain.
Per-directory configuration.
apr_array_header_t * sec_file
apr_array_header_t * sec_if
apr_table_t * override_list
overrides_t override_opts
A structure that represents the current request.
struct ap_filter_t * output_filters
struct ap_filter_t * proto_input_filters
const struct htaccess_result * htaccess
apr_sockaddr_t * useragent_addr
apr_bucket_brigade * kept_body
ap_method_list_t * allowed_methods
struct ap_filter_t * proto_output_filters
char * canonical_filename
const struct ap_logconf * log
struct ap_filter_t * input_filters
struct ap_conf_vector_t * request_config
apr_table_t * subprocess_env
struct ap_conf_vector_t * per_dir_config
struct ap_conf_vector_t * lookup_defaults
struct ap_conf_vector_t * module_config
ap_conf_vector_t ** dir_conf_tested
struct walk_cache_t * prev
apr_array_header_t * walked
ap_conf_vector_t * per_dir_result
ap_conf_vector_t * dir_conf_merged
ap_conf_vector_t * merged
ap_conf_vector_t * matched