17#define APR_WANT_STRFUNC
24#if !APR_VERSION_AT_LEAST(2,0,0)
53#ifndef NETSCAPE_DBM_COMPAT
80 OR_AUTHCFG,
"database file containing group names and member user IDs"),
83 OR_AUTHCFG,
"what type of DBM file the group file is"),
87module AP_MODULE_DECLARE_DATA authz_dbm_module;
104#if APU_MAJOR_VERSION > 1 || (APU_MAJOR_VERSION == 1 && APU_MINOR_VERSION >= 7)
112#if APU_MAJOR_VERSION > 1 || (APU_MAJOR_VERSION == 1 && APU_MINOR_VERSION >= 7)
117 "could not load '%s' dbm library: %s",
131 "could not open dbm (type %s) group access "
164 char *user =
r->
user;
183 "No group file was specified in the configuration");
201 "Authorization of user %s to access %s failed, reason: "
202 "user doesn't appear in DBM group file (%s).",
213 "authz_dbm authorize: require dbm-group: Can't "
214 "evaluate require expression: %s",
err);
230 "Authorization of user %s to access %s failed, reason: "
231 "user is not part of the 'require'ed group(s).",
245 char *user =
r->
user;
258 "No group file was specified in the configuration");
273 "Authorization of user %s to access %s failed, reason: "
274 "user doesn't appear in DBM group file (%s).",
291 "Authorization of user %s to access %s failed, reason: "
292 "user is not part of the 'require'ed group(s).",
301 const char *expr_err =
NULL;
309 "Cannot parse expression in require line: ",
apr_size_t const unsigned char unsigned int unsigned int d
APR Versioning Interface.
APR Standard Headers Support.
APR-util Versioning Interface.
#define AP_INIT_TAKE1(directive, func, mconfig, where, help)
#define ap_get_module_config(v, m)
#define AP_DECLARE_MODULE(foo)
const char * ap_set_string_slot(cmd_parms *cmd, void *struct_ptr, const char *arg)
void ap_hook_optional_fn_retrieve(ap_HOOK_optional_fn_retrieve_t *pf, const char *const *aszPre, const char *const *aszSucc, int nOrder)
const char * ap_set_file_slot(cmd_parms *cmd, void *struct_ptr, const char *arg)
const char * ap_auth_name(request_rec *r)
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
const char const apr_dbd_driver_t ** driver
#define APR_RETRIEVE_OPTIONAL_FN(name)
#define APR_OPTIONAL_FN_TYPE(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 STANDARD20_MODULE_STUFF
char * ap_getword_white(apr_pool_t *p, const char **line)
char * ap_getword(apr_pool_t *p, const char **line, char stop)
const char int apr_pool_t * pool
apr_int32_t apr_int32_t apr_int32_t err
Authentication and Authorization Extension for Apache.
#define AUTHZ_PROVIDER_VERSION
#define AUTHZ_PROVIDER_GROUP
static authz_status dbmgroup_check_authorization(request_rec *r, const char *require_args, const void *parsed_require_args)
static apr_status_t get_dbm_grp(request_rec *r, char *key1, char *key2, const char *dbmgrpfile, const char *dbtype, const char **out)
static apr_OFN_authz_owner_get_file_group_t * authz_owner_get_file_group
static const char * dbm_parse_config(cmd_parms *cmd, const char *require_line, const void **parsed_require_line)
static void authz_dbm_getfns(void)
static char * get_dbm_entry_as_str(apr_pool_t *pool, apr_dbm_t *f, char *key)
static const authz_provider authz_dbmgroup_provider
static void register_hooks(apr_pool_t *p)
static void * create_authz_dbm_dir_config(apr_pool_t *p, char *d)
static const command_rec authz_dbm_cmds[]
static authz_status dbmfilegroup_check_authorization(request_rec *r, const char *require_args, const void *parsed_require_args)
static const authz_provider authz_dbmfilegroup_provider
A structure that represents the current request.
struct ap_conf_vector_t * per_dir_config
A structure to keep track of authorization requirements.