🐐 GOAT Shell
Current path:
usr
/
include
/
apache2
/
👤 Create WP Admin
⬆️
Go up: include
✏️ Editing: mod_session.h
/* Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef MOD_SESSION_H #define MOD_SESSION_H /* Create a set of SESSION_DECLARE(type), SESSION_DECLARE_NONSTD(type) and * SESSION_DECLARE_DATA with appropriate export and import tags for the platform */ #if !defined(WIN32) #define SESSION_DECLARE(type) type #define SESSION_DECLARE_NONSTD(type) type #define SESSION_DECLARE_DATA #elif defined(SESSION_DECLARE_STATIC) #define SESSION_DECLARE(type) type __stdcall #define SESSION_DECLARE_NONSTD(type) type #define SESSION_DECLARE_DATA #elif defined(SESSION_DECLARE_EXPORT) #define SESSION_DECLARE(type) __declspec(dllexport) type __stdcall #define SESSION_DECLARE_NONSTD(type) __declspec(dllexport) type #define SESSION_DECLARE_DATA __declspec(dllexport) #else #define SESSION_DECLARE(type) __declspec(dllimport) type __stdcall #define SESSION_DECLARE_NONSTD(type) __declspec(dllimport) type #define SESSION_DECLARE_DATA __declspec(dllimport) #endif /** * @file mod_session.h * @brief Session Module for Apache * * @defgroup MOD_SESSION mod_session * @ingroup APACHE_MODS * @{ */ #include "apr_hooks.h" #include "apr_optional.h" #include "apr_tables.h" #include "apr_uuid.h" #include "apr_pools.h" #include "apr_time.h" #include "httpd.h" #include "http_config.h" #include "ap_config.h" #define MOD_SESSION_NOTES_KEY "mod_session_key" /** * Define the name of a username stored in the session, so that modules interested * in the username can find it in a standard place. */ #define MOD_SESSION_USER "user" /** * Define the name of a password stored in the session, so that modules interested * in the password can find it in a standard place. */ #define MOD_SESSION_PW "pw" /** * A session structure. * * At the core of the session is a set of name value pairs making up the * session. * * The session might be uniquely identified by an anonymous uuid, or * a remote_user value, or both. */ typedef struct { apr_pool_t *pool; /* pool to be used for this session */ apr_uuid_t *uuid; /* anonymous uuid of this particular session */ const char *remote_user; /* user who owns this particular session */ apr_table_t *entries; /* key value pairs */ const char *encoded; /* the encoded version of the key value pairs */ apr_time_t expiry; /* if > 0, the time of expiry of this session */ long maxage; /* if > 0, the maxage of the session, from * which expiry is calculated */ int dirty; /* dirty flag */ int cached; /* true if this session was loaded from a * cache of some kind */ int written; /* true if this session has already been * written */ } session_rec; /** * Structure to carry the per-dir session config. */ typedef struct { int enabled; /* whether the session has been enabled for * this directory */ int enabled_set; long maxage; /* seconds until session expiry */ int maxage_set; const char *header; /* header to inject session */ int header_set; int env; /* whether the session has been enabled for * this directory */ int env_set; apr_array_header_t *includes; /* URL prefixes to be included. All * URLs included if empty */ apr_array_header_t *excludes; /* URL prefixes to be excluded. No * URLs excluded if empty */ apr_time_t expiry_update_time; /* seconds the session expiry may change and * not have to be rewritten */ int expiry_update_set; } session_dir_conf; /** * Hook to load the session. * * If the session doesn't exist, a blank one will be created. * * @param r The request * @param z A pointer to where the session will be written. */ APR_DECLARE_EXTERNAL_HOOK(ap, SESSION, apr_status_t, session_load, (request_rec * r, session_rec ** z)) /** * Hook to save the session. * * In most implementations the session is only saved if the dirty flag is * true. This prevents the session being saved unnecessarily. * * @param r The request * @param z A pointer to where the session will be written. */ APR_DECLARE_EXTERNAL_HOOK(ap, SESSION, apr_status_t, session_save, (request_rec * r, session_rec * z)) /** * Hook to encode the session. * * In the default implementation, the key value pairs are encoded using * key value pairs separated by equals, in turn separated by ampersand, * like a web form. * * @param r The request * @param z A pointer to where the session will be written. */ APR_DECLARE_EXTERNAL_HOOK(ap, SESSION, apr_status_t, session_encode, (request_rec * r, session_rec * z)) /** * Hook to decode the session. * * In the default implementation, the key value pairs are encoded using * key value pairs separated by equals, in turn separated by ampersand, * like a web form. * * @param r The request * @param z A pointer to where the session will be written. */ APR_DECLARE_EXTERNAL_HOOK(ap, SESSION, apr_status_t, session_decode, (request_rec * r, session_rec * z)) APR_DECLARE_OPTIONAL_FN( apr_status_t, ap_session_get, (request_rec * r, session_rec * z, const char *key, const char **value)); APR_DECLARE_OPTIONAL_FN(apr_status_t, ap_session_set, (request_rec * r, session_rec * z, const char *key, const char *value)); APR_DECLARE_OPTIONAL_FN(apr_status_t, ap_session_load, (request_rec *, session_rec **)); APR_DECLARE_OPTIONAL_FN(apr_status_t, ap_session_save, (request_rec *, session_rec *)); /** * The name of the module. */ extern module AP_MODULE_DECLARE_DATA session_module; #endif /* MOD_SESSION_H */ /** @} */
Save
📄
.mmn
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
apache_noprobes.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
ap_compat.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
ap_config.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
ap_config_auto.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
ap_config_layout.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
ap_expr.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
ap_hooks.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
ap_listen.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
ap_mmn.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
ap_mpm.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
ap_provider.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
ap_regex.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
ap_regkey.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
ap_release.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
ap_slotmem.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
ap_socache.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
cache_common.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
heartbeat.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
httpd.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
http_config.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
http_connection.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
http_core.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
http_log.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
http_main.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
http_protocol.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
http_request.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
http_ssl.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
http_vhost.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
mod_auth.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
mod_cache.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
mod_cgi.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
mod_core.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
mod_dav.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
mod_dbd.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
mod_http2.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
mod_include.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
mod_log_config.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
mod_proxy.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
mod_request.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
mod_rewrite.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
mod_session.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
mod_so.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
mod_ssl.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
mod_ssl_openssl.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
mod_status.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
mod_unixd.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
mod_watchdog.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
mod_xml2enc.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
mpm_common.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
os.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
scoreboard.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
unixd.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
util_cfgtree.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
util_charset.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
util_cookies.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
util_ebcdic.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
util_fcgi.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
util_filter.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
util_ldap.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
util_md5.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
util_mutex.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
util_script.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
util_time.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
util_varbuf.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
util_xml.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📤 Upload File
Upload
📁 Create Folder
Create Folder