26#define APR_WANT_STRFUNC
27#define APR_WANT_BYTEFUNC
42#if APR_HAVE_NETINET_IN_H
43#include <netinet/in.h>
73module AP_MODULE_DECLARE_DATA authn_core_module;
90 if (
new->auth_type_set) {
99 if (
new->ap_auth_name) {
141 const char *realm,
char **
rethash)
205 char *provider_alias;
222 "> directive missing closing '>'",
NULL);
229 "> directive requires additional arguments",
NULL);
236 if (!provider_name[0] || !provider_alias[0]) {
238 "> directive requires additional arguments",
NULL);
241 if (
strcasecmp(provider_name, provider_alias) == 0) {
243 "The alias provider name must be different from the base provider name.",
NULL);
250 return apr_pstrcat(
cmd->pool,
"The alias provider ", provider_alias,
251 " has already be registered previously as either a base provider or an alias provider.",
270 "Unknown Authn provider: %s",
302 const char *expr_err =
NULL;
308 "Cannot parse expression '",
word1,
"' in AuthName: ",
319 const char *expr_err =
NULL;
325 "Cannot parse expression '",
word1,
"' in AuthType: ",
381 "an HTTP authorization type (e.g., \"Basic\")"),
383 "the authentication realm (e.g. \"Members Only\")"),
385 "container for grouping an authentication provider's "
386 "directives under a provider alias"),
402 "AuthType %s configured without corresponding module",
Symbol export macros and hook functions.
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)
ap_conf_vector_t * ap_create_per_dir_config(apr_pool_t *p)
static apr_OFN_authn_ap_auth_type_t * authn_ap_auth_type
static apr_OFN_authn_ap_auth_name_t * authn_ap_auth_name
#define AP_INIT_TAKE1(directive, func, mconfig, where, help)
#define ap_get_module_config(v, m)
struct ap_conf_vector_t ap_conf_vector_t
#define AP_DECLARE_MODULE(foo)
#define AP_INIT_RAW_ARGS(directive, func, mconfig, where, help)
const char * ap_walk_config(ap_directive_t *conftree, cmd_parms *parms, ap_conf_vector_t *section_vector)
const char * ap_auth_type(request_rec *r)
void * ap_lookup_provider(const char *provider_group, const char *provider_name, const char *provider_version)
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_hook_check_authn(ap_HOOK_check_user_id_t *pf, const char *const *aszPre, const char *const *aszSucc, int nOrder, int type)
apr_bucket apr_bucket_brigade * a
#define APR_REGISTER_OPTIONAL_FN(name)
#define AP_EXPR_FLAG_STRING_RESULT
#define ap_expr_parse_cmd(cmd, expr, flags, err, lookup_fn)
const char * ap_expr_str_exec(request_rec *r, const ap_expr_info_t *expr, const char **err)
#define HTTP_INTERNAL_SERVER_ERROR
#define STANDARD20_MODULE_STUFF
#define ap_strrchr_c(s, c)
char * ap_escape_quotes(apr_pool_t *p, const char *instring)
char * ap_getword_conf(apr_pool_t *p, const char **line)
const char * ap_check_cmd_context(cmd_parms *cmd, unsigned forbidden)
int strcasecmp(const char *a, const char *b)
#define APR_HASH_KEY_STRING
#define apr_pcalloc(p, size)
const char const char * password
apr_int32_t apr_int32_t apr_int32_t err
const char const char *const * args
Authentication and Authorization Extension for Apache.
#define AUTHN_PROVIDER_NAME_NOTE
#define AUTHN_PROVIDER_VERSION
#define AUTHN_PROVIDER_GROUP
static void * create_authn_core_dir_config(apr_pool_t *p, char *dummy)
struct provider_alias_rec provider_alias_rec
static void * create_authn_alias_svr_config(apr_pool_t *p, server_rec *s)
static const char * authaliassection(cmd_parms *cmd, void *mconfig, const char *arg)
static const authn_provider authn_alias_provider
static const command_rec authn_cmds[]
static int authenticate_no_user(request_rec *r)
static void register_hooks(apr_pool_t *p)
static void * merge_authn_alias_svr_config(apr_pool_t *p, void *basev, void *overridesv)
static const char * set_authname(cmd_parms *cmd, void *mconfig, const char *word1)
static const authn_provider authn_alias_provider_nodigest
static authn_status authn_alias_check_password(request_rec *r, const char *user, const char *password)
static void * merge_authn_core_dir_config(apr_pool_t *a, void *basev, void *newv)
static authn_status authn_alias_get_realm_hash(request_rec *r, const char *user, const char *realm, char **rethash)
static const char * set_authtype(cmd_parms *cmd, void *mconfig, const char *word1)
ap_expr_info_t * ap_auth_name
ap_expr_info_t * ap_auth_type
authn_status(* get_realm_hash)(request_rec *r, const char *user, const char *realm, char **rethash)
const authn_provider * provider
ap_conf_vector_t * sec_auth
A structure that represents the current request.
struct ap_conf_vector_t * per_dir_config
A structure to store information for each virtual server.
struct ap_conf_vector_t * module_config