26#define MOD_SESSION_DBD "mod_session_dbd"
28module AP_MODULE_DECLARE_DATA session_dbd_module;
70 "You must load mod_dbd to enable AuthDBD functions");
78 "failed to acquire database connection");
85 "failed to find the prepared statement called '%s'",
query);
101 const char *
key,
const char **
val)
112 &session_dbd_module);
116 "no SessionDBDselectlabel has been specified");
128 "query execution error saving session '%s' "
138 "error retrieving results while saving '%s' "
171 &session_dbd_module);
268 &session_dbd_module);
272 "no SessionDBDupdatelabel has been specified");
302 "no SessionDBDinsertlabel has been specified");
314 "query execution error inserting session '%s' "
329 "the session insert query did not cause any rows to be added "
330 "to the database for session '%s', session not inserted",
newkey);
348 &session_dbd_module);
352 "no SessionDBDdeletelabel has been specified");
367 "query execution error removing session '%s' "
368 "from database",
key);
409 &session_dbd_module);
431 if (
z->encoded &&
z->encoded[0]) {
472 "peruser sessions can only be saved if a user is logged in, "
473 "session not saved: %s",
r->
uri);
500 new->selectlabel =
"selectsession";
501 new->insertlabel =
"insertsession";
502 new->updatelabel =
"updatesession";
503 new->deletelabel =
"deletesession";
540 " cannot be empty, or contain '=', ';' or '&'.",
589 conf->
name2 = cookie;
602 "Query label used to select a new session"),
605 "Query label used to insert a new session"),
608 "Query label used to update an existing session"),
611 "Query label used to delete an existing session"),
613 "Save the session per user"),
615 "Remove the session cookie after session load. On by default."),
617 "The name of the RFC2109 cookie carrying the session key"),
619 "The name of the RFC2965 cookie carrying the session key"),
APR general purpose library routines.
#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)
#define AP_INIT_RAW_ARGS(directive, func, mconfig, where, help)
const char * ap_set_string_slot(cmd_parms *cmd, void *struct_ptr, const char *arg)
apr_status_t ap_cookie_write2(request_rec *r, const char *name2, const char *val, const char *attrs2, long maxage,...)
apr_status_t ap_cookie_read(request_rec *r, const char *name, const char **val, int remove)
apr_status_t ap_cookie_check_string(const char *string)
apr_status_t ap_cookie_write(request_rec *r, const char *name, const char *val, const char *attrs, long maxage,...)
void ap_hook_monitor(ap_HOOK_monitor_t *pf, const char *const *aszPre, const char *const *aszSucc, int nOrder)
#define APR_UUID_FORMATTED_LENGTH
apr_pool_t apr_dbd_t const char * query
struct apr_dbd_prepared_t apr_dbd_prepared_t
apr_pool_t apr_dbd_t apr_dbd_results_t ** res
apr_dbd_t int const char * statement
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_RETRIEVE_OPTIONAL_FN(name)
ap_dbd_t * ap_dbd_acquire(request_rec *r)
void ap_dbd_prepare(server_rec *s, const char *query, const char *label)
void ap_hook_session_save(ap_HOOK_session_save_t *pf, const char *const *aszPre, const char *const *aszSucc, int nOrder)
void ap_hook_session_load(ap_HOOK_session_load_t *pf, const char *const *aszPre, const char *const *aszSucc, int nOrder)
#define STANDARD20_MODULE_STUFF
const char apr_int32_t flag
#define APR_HASH_KEY_STRING
#define apr_pcalloc(p, size)
const char const char *const * args
Database Access Extension Module for Apache.
Session Module for Apache.
static const char * set_dbd_peruser(cmd_parms *parms, void *dconf, int flag)
static apr_status_t dbd_load(apr_pool_t *p, request_rec *r, const char *key, const char **val)
static apr_status_t session_dbd_save(request_rec *r, session_rec *z)
static const char * set_cookie_name2(cmd_parms *cmd, void *config, const char *args)
static apr_status_t session_dbd_load(request_rec *r, session_rec **z)
static void(* session_dbd_prepare_fn)(server_rec *, const char *, const char *)
static apr_status_t dbd_init(request_rec *r, const char *query, ap_dbd_t **dbdp, apr_dbd_prepared_t **statementp)
static ap_dbd_t *(* session_dbd_acquire_fn)(request_rec *)
static apr_status_t dbd_clean(apr_pool_t *p, server_rec *s)
static void register_hooks(apr_pool_t *p)
static int session_dbd_monitor(apr_pool_t *p, server_rec *s)
static void * create_session_dbd_dir_config(apr_pool_t *p, char *dummy)
static const char * set_dbd_cookie_remove(cmd_parms *parms, void *dconf, int flag)
static const char * set_cookie_name(cmd_parms *cmd, void *config, const char *args)
static apr_status_t dbd_save(request_rec *r, const char *oldkey, const char *newkey, const char *val, apr_int64_t expiry)
static const char * check_string(cmd_parms *cmd, const char *string)
static const command_rec session_dbd_cmds[]
static apr_status_t dbd_remove(request_rec *r, const char *key)
static void * merge_session_dbd_dir_config(apr_pool_t *p, void *basev, void *addv)
Multi-Processing Modules functions.
A structure that represents the current request.
apr_table_t * err_headers_out
struct ap_conf_vector_t * per_dir_config
apr_table_t * headers_out
A structure to store information for each virtual server.