32module AP_MODULE_DECLARE_DATA authz_dbd_module;
90 return "You must load mod_dbd to enable AuthzDBD functions";
105 "Whether to redirect to referer on successful login"),
108 "SQL query for DBD Authz or login"),
111 "SQL query to get per-user redirect URL after login"),
129 "No query configured for %s!", action);
136 "No db handle available for %s! "
137 "Check your database access",
145 "Error retrieving Query for %s!", action);
154 "authz_dbd: %s of user %s updated %d rows",
161 "authz_dbd: query for %s failed; user %s [%s]",
175 "authz_dbd: no redirect query!");
186 "authz_dbd in get_row; action=%s user=%s [%s]",
200 "authz_dbd/redirect for %s of %s [%s]",
225 "No query configured for dbd-group!");
232 "No db handle available for dbd-query! "
233 "Check your database access");
240 "Error retrieving query for dbd-group!");
257 "authz_dbd in get_row; user_group query for user=%s [%s]",
266 "authz_dbd, in groups query for %s [%s]",
302 "authz_dbd authorize: require dbd-group: Can't "
303 "evaluate require expression: %s",
err);
349 const char *expr_err =
NULL;
357 "Cannot parse expression in require line: ",
#define AP_INIT_TAKE1(directive, func, mconfig, where, help)
#define ap_get_module_config(v, m)
#define AP_DECLARE_MODULE(foo)
#define AP_INIT_FLAG(directive, func, mconfig, where, help)
const char * ap_set_string_slot(cmd_parms *cmd, void *struct_ptr, const char *arg)
const char * ap_set_flag_slot(cmd_parms *cmd, void *struct_ptr, int arg)
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
apr_pool_t apr_dbd_t const char * query
struct apr_dbd_prepared_t apr_dbd_prepared_t
apr_pool_t apr_dbd_t const char const char * label
apr_pool_t apr_dbd_t apr_dbd_results_t ** res
struct apr_dbd_results_t apr_dbd_results_t
apr_pool_t apr_dbd_results_t apr_dbd_row_t ** row
struct apr_dbd_row_t apr_dbd_row_t
#define APR_IMPLEMENT_OPTIONAL_HOOK_RUN_ALL(ns, link, ret, name, args_decl, args_use, ok, decline)
#define APR_RETRIEVE_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 HTTP_MOVED_TEMPORARILY
ap_dbd_t * ap_dbd_acquire(request_rec *r)
void ap_dbd_prepare(server_rec *s, const char *query, const char *label)
#define STANDARD20_MODULE_STUFF
char * ap_getword_white(apr_pool_t *p, const char **line)
int ap_array_str_contains(const apr_array_header_t *array, const char *s)
const char * ap_check_cmd_context(cmd_parms *cmd, unsigned forbidden)
const char int apr_pool_t * pool
#define APR_HASH_KEY_STRING
#define apr_pcalloc(p, size)
#define APR_ARRAY_PUSH(ary, type)
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 void authz_dbd_hooks(apr_pool_t *p)
static authz_status dbdlogout_check_authorization(request_rec *r, const char *require_args, const void *parsed_require_args)
static const command_rec authz_dbd_cmds[]
static const char * authz_dbd_prepare(cmd_parms *cmd, void *cfg, const char *query)
static const authz_provider authz_dbdlogin_provider
static const char * dbd_parse_config(cmd_parms *cmd, const char *require_line, const void **parsed_require_line)
static const char *const noerror
static const authz_provider authz_dbdlogout_provider
static int authz_dbd_login(request_rec *r, authz_dbd_cfg *cfg, const char *action)
static void * authz_dbd_cr_cfg(apr_pool_t *pool, char *dummy)
static authz_status dbdgroup_check_authorization(request_rec *r, const char *require_args, const void *parsed_require_args)
static ap_dbd_t *(* dbd_handle)(request_rec *)
int authz_dbd_run_client_login(request_rec *r, int code, const char *action)
static void(* dbd_prepare)(server_rec *, const char *, const char *)
static authz_status dbdlogin_check_authorization(request_rec *r, const char *require_args, const void *parsed_require_args)
static const authz_provider authz_dbdgroup_provider
static void * authz_dbd_merge_cfg(apr_pool_t *pool, void *BASE, void *ADD)
static int authz_dbd_group_query(request_rec *r, authz_dbd_cfg *cfg, apr_array_header_t *groups)
Database Access Extension Module for Apache.
A structure that represents the current request.
apr_table_t * err_headers_out
struct ap_conf_vector_t * per_dir_config
A structure to keep track of authorization requirements.
A structure to store information for each virtual server.