mirror of
https://github.com/apache/httpd.git
synced 2025-07-29 09:01:18 +03:00
Doxygen fixup / cleanup
submited by: Neale Ranns neale ranns.org reviewed by: Ian Holsman git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@263931 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
2
CHANGES
2
CHANGES
@ -2,6 +2,8 @@
|
||||
Changes with Apache 2.3.0
|
||||
[Remove entries to the current 2.0 and 2.2 section below, when backported]
|
||||
|
||||
*) Doxygen fixup [Neale Ranns neale ranns.org, Ian Holsman]
|
||||
|
||||
*) prefork and worker MPMs: Support a graceful-stop procedure:
|
||||
Server will wait until existing requests are finished or until
|
||||
"GracefulShutdownTimeout" number of seconds before exiting.
|
||||
|
@ -1,12 +1,19 @@
|
||||
PROJECT_NAME=Apache
|
||||
PROJECT_NAME=Apache2
|
||||
|
||||
#INPUT=srclib/apr
|
||||
# make the generated documentation searchable
|
||||
SEARCHENGINE=YES
|
||||
INPUT=.
|
||||
RECURSIVE=YES
|
||||
FILE_PATTERNS=*.h
|
||||
|
||||
OUTPUT_DIRECTORY=docs/dox
|
||||
|
||||
#EXTRACT_STATIC=YES
|
||||
EXTRACT_ALL=YES
|
||||
|
||||
# add documentation for functions that are declared internal use only
|
||||
INTERNAL_DOCS=YES
|
||||
|
||||
ENABLE_PREPROCESSING=YES
|
||||
MACRO_EXPANSION=YES
|
||||
QUIET=YES
|
||||
@ -16,8 +23,11 @@ EXPAND_ONLY_PREDEF=YES
|
||||
PREDEFINED="APR_DECLARE(x)=x" \
|
||||
"APR_DECLARE_NONSTD(x)=x" \
|
||||
"AP_DECLARE_HOOK(ret,name,args)=ret name args;" \
|
||||
"APR_DECLARE_OPTIONAL_FN(ret,name,args)=ret name args;" \
|
||||
"AP_DECLARE(x)=x" \
|
||||
"AP_DECLARE_NONSTD(x)=x" \
|
||||
AP_CORE_DECLARE(x)=x \
|
||||
"AP_CORE_DECLARE_NONSTD(x)=x" \
|
||||
"APR_HAS_THREADS" \
|
||||
"APR_HAS_MMAP" \
|
||||
APR_HAS_INLINE \
|
||||
@ -49,4 +59,7 @@ OPTIMIZE_OUTPUT_FOR_C=YES
|
||||
|
||||
FULL_PATH_NAMES=YES
|
||||
# some autoconf guru needs to make configure set this correctly...
|
||||
STRIP_FROM_PATH=/var/www/lxr/source
|
||||
#STRIP_FROM_PATH=/var/www/lxr/source
|
||||
|
||||
#GENERATE_TAGFILE=docs/dox/httpd.tag
|
||||
#TAGFILES=../apr/docs/dox/apr.tag=/apr ../apr-util/docs/dox/apu.tag=/apr-util
|
||||
|
@ -14,6 +14,11 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file ap_compat.h
|
||||
* @brief Redefine Apache 1.3 symbols
|
||||
*/
|
||||
|
||||
#ifndef AP_COMPAT_H
|
||||
#define AP_COMPAT_H
|
||||
|
||||
|
@ -14,6 +14,11 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file ap_config.h
|
||||
* @brief Symbol export macros and hook functions
|
||||
*/
|
||||
|
||||
#ifndef AP_CONFIG_H
|
||||
#define AP_CONFIG_H
|
||||
|
||||
@ -21,13 +26,11 @@
|
||||
#include "apr_hooks.h"
|
||||
#include "apr_optional_hooks.h"
|
||||
|
||||
/**
|
||||
* @file ap_config.h
|
||||
* @brief Symbol export macros and hook functions
|
||||
*/
|
||||
|
||||
/* Although this file doesn't declare any hooks, declare the hook group here */
|
||||
/** @defgroup hooks Apache Hooks */
|
||||
/**
|
||||
* @defgroup hooks Apache Hooks
|
||||
* @ingroup APACHE_CORE
|
||||
*/
|
||||
|
||||
#ifdef DOXYGEN
|
||||
/* define these just so doxygen documents them */
|
||||
|
@ -14,6 +14,11 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file ap_config_layout.h
|
||||
* @brief Apache Config Layout
|
||||
*/
|
||||
|
||||
#ifndef AP_CONFIG_LAYOUT_H
|
||||
#define AP_CONFIG_LAYOUT_H
|
||||
|
||||
|
@ -14,6 +14,15 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file ap_listen.h
|
||||
* @brief Apache Listeners Library
|
||||
*
|
||||
* @defgroup APACHE_CORE_LISTEN Apache Listeners Library
|
||||
* @ingroup APACHE_CORE
|
||||
* @{
|
||||
*/
|
||||
|
||||
#ifndef AP_LISTEN_H
|
||||
#define AP_LISTEN_H
|
||||
|
||||
@ -21,15 +30,13 @@
|
||||
#include "httpd.h"
|
||||
#include "http_config.h"
|
||||
|
||||
/**
|
||||
* @package Apache Listeners Library
|
||||
*/
|
||||
|
||||
typedef struct ap_listen_rec ap_listen_rec;
|
||||
typedef apr_status_t (*accept_function)(void **csd, ap_listen_rec *lr, apr_pool_t *ptrans);
|
||||
|
||||
/**
|
||||
* Apache's listeners record. These are used in the Multi-Processing Modules
|
||||
* @brief Apache's listeners record.
|
||||
*
|
||||
* These are used in the Multi-Processing Modules
|
||||
* to setup all of the sockets for the MPM to listen to and accept on.
|
||||
*/
|
||||
struct ap_listen_rec {
|
||||
@ -109,3 +116,4 @@ AP_INIT_TAKE1("ReceiveBufferSize", ap_set_receive_buffer_size, NULL, \
|
||||
RSRC_CONF, "Receive buffer size in bytes")
|
||||
|
||||
#endif
|
||||
/** @} */
|
||||
|
@ -14,13 +14,18 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file ap_mpm.h
|
||||
* @brief Module Magic Number
|
||||
*
|
||||
* @defgroup APACHE_CORE_MMN Module Magic Number
|
||||
* @ingroup APACHE_CORE
|
||||
* @{
|
||||
*/
|
||||
|
||||
#ifndef APACHE_AP_MMN_H
|
||||
#define APACHE_AP_MMN_H
|
||||
|
||||
/**
|
||||
* @package Module Magic Number
|
||||
*/
|
||||
|
||||
/*
|
||||
* MODULE_MAGIC_NUMBER_MAJOR
|
||||
* Major API changes that could cause compatibility problems for older modules
|
||||
@ -137,3 +142,4 @@
|
||||
#define MODULE_MAGIC_AT_LEAST old_broken_macro_we_hope_you_are_not_using
|
||||
|
||||
#endif /* !APACHE_AP_MMN_H */
|
||||
/** @} */
|
||||
|
@ -14,15 +14,20 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file ap_mmn.h
|
||||
* @brief Apache Multi-Processing Module library
|
||||
*
|
||||
* @defgroup APACHE_CORE_MPM Multi-Processing Module library
|
||||
* @ingroup APACHE_CORE
|
||||
* @{
|
||||
*/
|
||||
|
||||
#ifndef AP_MPM_H
|
||||
#define AP_MPM_H
|
||||
|
||||
#include "apr_thread_proc.h"
|
||||
|
||||
/**
|
||||
* @package Multi-Processing Module library
|
||||
*/
|
||||
|
||||
/*
|
||||
The MPM, "multi-processing model" provides an abstraction of the
|
||||
interface with the OS for distributing incoming connections to
|
||||
@ -175,3 +180,4 @@ AP_DECLARE_HOOK(int,fatal_exception,(ap_exception_info_t *ei))
|
||||
#endif /*AP_ENABLE_EXCEPTION_HOOK*/
|
||||
|
||||
#endif
|
||||
/** @} */
|
||||
|
@ -14,15 +14,20 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file ap_provider.h
|
||||
* @brief Apache Provider API
|
||||
*
|
||||
* @defgroup APACHE_CORE_PROVIDER Provider API
|
||||
* @ingroup APACHE_CORE
|
||||
* @{
|
||||
*/
|
||||
|
||||
#ifndef AP_PROVIDER_H
|
||||
#define AP_PROVIDER_H
|
||||
|
||||
#include "ap_config.h"
|
||||
|
||||
/**
|
||||
* @package Provider API
|
||||
*/
|
||||
|
||||
/**
|
||||
* This function is used to register a provider with the global
|
||||
* provider pool.
|
||||
@ -52,3 +57,4 @@ AP_DECLARE(void *) ap_lookup_provider(const char *provider_group,
|
||||
const char *provider_version);
|
||||
|
||||
#endif
|
||||
/** @} */
|
||||
|
@ -47,6 +47,11 @@ POSSIBILITY OF SUCH DAMAGE.
|
||||
-----------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file ap_regex.h
|
||||
* @brief Apache Regex defines
|
||||
*/
|
||||
|
||||
#ifndef AP_REGEX_H
|
||||
#define AP_REGEX_H
|
||||
|
||||
|
@ -14,6 +14,11 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file ap_regkey.h
|
||||
* @brief APR-style Win32 Registry Manipulation
|
||||
*/
|
||||
|
||||
#ifndef AP_REGKEY_H
|
||||
#define AP_REGKEY_H
|
||||
|
||||
@ -33,11 +38,6 @@ typedef struct ap_regkey_t ap_regkey_t;
|
||||
*/
|
||||
AP_DECLARE(const ap_regkey_t *) ap_regkey_const(int i);
|
||||
|
||||
/**
|
||||
* @file ap_regkey.h
|
||||
* @brief APR-style Win32 Registry Manipulation
|
||||
*/
|
||||
|
||||
/**
|
||||
* Win32 Only: Constants for ap_regkey_open()
|
||||
*/
|
||||
|
@ -14,6 +14,11 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file ap_release.h
|
||||
* @brief Version Release defines
|
||||
*/
|
||||
|
||||
#ifndef AP_RELEASE_H
|
||||
#define AP_RELEASE_H
|
||||
|
||||
|
@ -14,6 +14,15 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file http_config.h
|
||||
* @brief Apache Configuration
|
||||
*
|
||||
* @defgroup APACHE_CORE_CONFIG Configuration
|
||||
* @ingroup APACHE_CORE
|
||||
* @{
|
||||
*/
|
||||
|
||||
#ifndef APACHE_HTTP_CONFIG_H
|
||||
#define APACHE_HTTP_CONFIG_H
|
||||
|
||||
@ -24,11 +33,6 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @file http_config.h
|
||||
* @brief Apache Configuration
|
||||
*/
|
||||
|
||||
/*
|
||||
* The central data structures around here...
|
||||
*/
|
||||
@ -694,7 +698,7 @@ AP_DECLARE(const char *) ap_walk_config(ap_directive_t *conftree,
|
||||
ap_conf_vector_t *section_vector);
|
||||
|
||||
/**
|
||||
* @defgroup ap_check_cmd_context ap_check_cmd_context
|
||||
* @defgroup ap_check_cmd_context Check command context
|
||||
* @{
|
||||
*/
|
||||
/**
|
||||
@ -721,7 +725,7 @@ AP_DECLARE(const char *) ap_check_cmd_context(cmd_parms *cmd,
|
||||
#ifdef CORE_PRIVATE
|
||||
|
||||
/**
|
||||
* This structure is used to assign symbol names to module pointers
|
||||
* @brief This structure is used to assign symbol names to module pointers
|
||||
*/
|
||||
typedef struct {
|
||||
const char *name;
|
||||
@ -1049,3 +1053,4 @@ AP_DECLARE_HOOK(void,optional_fn_retrieve,(void))
|
||||
#endif
|
||||
|
||||
#endif /* !APACHE_HTTP_CONFIG_H */
|
||||
/** @} */
|
||||
|
@ -14,6 +14,15 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file http_connection.h
|
||||
* @brief Apache connection library
|
||||
*
|
||||
* @defgroup APACHE_CORE_CONNECTION Connection Library
|
||||
* @ingroup APACHE_CORE
|
||||
* @{
|
||||
*/
|
||||
|
||||
#ifndef APACHE_HTTP_CONNECTION_H
|
||||
#define APACHE_HTTP_CONNECTION_H
|
||||
|
||||
@ -24,10 +33,11 @@
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @package Apache connection library
|
||||
* @file http_connection.h
|
||||
* @brief Apache connection library
|
||||
*/
|
||||
|
||||
#ifdef CORE_PRIVATE
|
||||
/**
|
||||
* This is the protocol module driver. This calls all of the
|
||||
@ -36,10 +46,13 @@ extern "C" {
|
||||
* @param csd The mechanism on which this connection is to be read.
|
||||
* Most times this will be a socket, but it is up to the module
|
||||
* that accepts the request to determine the exact type.
|
||||
* @deffunc void ap_process_connection(conn_rec *c, void *csd)
|
||||
*/
|
||||
AP_CORE_DECLARE(void) ap_process_connection(conn_rec *c, void *csd);
|
||||
|
||||
/**
|
||||
* Flushes all remain data in the client send buffer
|
||||
* @param c The connection to flush
|
||||
*/
|
||||
AP_CORE_DECLARE(void) ap_flush_conn(conn_rec *c);
|
||||
|
||||
/**
|
||||
@ -70,10 +83,12 @@ AP_DECLARE(void) ap_lingering_close(conn_rec *c);
|
||||
* if it encounters a fatal error condition.
|
||||
*
|
||||
* @param p The pool from which to allocate the connection record
|
||||
* @param server The server record to create the connection too.
|
||||
* @param csd The socket that has been accepted
|
||||
* @param conn_id A unique identifier for this connection. The ID only
|
||||
* needs to be unique at that time, not forever.
|
||||
* @param sbh A handle to scoreboard information for this connection.
|
||||
* @param alloc The bucket allocator to use for all bucket/brigade creations
|
||||
* @return An allocated connection record or NULL.
|
||||
*/
|
||||
AP_DECLARE_HOOK(conn_rec *, create_connection,
|
||||
@ -89,7 +104,6 @@ AP_DECLARE_HOOK(conn_rec *, create_connection,
|
||||
* Most times this will be a socket, but it is up to the module
|
||||
* that accepts the request to determine the exact type.
|
||||
* @return OK or DECLINED
|
||||
* @deffunc int ap_run_pre_connection(conn_rec *c, void *csd)
|
||||
*/
|
||||
AP_DECLARE_HOOK(int,pre_connection,(conn_rec *c, void *csd))
|
||||
|
||||
@ -100,12 +114,10 @@ AP_DECLARE_HOOK(int,pre_connection,(conn_rec *c, void *csd))
|
||||
* to handle the request is the last module run.
|
||||
* @param c The connection on which the request has been received.
|
||||
* @return OK or DECLINED
|
||||
* @deffunc int ap_run_process_connection(conn_rec *c)
|
||||
*/
|
||||
AP_DECLARE_HOOK(int,process_connection,(conn_rec *c))
|
||||
|
||||
/* End Of Connection (EOC) bucket */
|
||||
|
||||
/** End Of Connection (EOC) bucket */
|
||||
AP_DECLARE_DATA extern const apr_bucket_type_t ap_bucket_type_eoc;
|
||||
|
||||
/**
|
||||
@ -119,7 +131,6 @@ AP_DECLARE_DATA extern const apr_bucket_type_t ap_bucket_type_eoc;
|
||||
* Make the bucket passed in an End Of Connection (EOC) bucket
|
||||
* @param b The bucket to make into an EOC bucket
|
||||
* @return The new bucket, or NULL if allocation failed
|
||||
* @deffunc apr_bucket *ap_bucket_eoc_make(apr_bucket *b)
|
||||
*/
|
||||
AP_DECLARE(apr_bucket *) ap_bucket_eoc_make(apr_bucket *b);
|
||||
|
||||
@ -128,7 +139,6 @@ AP_DECLARE(apr_bucket *) ap_bucket_eoc_make(apr_bucket *b);
|
||||
* that the connection will be closed.
|
||||
* @param list The freelist from which this bucket should be allocated
|
||||
* @return The new bucket, or NULL if allocation failed
|
||||
* @deffunc apr_bucket *ap_bucket_eoc_create(apr_bucket_alloc_t *list)
|
||||
*/
|
||||
AP_DECLARE(apr_bucket *) ap_bucket_eoc_create(apr_bucket_alloc_t *list);
|
||||
|
||||
@ -137,3 +147,4 @@ AP_DECLARE(apr_bucket *) ap_bucket_eoc_create(apr_bucket_alloc_t *list);
|
||||
#endif
|
||||
|
||||
#endif /* !APACHE_HTTP_REQUEST_H */
|
||||
/** @} */
|
||||
|
@ -14,6 +14,15 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file http_core.h
|
||||
* @brief CORE HTTP Daemon
|
||||
*
|
||||
* @defgroup APACHE_CORE_HTTPD Core HTTP Daemon
|
||||
* @ingroup APACHE_CORE
|
||||
* @{
|
||||
*/
|
||||
|
||||
#ifndef APACHE_HTTP_CORE_H
|
||||
#define APACHE_HTTP_CORE_H
|
||||
|
||||
@ -32,10 +41,6 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @package CORE HTTP Daemon
|
||||
*/
|
||||
|
||||
/* ****************************************************************
|
||||
*
|
||||
* The most basic server code is encapsulated in a single module
|
||||
@ -48,61 +53,88 @@ extern "C" {
|
||||
* of one of them (allow_options).
|
||||
*/
|
||||
|
||||
#define OPT_NONE 0
|
||||
#define OPT_INDEXES 1
|
||||
#define OPT_INCLUDES 2
|
||||
#define OPT_SYM_LINKS 4
|
||||
#define OPT_EXECCGI 8
|
||||
#define OPT_UNSET 16
|
||||
#define OPT_INCNOEXEC 32
|
||||
#define OPT_SYM_OWNER 64
|
||||
#define OPT_MULTI 128
|
||||
#define OPT_ALL (OPT_INDEXES|OPT_INCLUDES|OPT_SYM_LINKS|OPT_EXECCGI)
|
||||
/**
|
||||
* @defgroup APACHE_CORE_HTTPD_ACESSORS Acessors
|
||||
*
|
||||
* @brief File/Directory Accessor directives
|
||||
*
|
||||
* @{
|
||||
*/
|
||||
|
||||
/* options for get_remote_host() */
|
||||
/* REMOTE_HOST returns the hostname, or NULL if the hostname
|
||||
/** No directives */
|
||||
#define OPT_NONE 0
|
||||
/** Indexes directive */
|
||||
#define OPT_INDEXES 1
|
||||
/** Includes directive */
|
||||
#define OPT_INCLUDES 2
|
||||
/** FollowSymLinks directive */
|
||||
#define OPT_SYM_LINKS 4
|
||||
/** ExecCGI directive */
|
||||
#define OPT_EXECCGI 8
|
||||
/** directive unset */
|
||||
#define OPT_UNSET 16
|
||||
/** IncludesNOEXEC directive */
|
||||
#define OPT_INCNOEXEC 32
|
||||
/** SymLinksIfOwnerMatch directive */
|
||||
#define OPT_SYM_OWNER 64
|
||||
/** MultiViews directive */
|
||||
#define OPT_MULTI 128
|
||||
/** All directives */
|
||||
#define OPT_ALL (OPT_INDEXES|OPT_INCLUDES|OPT_SYM_LINKS|OPT_EXECCGI)
|
||||
/** @} */
|
||||
|
||||
/**
|
||||
* @defgroup get_remote_host Remote Host Resolution
|
||||
* @ingroup APACHE_CORE_HTTPD
|
||||
* @{
|
||||
*/
|
||||
/** REMOTE_HOST returns the hostname, or NULL if the hostname
|
||||
* lookup fails. It will force a DNS lookup according to the
|
||||
* HostnameLookups setting.
|
||||
*/
|
||||
#define REMOTE_HOST (0)
|
||||
|
||||
/* REMOTE_NAME returns the hostname, or the dotted quad if the
|
||||
/** REMOTE_NAME returns the hostname, or the dotted quad if the
|
||||
* hostname lookup fails. It will force a DNS lookup according
|
||||
* to the HostnameLookups setting.
|
||||
*/
|
||||
#define REMOTE_NAME (1)
|
||||
|
||||
/* REMOTE_NOLOOKUP is like REMOTE_NAME except that a DNS lookup is
|
||||
/** REMOTE_NOLOOKUP is like REMOTE_NAME except that a DNS lookup is
|
||||
* never forced.
|
||||
*/
|
||||
#define REMOTE_NOLOOKUP (2)
|
||||
|
||||
/* REMOTE_DOUBLE_REV will always force a DNS lookup, and also force
|
||||
/** REMOTE_DOUBLE_REV will always force a DNS lookup, and also force
|
||||
* a double reverse lookup, regardless of the HostnameLookups
|
||||
* setting. The result is the (double reverse checked) hostname,
|
||||
* or NULL if any of the lookups fail.
|
||||
*/
|
||||
#define REMOTE_DOUBLE_REV (3)
|
||||
|
||||
/** @} // get_remote_host */
|
||||
|
||||
/** all of the requirements must be met */
|
||||
#define SATISFY_ALL 0
|
||||
/** any of the requirements must be met */
|
||||
#define SATISFY_ANY 1
|
||||
/** There are no applicable satisfy lines */
|
||||
#define SATISFY_NOSPEC 2
|
||||
|
||||
/* Make sure we don't write less than 8000 bytes at any one time.
|
||||
/** Make sure we don't write less than 8000 bytes at any one time.
|
||||
*/
|
||||
#define AP_MIN_BYTES_TO_WRITE 8000
|
||||
|
||||
/* default maximum of internal redirects */
|
||||
/** default maximum of internal redirects */
|
||||
# define AP_DEFAULT_MAX_INTERNAL_REDIRECTS 10
|
||||
|
||||
/* default maximum subrequest nesting level */
|
||||
/** default maximum subrequest nesting level */
|
||||
# define AP_DEFAULT_MAX_SUBREQ_DEPTH 10
|
||||
|
||||
/**
|
||||
* Retrieve the value of Options for this request
|
||||
* @param r The current request
|
||||
* @return the Options bitmask
|
||||
* @deffunc int ap_allow_options(request_rec *r)
|
||||
*/
|
||||
AP_DECLARE(int) ap_allow_options(request_rec *r);
|
||||
|
||||
@ -110,7 +142,6 @@ AP_DECLARE(int) ap_allow_options(request_rec *r);
|
||||
* Retrieve the value of the AllowOverride for this request
|
||||
* @param r The current request
|
||||
* @return the overrides bitmask
|
||||
* @deffunc int ap_allow_overrides(request_rec *r)
|
||||
*/
|
||||
AP_DECLARE(int) ap_allow_overrides(request_rec *r);
|
||||
|
||||
@ -118,7 +149,6 @@ AP_DECLARE(int) ap_allow_overrides(request_rec *r);
|
||||
* Retrieve the value of the DefaultType directive, or text/plain if not set
|
||||
* @param r The current request
|
||||
* @return The default type
|
||||
* @deffunc const char *ap_default_type(request_rec *r)
|
||||
*/
|
||||
AP_DECLARE(const char *) ap_default_type(request_rec *r);
|
||||
|
||||
@ -128,12 +158,12 @@ AP_DECLARE(const char *) ap_default_type(request_rec *r);
|
||||
* @warning Don't use this! If your request went through a Userdir, or
|
||||
* something like that, it'll screw you. But it's back-compatible...
|
||||
* @return The document root
|
||||
* @deffunc const char *ap_document_root(request_rec *r)
|
||||
*/
|
||||
AP_DECLARE(const char *) ap_document_root(request_rec *r);
|
||||
|
||||
/**
|
||||
* Lookup the remote client's DNS name or IP address
|
||||
* @ingroup get_remote_host
|
||||
* @param conn The current connection
|
||||
* @param dir_config The directory config vector from the request
|
||||
* @param type The type of lookup to perform. One of:
|
||||
@ -154,7 +184,6 @@ AP_DECLARE(const char *) ap_document_root(request_rec *r);
|
||||
* @param str_is_ip unless NULL is passed, this will be set to non-zero on output when an IP address
|
||||
* string is returned
|
||||
* @return The remote hostname
|
||||
* @deffunc const char *ap_get_remote_host(conn_rec *conn, void *dir_config, int type, int *str_is_ip)
|
||||
*/
|
||||
AP_DECLARE(const char *) ap_get_remote_host(conn_rec *conn, void *dir_config, int type, int *str_is_ip);
|
||||
|
||||
@ -163,7 +192,6 @@ AP_DECLARE(const char *) ap_get_remote_host(conn_rec *conn, void *dir_config, in
|
||||
* determined
|
||||
* @param r The current request
|
||||
* @return The user logged in to the client machine
|
||||
* @deffunc const char *ap_get_remote_logname(request_rec *r)
|
||||
*/
|
||||
AP_DECLARE(const char *) ap_get_remote_logname(request_rec *r);
|
||||
|
||||
@ -176,7 +204,6 @@ AP_DECLARE(const char *) ap_get_remote_logname(request_rec *r);
|
||||
* @param uri The path to the requested file
|
||||
* @param r The current request
|
||||
* @return A fully qualified URL
|
||||
* @deffunc char *ap_construct_url(apr_pool_t *p, const char *uri, request_rec *r)
|
||||
*/
|
||||
AP_DECLARE(char *) ap_construct_url(apr_pool_t *p, const char *uri, request_rec *r);
|
||||
|
||||
@ -184,15 +211,13 @@ AP_DECLARE(char *) ap_construct_url(apr_pool_t *p, const char *uri, request_rec
|
||||
* Get the current server name from the request
|
||||
* @param r The current request
|
||||
* @return the server name
|
||||
* @deffunc const char *ap_get_server_name(request_rec *r)
|
||||
*/
|
||||
AP_DECLARE(const char *) ap_get_server_name(request_rec *r);
|
||||
|
||||
/**
|
||||
* Get the current server port
|
||||
* @param The current request
|
||||
* @param r The current request
|
||||
* @return The server's port
|
||||
* @deffunc apr_port_t ap_get_server_port(const request_rec *r)
|
||||
*/
|
||||
AP_DECLARE(apr_port_t) ap_get_server_port(const request_rec *r);
|
||||
|
||||
@ -200,7 +225,6 @@ AP_DECLARE(apr_port_t) ap_get_server_port(const request_rec *r);
|
||||
* Return the limit on bytes in request msg body
|
||||
* @param r The current request
|
||||
* @return the maximum number of bytes in the request msg body
|
||||
* @deffunc apr_off_t ap_get_limit_req_body(const request_rec *r)
|
||||
*/
|
||||
AP_DECLARE(apr_off_t) ap_get_limit_req_body(const request_rec *r);
|
||||
|
||||
@ -208,7 +232,6 @@ AP_DECLARE(apr_off_t) ap_get_limit_req_body(const request_rec *r);
|
||||
* Return the limit on bytes in XML request msg body
|
||||
* @param r The current request
|
||||
* @return the maximum number of bytes in XML request msg body
|
||||
* @deffunc size_t ap_get_limit_xml_body(const request_rec *r)
|
||||
*/
|
||||
AP_DECLARE(size_t) ap_get_limit_xml_body(const request_rec *r);
|
||||
|
||||
@ -225,7 +248,6 @@ AP_DECLARE(void) ap_custom_response(request_rec *r, int status, const char *stri
|
||||
* Check if the current request is beyond the configured max. number of redirects or subrequests
|
||||
* @param r The current request
|
||||
* @return true (is exceeded) or false
|
||||
* @deffunc int ap_is_recursion_limit_exceeded(const request_rec *r)
|
||||
*/
|
||||
AP_DECLARE(int) ap_is_recursion_limit_exceeded(const request_rec *r);
|
||||
|
||||
@ -233,7 +255,6 @@ AP_DECLARE(int) ap_is_recursion_limit_exceeded(const request_rec *r);
|
||||
* Check for a definition from the server command line
|
||||
* @param name The define to check for
|
||||
* @return 1 if defined, 0 otherwise
|
||||
* @deffunc int ap_exists_config_define(const char *name)
|
||||
*/
|
||||
AP_DECLARE(int) ap_exists_config_define(const char *name);
|
||||
/* FIXME! See STATUS about how */
|
||||
@ -245,9 +266,13 @@ AP_DECLARE_NONSTD(int) ap_core_translate(request_rec *r);
|
||||
* to maintain common state for all of them in the core, and make it
|
||||
* available to the other modules through interfaces.
|
||||
*/
|
||||
|
||||
/** @see require_line */
|
||||
typedef struct require_line require_line;
|
||||
|
||||
/** A structure to keep track of authorization requirements */
|
||||
/**
|
||||
* @brief A structure to keep track of authorization requirements
|
||||
*/
|
||||
struct require_line {
|
||||
/** Where the require line is in the config file. */
|
||||
apr_int64_t method_mask;
|
||||
@ -259,7 +284,6 @@ struct require_line {
|
||||
* Return the type of authorization required for this request
|
||||
* @param r The current request
|
||||
* @return The authorization required
|
||||
* @deffunc const char *ap_auth_type(request_rec *r)
|
||||
*/
|
||||
AP_DECLARE(const char *) ap_auth_type(request_rec *r);
|
||||
|
||||
@ -267,7 +291,6 @@ AP_DECLARE(const char *) ap_auth_type(request_rec *r);
|
||||
* Return the current Authorization realm
|
||||
* @param r The current request
|
||||
* @return The current authorization realm
|
||||
* @deffunc const char *ap_auth_name(request_rec *r)
|
||||
*/
|
||||
AP_DECLARE(const char *) ap_auth_name(request_rec *r);
|
||||
|
||||
@ -280,7 +303,6 @@ AP_DECLARE(const char *) ap_auth_name(request_rec *r);
|
||||
* SATISFY_ALL -- all of the requirements must be met.
|
||||
* SATISFY_NOSPEC -- There are no applicable satisfy lines
|
||||
* </pre>
|
||||
* @deffunc int ap_satisfies(request_rec *r)
|
||||
*/
|
||||
AP_DECLARE(int) ap_satisfies(request_rec *r);
|
||||
|
||||
@ -288,35 +310,34 @@ AP_DECLARE(int) ap_satisfies(request_rec *r);
|
||||
* Retrieve information about all of the requires directives for this request
|
||||
* @param r The current request
|
||||
* @return An array of all requires directives for this request
|
||||
* @deffunc const apr_array_header_t *ap_requires(request_rec *r)
|
||||
*/
|
||||
AP_DECLARE(const apr_array_header_t *) ap_requires(request_rec *r);
|
||||
|
||||
#ifdef CORE_PRIVATE
|
||||
|
||||
/*
|
||||
/**
|
||||
* Core is also unlike other modules in being implemented in more than
|
||||
* one file... so, data structures are declared here, even though most of
|
||||
* the code that cares really is in http_core.c. Also, another accessor.
|
||||
*/
|
||||
|
||||
AP_DECLARE_DATA extern module core_module;
|
||||
|
||||
/* Per-request configuration */
|
||||
|
||||
/**
|
||||
* @brief Per-request configuration
|
||||
*/
|
||||
typedef struct {
|
||||
/* bucket brigade used by getline for look-ahead and
|
||||
/** bucket brigade used by getline for look-ahead and
|
||||
* ap_get_client_block for holding left-over request body */
|
||||
struct apr_bucket_brigade *bb;
|
||||
|
||||
/* an array of per-request working data elements, accessed
|
||||
/** an array of per-request working data elements, accessed
|
||||
* by ID using ap_get_request_note()
|
||||
* (Use ap_register_request_note() during initialization
|
||||
* to add elements)
|
||||
*/
|
||||
void **notes;
|
||||
|
||||
/* There is a script processor installed on the output filter chain,
|
||||
/** There is a script processor installed on the output filter chain,
|
||||
* so it needs the default_handler to deliver a (script) file into
|
||||
* the chain so it can process it. Normally, default_handler only
|
||||
* serves files on a GET request (assuming the file is actual content),
|
||||
@ -326,13 +347,13 @@ typedef struct {
|
||||
*/
|
||||
int deliver_script;
|
||||
|
||||
/* Custom response strings registered via ap_custom_response(),
|
||||
/** Custom response strings registered via ap_custom_response(),
|
||||
* or NULL; check per-dir config if nothing found here
|
||||
*/
|
||||
char **response_code_strings; /* from ap_custom_response(), not from
|
||||
* ErrorDocument
|
||||
*/
|
||||
/* Should addition of charset= be suppressed for this request?
|
||||
/** Should addition of charset= be suppressed for this request?
|
||||
*/
|
||||
int suppress_charset;
|
||||
} core_request_config;
|
||||
@ -371,7 +392,6 @@ AP_DECLARE(apr_size_t) ap_register_request_note(void);
|
||||
*/
|
||||
AP_DECLARE(void **) ap_get_request_note(request_rec *r, apr_size_t note_num);
|
||||
|
||||
/* Per-directory configuration */
|
||||
|
||||
typedef unsigned char allow_options_t;
|
||||
typedef unsigned char overrides_t;
|
||||
@ -392,6 +412,9 @@ typedef unsigned long etag_components_t;
|
||||
#define ETAG_BACKWARD (ETAG_MTIME | ETAG_INODE | ETAG_SIZE)
|
||||
#define ETAG_ALL (ETAG_MTIME | ETAG_INODE | ETAG_SIZE)
|
||||
|
||||
/**
|
||||
* @brief Server Signature Enumeration
|
||||
*/
|
||||
typedef enum {
|
||||
srv_sig_unset,
|
||||
srv_sig_off,
|
||||
@ -399,13 +422,16 @@ typedef enum {
|
||||
srv_sig_withmail
|
||||
} server_signature_e;
|
||||
|
||||
/**
|
||||
* @brief Per-directory configuration
|
||||
*/
|
||||
typedef struct {
|
||||
/* path of the directory/regex/etc. see also d_is_fnmatch/absolute below */
|
||||
/** path of the directory/regex/etc. see also d_is_fnmatch/absolute below */
|
||||
char *d;
|
||||
/* the number of slashes in d */
|
||||
/** the number of slashes in d */
|
||||
unsigned d_components;
|
||||
|
||||
/* If (opts & OPT_UNSET) then no absolute assignment to options has
|
||||
/** If (opts & OPT_UNSET) then no absolute assignment to options has
|
||||
* been made.
|
||||
* invariant: (opts_add & opts_remove) == 0
|
||||
* Which said another way means that the last relative (options + or -)
|
||||
@ -659,3 +685,4 @@ APR_DECLARE_OPTIONAL_FN(const char *, ap_ident_lookup,
|
||||
#endif
|
||||
|
||||
#endif /* !APACHE_HTTP_CORE_H */
|
||||
/** @} */
|
||||
|
@ -14,6 +14,15 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file http_log.h
|
||||
* @brief Apache Logging library
|
||||
*
|
||||
* @defgroup APACHE_CORE_LOG Logging library
|
||||
* @ingroup APACHE_CORE
|
||||
* @{
|
||||
*/
|
||||
|
||||
#ifndef APACHE_HTTP_LOG_H
|
||||
#define APACHE_HTTP_LOG_H
|
||||
|
||||
@ -23,10 +32,6 @@ extern "C" {
|
||||
|
||||
#include "apr_thread_proc.h"
|
||||
|
||||
/**
|
||||
* @package Apache logging library
|
||||
*/
|
||||
|
||||
#ifdef HAVE_SYSLOG
|
||||
#include <syslog.h>
|
||||
|
||||
@ -110,7 +115,7 @@ AP_DECLARE(apr_status_t) ap_replace_stderr_log(apr_pool_t *p,
|
||||
* @param plog The pool to allocate the logs from
|
||||
* @param ptemp Pool used for temporary allocations
|
||||
* @param s_main The main server
|
||||
* @tip ap_open_logs isn't expected to be used by modules, it is
|
||||
* @note ap_open_logs isn't expected to be used by modules, it is
|
||||
* an internal core function
|
||||
*/
|
||||
int ap_open_logs(apr_pool_t *pconf, apr_pool_t *plog,
|
||||
@ -123,7 +128,7 @@ int ap_open_logs(apr_pool_t *pconf, apr_pool_t *plog,
|
||||
* processes.
|
||||
* @param p Not used
|
||||
* @param s Not used
|
||||
* @tip ap_logs_child_init is not for use by modules; it is an
|
||||
* @note ap_logs_child_init is not for use by modules; it is an
|
||||
* internal core function
|
||||
*/
|
||||
void ap_logs_child_init(apr_pool_t *p, server_rec *s);
|
||||
@ -151,8 +156,8 @@ void ap_logs_child_init(apr_pool_t *p, server_rec *s);
|
||||
* @param s The server on which we are logging
|
||||
* @param fmt The format string
|
||||
* @param ... The arguments to use to fill out fmt.
|
||||
* @tip Use APLOG_MARK to fill out file and line
|
||||
* @tip If a request_rec is available, use that with ap_log_rerror()
|
||||
* @note Use APLOG_MARK to fill out file and line
|
||||
* @note If a request_rec is available, use that with ap_log_rerror()
|
||||
* in preference to calling this function. Otherwise, if a conn_rec is
|
||||
* available, use that with ap_log_cerror() in preference to calling
|
||||
* this function.
|
||||
@ -162,7 +167,6 @@ void ap_logs_child_init(apr_pool_t *p, server_rec *s);
|
||||
* denial-of-service attack and other messy behavior. Instead, use a
|
||||
* simple format string like "%s", followed by the string containing the
|
||||
* untrusted data.
|
||||
* @deffunc void ap_log_error(const char *file, int line, int level, apr_status_t status, const server_rec *s, const char *fmt, ...)
|
||||
*/
|
||||
AP_DECLARE(void) ap_log_error(const char *file, int line, int level,
|
||||
apr_status_t status, const server_rec *s,
|
||||
@ -180,14 +184,13 @@ AP_DECLARE(void) ap_log_error(const char *file, int line, int level,
|
||||
* @param p The pool which we are logging for
|
||||
* @param fmt The format string
|
||||
* @param ... The arguments to use to fill out fmt.
|
||||
* @tip Use APLOG_MARK to fill out file and line
|
||||
* @note Use APLOG_MARK to fill out file and line
|
||||
* @warning It is VERY IMPORTANT that you not include any raw data from
|
||||
* the network, such as the request-URI or request header fields, within
|
||||
* the format string. Doing so makes the server vulnerable to a
|
||||
* denial-of-service attack and other messy behavior. Instead, use a
|
||||
* simple format string like "%s", followed by the string containing the
|
||||
* untrusted data.
|
||||
* @deffunc void ap_log_perror(const char *file, int line, int level, apr_status_t status, apr_pool_t *p, const char *fmt, ...)
|
||||
*/
|
||||
AP_DECLARE(void) ap_log_perror(const char *file, int line, int level,
|
||||
apr_status_t status, apr_pool_t *p,
|
||||
@ -205,14 +208,13 @@ AP_DECLARE(void) ap_log_perror(const char *file, int line, int level,
|
||||
* @param r The request which we are logging for
|
||||
* @param fmt The format string
|
||||
* @param ... The arguments to use to fill out fmt.
|
||||
* @tip Use APLOG_MARK to fill out file and line
|
||||
* @note Use APLOG_MARK to fill out file and line
|
||||
* @warning It is VERY IMPORTANT that you not include any raw data from
|
||||
* the network, such as the request-URI or request header fields, within
|
||||
* the format string. Doing so makes the server vulnerable to a
|
||||
* denial-of-service attack and other messy behavior. Instead, use a
|
||||
* simple format string like "%s", followed by the string containing the
|
||||
* untrusted data.
|
||||
* @deffunc void ap_log_rerror(const char *file, int line, int level, apr_status_t status, const request_rec *r, const char *fmt, ...)
|
||||
*/
|
||||
AP_DECLARE(void) ap_log_rerror(const char *file, int line, int level,
|
||||
apr_status_t status, const request_rec *r,
|
||||
@ -230,8 +232,8 @@ AP_DECLARE(void) ap_log_rerror(const char *file, int line, int level,
|
||||
* @param c The connection which we are logging for
|
||||
* @param fmt The format string
|
||||
* @param ... The arguments to use to fill out fmt.
|
||||
* @tip Use APLOG_MARK to fill out file and line
|
||||
* @tip If a request_rec is available, use that with ap_log_rerror()
|
||||
* @note Use APLOG_MARK to fill out file and line
|
||||
* @note If a request_rec is available, use that with ap_log_rerror()
|
||||
* in preference to calling this function.
|
||||
* @warning It is VERY IMPORTANT that you not include any raw data from
|
||||
* the network, such as the request-URI or request header fields, within
|
||||
@ -239,7 +241,6 @@ AP_DECLARE(void) ap_log_rerror(const char *file, int line, int level,
|
||||
* denial-of-service attack and other messy behavior. Instead, use a
|
||||
* simple format string like "%s", followed by the string containing the
|
||||
* untrusted data.
|
||||
* @deffunc void ap_log_cerror(const char *file, int line, int level, apr_status_t status, const conn_rec *c, const char *fmt, ...)
|
||||
*/
|
||||
AP_DECLARE(void) ap_log_cerror(const char *file, int line, int level,
|
||||
apr_status_t status, const conn_rec *c,
|
||||
@ -249,7 +250,6 @@ AP_DECLARE(void) ap_log_cerror(const char *file, int line, int level,
|
||||
/**
|
||||
* Convert stderr to the error log
|
||||
* @param s The current server
|
||||
* @deffunc void ap_error_log2stderr(server_rec *s)
|
||||
*/
|
||||
AP_DECLARE(void) ap_error_log2stderr(server_rec *s);
|
||||
|
||||
@ -268,11 +268,14 @@ AP_DECLARE(void) ap_log_pid(apr_pool_t *p, const char *fname);
|
||||
*/
|
||||
AP_DECLARE(apr_status_t) ap_read_pid(apr_pool_t *p, const char *filename, pid_t *mypid);
|
||||
|
||||
/** @see piped_log */
|
||||
typedef struct piped_log piped_log;
|
||||
|
||||
/**
|
||||
* The piped logging structure. Piped logs are used to move functionality
|
||||
* out of the main server. For example, log rotation is done with piped logs.
|
||||
* @brief The piped logging structure.
|
||||
*
|
||||
* Piped logs are used to move functionality out of the main server.
|
||||
* For example, log rotation is done with piped logs.
|
||||
*/
|
||||
struct piped_log {
|
||||
/** The pool to use for the piped log */
|
||||
@ -294,14 +297,12 @@ struct piped_log {
|
||||
* @param p The pool to allocate out of
|
||||
* @param program The program to run in the logging process
|
||||
* @return The piped log structure
|
||||
* @deffunc piped_log *ap_open_piped_log(apr_pool_t *p, const char *program)
|
||||
*/
|
||||
AP_DECLARE(piped_log *) ap_open_piped_log(apr_pool_t *p, const char *program);
|
||||
|
||||
/**
|
||||
* Close the piped log and kill the logging process
|
||||
* @param pl The piped log structure
|
||||
* @deffunc void ap_close_piped_log(piped_log *pl)
|
||||
*/
|
||||
AP_DECLARE(void) ap_close_piped_log(piped_log *pl);
|
||||
|
||||
@ -309,7 +310,6 @@ AP_DECLARE(void) ap_close_piped_log(piped_log *pl);
|
||||
* A macro to access the read side of the piped log pipe
|
||||
* @param pl The piped log structure
|
||||
* @return The native file descriptor
|
||||
* @deffunc ap_piped_log_read_fd(pl)
|
||||
*/
|
||||
#define ap_piped_log_read_fd(pl) ((pl)->fds[0])
|
||||
|
||||
@ -317,10 +317,21 @@ AP_DECLARE(void) ap_close_piped_log(piped_log *pl);
|
||||
* A macro to access the write side of the piped log pipe
|
||||
* @param pl The piped log structure
|
||||
* @return The native file descriptor
|
||||
* @deffunc ap_piped_log_read_fd(pl)
|
||||
*/
|
||||
#define ap_piped_log_write_fd(pl) ((pl)->fds[1])
|
||||
|
||||
/**
|
||||
* hook method to log error messages
|
||||
* @ingroup hooks
|
||||
* @param file The file in which this function is called
|
||||
* @param line The line number on which this function is called
|
||||
* @param level The level of this error message
|
||||
* @param status The status code from the previous command
|
||||
* @param s The server which we are logging for
|
||||
* @param r The request which we are logging for
|
||||
* @param pool Memory pool to allocate from
|
||||
* @param errstr message to log
|
||||
*/
|
||||
AP_DECLARE_HOOK(void, error_log, (const char *file, int line, int level,
|
||||
apr_status_t status, const server_rec *s,
|
||||
const request_rec *r, apr_pool_t *pool,
|
||||
@ -331,3 +342,4 @@ AP_DECLARE_HOOK(void, error_log, (const char *file, int line, int level,
|
||||
#endif
|
||||
|
||||
#endif /* !APACHE_HTTP_LOG_H */
|
||||
/** @} */
|
||||
|
@ -14,12 +14,21 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file http_main.h
|
||||
* @brief Command line options
|
||||
*
|
||||
* @defgroup APACHE_CORE_MAIN Command line options
|
||||
* @ingroup APACHE_CORE
|
||||
* @{
|
||||
*/
|
||||
|
||||
#ifndef APACHE_HTTP_MAIN_H
|
||||
#define APACHE_HTTP_MAIN_H
|
||||
|
||||
#include "apr_optional.h"
|
||||
|
||||
/* AP_SERVER_BASEARGS is the command argument list parsed by http_main.c
|
||||
/** AP_SERVER_BASEARGS is the command argument list parsed by http_main.c
|
||||
* in apr_getopt() format. Use this for default'ing args that the MPM
|
||||
* can safely ignore and pass on from its rewrite_args() handler.
|
||||
*/
|
||||
@ -29,10 +38,6 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @package Command line options
|
||||
*/
|
||||
|
||||
/** The name of the Apache executable */
|
||||
AP_DECLARE_DATA extern const char *ap_server_argv0;
|
||||
/** The global server's ServerRoot */
|
||||
@ -49,6 +54,13 @@ AP_DECLARE_DATA extern apr_array_header_t *ap_server_post_read_config;
|
||||
* effect the server based on command line options */
|
||||
AP_DECLARE_DATA extern apr_array_header_t *ap_server_config_defines;
|
||||
|
||||
/**
|
||||
* An optional function to send signal to server on presence of '-k'
|
||||
* command line argument.
|
||||
* Called if MPM defines AP_MPM_WANT_SIGNAL_SERVER
|
||||
* @param status The exit status after sending signal
|
||||
* @param pool Memory pool to allocate from
|
||||
*/
|
||||
APR_DECLARE_OPTIONAL_FN(int, ap_signal_server, (int *, apr_pool_t *));
|
||||
|
||||
#ifdef __cplusplus
|
||||
@ -56,3 +68,4 @@ APR_DECLARE_OPTIONAL_FN(int, ap_signal_server, (int *, apr_pool_t *));
|
||||
#endif
|
||||
|
||||
#endif /* !APACHE_HTTP_MAIN_H */
|
||||
/** @} */
|
||||
|
@ -14,6 +14,15 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file http_protocol.h
|
||||
* @brief HTTP protocol handling
|
||||
*
|
||||
* @defgroup APACHE_CORE_PROTO HTTP Protocol Handling
|
||||
* @ingroup APACHE_CORE
|
||||
* @{
|
||||
*/
|
||||
|
||||
#ifndef APACHE_HTTP_PROTOCOL_H
|
||||
#define APACHE_HTTP_PROTOCOL_H
|
||||
|
||||
@ -28,10 +37,6 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @package HTTP protocol handling
|
||||
*/
|
||||
|
||||
/**
|
||||
* This hook allows modules to insert filters for the current error response
|
||||
* @param r the current request
|
||||
@ -39,7 +44,7 @@ extern "C" {
|
||||
*/
|
||||
AP_DECLARE_HOOK(void,insert_error_filter,(request_rec *r))
|
||||
|
||||
/* This is an optimization. We keep a record of the filter_rec that
|
||||
/** This is an optimization. We keep a record of the filter_rec that
|
||||
* stores the old_write filter, so that we can avoid strcmp's later.
|
||||
*/
|
||||
AP_DECLARE_DATA extern ap_filter_rec_t *ap_old_write_func;
|
||||
@ -77,7 +82,6 @@ AP_DECLARE(void) ap_get_mime_headers_core(request_rec *r,
|
||||
* Called at completion of sending the response. It sends the terminating
|
||||
* protocol information.
|
||||
* @param r The current request
|
||||
* @deffunc void ap_finalize_request_protocol(request_rec *r)
|
||||
*/
|
||||
AP_DECLARE(void) ap_finalize_request_protocol(request_rec *r);
|
||||
|
||||
@ -89,7 +93,6 @@ AP_DECLARE(void) ap_finalize_request_protocol(request_rec *r);
|
||||
* to handle some other error. In that case, we print the default
|
||||
* report for the first thing that went wrong, and more briefly report
|
||||
* on the problem with the ErrorDocument.
|
||||
* @deffunc void ap_send_error_response(request_rec *r, int recursive_error)
|
||||
*/
|
||||
AP_DECLARE(void) ap_send_error_response(request_rec *r, int recursive_error);
|
||||
|
||||
@ -104,7 +107,6 @@ AP_DECLARE(void) ap_send_error_response(request_rec *r, int recursive_error);
|
||||
* Set the content length for this request
|
||||
* @param r The current request
|
||||
* @param length The new content length
|
||||
* @deffunc void ap_set_content_length(request_rec *r, apr_off_t length)
|
||||
*/
|
||||
AP_DECLARE(void) ap_set_content_length(request_rec *r, apr_off_t length);
|
||||
|
||||
@ -112,7 +114,6 @@ AP_DECLARE(void) ap_set_content_length(request_rec *r, apr_off_t length);
|
||||
* Set the keepalive status for this request
|
||||
* @param r The current request
|
||||
* @return 1 if keepalive can be set, 0 otherwise
|
||||
* @deffunc int ap_set_keepalive(request_rec *r)
|
||||
*/
|
||||
AP_DECLARE(int) ap_set_keepalive(request_rec *r);
|
||||
|
||||
@ -122,7 +123,6 @@ AP_DECLARE(int) ap_set_keepalive(request_rec *r);
|
||||
* @param r The current request
|
||||
* @param mtime The last modified time
|
||||
* @return the latest rational time.
|
||||
* @deffunc apr_time_t ap_rationalize_mtime(request_rec *r, apr_time_t mtime)
|
||||
*/
|
||||
AP_DECLARE(apr_time_t) ap_rationalize_mtime(request_rec *r, apr_time_t mtime);
|
||||
|
||||
@ -134,8 +134,8 @@ AP_DECLARE(apr_time_t) ap_rationalize_mtime(request_rec *r, apr_time_t mtime);
|
||||
* - then, if there are no parameters on type, add the default charset
|
||||
* - return type
|
||||
* @param r The current request
|
||||
* @param type The content type
|
||||
* @return The content-type
|
||||
* @deffunc const char *ap_make_content_type(request_rec *r, const char *type);
|
||||
*/
|
||||
AP_DECLARE(const char *) ap_make_content_type(request_rec *r,
|
||||
const char *type);
|
||||
@ -143,8 +143,7 @@ AP_DECLARE(const char *) ap_make_content_type(request_rec *r,
|
||||
#ifdef CORE_PRIVATE
|
||||
/**
|
||||
* Precompile metadata structures used by ap_make_content_type()
|
||||
* @param r The pool to use for allocations
|
||||
* @deffunc void ap_setup_make_content_type(apr_pool_t *pool)
|
||||
* @param pool The pool to use for allocations
|
||||
*/
|
||||
AP_DECLARE(void) ap_setup_make_content_type(apr_pool_t *pool);
|
||||
#endif /* CORE_PRIVATE */
|
||||
@ -156,21 +155,18 @@ AP_DECLARE(void) ap_setup_make_content_type(apr_pool_t *pool);
|
||||
* @param force_weak Force the entity tag to be weak - it could be modified
|
||||
* again in as short an interval.
|
||||
* @return The entity tag
|
||||
* @deffunc char *ap_make_etag(request_rec *r, int force_weak)
|
||||
*/
|
||||
AP_DECLARE(char *) ap_make_etag(request_rec *r, int force_weak);
|
||||
|
||||
/**
|
||||
* Set the E-tag outgoing header
|
||||
* @param The current request
|
||||
* @deffunc void ap_set_etag(request_rec *r)
|
||||
* @param r The current request
|
||||
*/
|
||||
AP_DECLARE(void) ap_set_etag(request_rec *r);
|
||||
|
||||
/**
|
||||
* Set the last modified time for the file being sent
|
||||
* @param r The current request
|
||||
* @deffunc void ap_set_last_modified(request_rec *r)
|
||||
*/
|
||||
AP_DECLARE(void) ap_set_last_modified(request_rec *r);
|
||||
|
||||
@ -181,7 +177,6 @@ AP_DECLARE(void) ap_set_last_modified(request_rec *r);
|
||||
* @param r The current request
|
||||
* @return OK if the response fulfills the condition GET rules, some
|
||||
* other status code otherwise
|
||||
* @deffunc int ap_meets_conditions(request_rec *r)
|
||||
*/
|
||||
AP_DECLARE(int) ap_meets_conditions(request_rec *r);
|
||||
|
||||
@ -204,7 +199,6 @@ AP_DECLARE(int) ap_meets_conditions(request_rec *r);
|
||||
* @param offset Offset into the file to start sending.
|
||||
* @param length Amount of data to send
|
||||
* @param nbytes Amount of data actually sent
|
||||
* @deffunc apr_status_t ap_send_fd(apr_file_t *fd, request_rec *r, apr_off_t offset, apr_size_t length, apr_size_t *nbytes);
|
||||
*/
|
||||
AP_DECLARE(apr_status_t) ap_send_fd(apr_file_t *fd, request_rec *r, apr_off_t offset,
|
||||
apr_size_t length, apr_size_t *nbytes);
|
||||
@ -217,7 +211,6 @@ AP_DECLARE(apr_status_t) ap_send_fd(apr_file_t *fd, request_rec *r, apr_off_t of
|
||||
* @param offset The offset into the MMAP to start sending
|
||||
* @param length The amount of data to send
|
||||
* @return The number of bytes sent
|
||||
* @deffunc size_t ap_send_mmap(apr_mmap_t *mm, request_rec *r, size_t offset, size_t length)
|
||||
*/
|
||||
AP_DECLARE(size_t) ap_send_mmap(apr_mmap_t *mm, request_rec *r, size_t offset,
|
||||
size_t length);
|
||||
@ -241,7 +234,7 @@ AP_DECLARE(int) ap_method_register(apr_pool_t *p, const char *methname);
|
||||
*/
|
||||
AP_DECLARE(void) ap_method_registry_init(apr_pool_t *p);
|
||||
|
||||
/*
|
||||
/**
|
||||
* This is a convenience macro to ease with checking a mask
|
||||
* against a method name.
|
||||
*/
|
||||
@ -256,9 +249,16 @@ AP_DECLARE(void) ap_method_registry_init(apr_pool_t *p);
|
||||
* allocated.
|
||||
* @param nelts Number of preallocated extension slots
|
||||
* @return Pointer to the newly created structure.
|
||||
* @deffunc ap_method_list_t ap_make_method_list(apr_pool_t *p, int nelts)
|
||||
*/
|
||||
AP_DECLARE(ap_method_list_t *) ap_make_method_list(apr_pool_t *p, int nelts);
|
||||
|
||||
|
||||
/**
|
||||
* Copy a method list
|
||||
*
|
||||
* @param dest List to copy to
|
||||
* @param src List to copy from
|
||||
*/
|
||||
AP_DECLARE(void) ap_copy_method_list(ap_method_list_t *dest,
|
||||
ap_method_list_t *src);
|
||||
|
||||
@ -269,7 +269,6 @@ AP_DECLARE(void) ap_copy_method_list(ap_method_list_t *dest,
|
||||
* @param method String containing the name of the method to check.
|
||||
* @param l Pointer to a method list, such as cmd->methods_limited.
|
||||
* @return 1 if method is in the list, otherwise 0
|
||||
* @deffunc int ap_method_in_list(const char *method, ap_method_list_t *l)
|
||||
*/
|
||||
AP_DECLARE(int) ap_method_in_list(ap_method_list_t *l, const char *method);
|
||||
|
||||
@ -280,7 +279,6 @@ AP_DECLARE(int) ap_method_in_list(ap_method_list_t *l, const char *method);
|
||||
* @param method String containing the name of the method to check.
|
||||
* @param l Pointer to a method list, such as cmd->methods_limited.
|
||||
* @return None.
|
||||
* @deffunc void ap_method_in_list(ap_method_list_t *l, const char *method)
|
||||
*/
|
||||
AP_DECLARE(void) ap_method_list_add(ap_method_list_t *l, const char *method);
|
||||
|
||||
@ -290,7 +288,6 @@ AP_DECLARE(void) ap_method_list_add(ap_method_list_t *l, const char *method);
|
||||
* @param l Pointer to a method list, such as cmd->methods_limited.
|
||||
* @param method String containing the name of the method to remove.
|
||||
* @return None.
|
||||
* @deffunc void ap_method_list_remove(ap_method_list_t *l, const char *method)
|
||||
*/
|
||||
AP_DECLARE(void) ap_method_list_remove(ap_method_list_t *l,
|
||||
const char *method);
|
||||
@ -300,7 +297,6 @@ AP_DECLARE(void) ap_method_list_remove(ap_method_list_t *l,
|
||||
*
|
||||
* @param l Pointer to a method list, such as cmd->methods_limited.
|
||||
* @return None.
|
||||
* @deffunc void ap_clear_method_list(ap_method_list_t *l)
|
||||
*/
|
||||
AP_DECLARE(void) ap_clear_method_list(ap_method_list_t *l);
|
||||
|
||||
@ -308,7 +304,6 @@ AP_DECLARE(void) ap_clear_method_list(ap_method_list_t *l);
|
||||
* Set the content type for this request (r->content_type).
|
||||
* @param r The current request
|
||||
* @param ct The new content type
|
||||
* @deffunc void ap_set_content_type(request_rec *r, const char* ct)
|
||||
* @warning This function must be called to set r->content_type in order
|
||||
* for the AddOutputFilterByType directive to work correctly.
|
||||
*/
|
||||
@ -323,7 +318,6 @@ AP_DECLARE(void) ap_set_content_type(request_rec *r, const char *ct);
|
||||
* @param c the character to output
|
||||
* @param r the current request
|
||||
* @return The number of bytes sent
|
||||
* @deffunc int ap_rputc(int c, request_rec *r)
|
||||
*/
|
||||
AP_DECLARE(int) ap_rputc(int c, request_rec *r);
|
||||
|
||||
@ -332,7 +326,6 @@ AP_DECLARE(int) ap_rputc(int c, request_rec *r);
|
||||
* @param str The string to output
|
||||
* @param r The current request
|
||||
* @return The number of bytes sent
|
||||
* @deffunc int ap_rputs(const char *str, request_rec *r)
|
||||
*/
|
||||
AP_DECLARE(int) ap_rputs(const char *str, request_rec *r);
|
||||
|
||||
@ -342,7 +335,6 @@ AP_DECLARE(int) ap_rputs(const char *str, request_rec *r);
|
||||
* @param nbyte The number of bytes to send from the buffer
|
||||
* @param r The current request
|
||||
* @return The number of bytes sent
|
||||
* @deffunc int ap_rwrite(const void *buf, int nbyte, request_rec *r)
|
||||
*/
|
||||
AP_DECLARE(int) ap_rwrite(const void *buf, int nbyte, request_rec *r);
|
||||
|
||||
@ -351,7 +343,6 @@ AP_DECLARE(int) ap_rwrite(const void *buf, int nbyte, request_rec *r);
|
||||
* @param r The current request
|
||||
* @param ... The strings to write
|
||||
* @return The number of bytes sent
|
||||
* @deffunc int ap_rvputs(request_rec *r, ...)
|
||||
*/
|
||||
AP_DECLARE_NONSTD(int) ap_rvputs(request_rec *r,...);
|
||||
|
||||
@ -361,7 +352,6 @@ AP_DECLARE_NONSTD(int) ap_rvputs(request_rec *r,...);
|
||||
* @param fmt The format string
|
||||
* @param vlist The arguments to use to fill out the format string
|
||||
* @return The number of bytes sent
|
||||
* @deffunc int ap_vrprintf(request_rec *r, const char *fmt, va_list vlist)
|
||||
*/
|
||||
AP_DECLARE(int) ap_vrprintf(request_rec *r, const char *fmt, va_list vlist);
|
||||
|
||||
@ -371,15 +361,14 @@ AP_DECLARE(int) ap_vrprintf(request_rec *r, const char *fmt, va_list vlist);
|
||||
* @param fmt The format string
|
||||
* @param ... The arguments to use to fill out the format string
|
||||
* @return The number of bytes sent
|
||||
* @deffunc int ap_rprintf(request_rec *r, const char *fmt, ...)
|
||||
*/
|
||||
AP_DECLARE_NONSTD(int) ap_rprintf(request_rec *r, const char *fmt,...)
|
||||
__attribute__((format(printf,2,3)));
|
||||
|
||||
/**
|
||||
* Flush all of the data for the current request to the client
|
||||
* @param r The current request
|
||||
* @return The number of bytes sent
|
||||
* @deffunc int ap_rflush(request_rec *r)
|
||||
*/
|
||||
AP_DECLARE(int) ap_rflush(request_rec *r);
|
||||
|
||||
@ -388,7 +377,6 @@ AP_DECLARE(int) ap_rflush(request_rec *r);
|
||||
* (only use outside protocol.c is in getting them configured).
|
||||
* @param status HTTP status code
|
||||
* @return The index of the response
|
||||
* @deffunc int ap_index_of_response(int status)
|
||||
*/
|
||||
AP_DECLARE(int) ap_index_of_response(int status);
|
||||
|
||||
@ -398,7 +386,6 @@ AP_DECLARE(int) ap_index_of_response(int status);
|
||||
* passed, "500 Internal Server Error" will be returned.
|
||||
* @param status The HTTP status code
|
||||
* @return The Status-Line
|
||||
* @deffunc const char *ap_get_status_line(int status)
|
||||
*/
|
||||
AP_DECLARE(const char *) ap_get_status_line(int status);
|
||||
|
||||
@ -414,7 +401,6 @@ AP_DECLARE(const char *) ap_get_status_line(int status);
|
||||
* REQUEST_CHUNKED_DECHUNK If chunked, remove the chunks for me.
|
||||
* </pre>
|
||||
* @return either OK or an error code
|
||||
* @deffunc int ap_setup_client_block(request_rec *r, int read_policy)
|
||||
*/
|
||||
AP_DECLARE(int) ap_setup_client_block(request_rec *r, int read_policy);
|
||||
|
||||
@ -425,7 +411,6 @@ AP_DECLARE(int) ap_setup_client_block(request_rec *r, int read_policy);
|
||||
* @warning Never call this function more than once.
|
||||
* @param r The current request
|
||||
* @return 0 if there is no message to read, 1 otherwise
|
||||
* @deffunc int ap_should_client_block(request_rec *r)
|
||||
*/
|
||||
AP_DECLARE(int) ap_should_client_block(request_rec *r);
|
||||
|
||||
@ -437,7 +422,6 @@ AP_DECLARE(int) ap_should_client_block(request_rec *r);
|
||||
* @param bufsiz The size of the buffer
|
||||
* @return Number of bytes inserted into the buffer. When done reading, 0
|
||||
* if EOF, or -1 if there was an error
|
||||
* @deffunc long ap_get_client_block(request_rec *r, char *buffer, apr_size_t bufsiz)
|
||||
*/
|
||||
AP_DECLARE(long) ap_get_client_block(request_rec *r, char *buffer, apr_size_t bufsiz);
|
||||
|
||||
@ -450,17 +434,14 @@ AP_DECLARE(long) ap_get_client_block(request_rec *r, char *buffer, apr_size_t bu
|
||||
* as the next request on a persistent connection.
|
||||
* @param r The current request
|
||||
* @return error status if request is malformed, OK otherwise
|
||||
* @deffunc int ap_discard_request_body(request_rec *r)
|
||||
*/
|
||||
AP_DECLARE(int) ap_discard_request_body(request_rec *r);
|
||||
|
||||
|
||||
/**
|
||||
* Setup the output headers so that the client knows how to authenticate
|
||||
* itself the next time, if an authentication request failed. This function
|
||||
* works for both basic and digest authentication
|
||||
* @param r The current request
|
||||
* @deffunc void ap_note_auth_failure(request_rec *r)
|
||||
*/
|
||||
AP_DECLARE(void) ap_note_auth_failure(request_rec *r);
|
||||
|
||||
@ -469,7 +450,6 @@ AP_DECLARE(void) ap_note_auth_failure(request_rec *r);
|
||||
* itself the next time, if an authentication request failed. This function
|
||||
* works only for basic authentication
|
||||
* @param r The current request
|
||||
* @deffunc void ap_note_basic_auth_failure(request_rec *r)
|
||||
*/
|
||||
AP_DECLARE(void) ap_note_basic_auth_failure(request_rec *r);
|
||||
|
||||
@ -478,7 +458,6 @@ AP_DECLARE(void) ap_note_basic_auth_failure(request_rec *r);
|
||||
* itself the next time, if an authentication request failed. This function
|
||||
* works only for digest authentication
|
||||
* @param r The current request
|
||||
* @deffunc void ap_note_digest_auth_failure(request_rec *r)
|
||||
*/
|
||||
AP_DECLARE(void) ap_note_digest_auth_failure(request_rec *r);
|
||||
|
||||
@ -493,20 +472,17 @@ AP_DECLARE(void) ap_note_digest_auth_failure(request_rec *r);
|
||||
* seemed to be in use, or DECLINED if there was authentication but
|
||||
* it wasn't Basic (in which case, the caller should presumably
|
||||
* decline as well).
|
||||
* @deffunc int ap_get_basic_auth_pw(request_rec *r, const char **pw)
|
||||
*/
|
||||
AP_DECLARE(int) ap_get_basic_auth_pw(request_rec *r, const char **pw);
|
||||
|
||||
/**
|
||||
* parse_uri: break apart the uri
|
||||
* @warning Side Effects: <pre>
|
||||
* - sets r->args to rest after '?' (or NULL if no '?')
|
||||
* - sets r->uri to request uri (without r->args part)
|
||||
* - sets r->hostname (if not set already) from request (scheme://host:port)
|
||||
* </pre>
|
||||
* @warning Side Effects:
|
||||
* @li sets r->args to rest after '?' (or NULL if no '?')
|
||||
* @li sets r->uri to request uri (without r->args part)
|
||||
* @li sets r->hostname (if not set already) from request (scheme://host:port)
|
||||
* @param r The current request
|
||||
* @param uri The uri to break apart
|
||||
* @deffunc void ap_parse_uri(request_rec *r, const char *uri)
|
||||
*/
|
||||
AP_CORE_DECLARE(void) ap_parse_uri(request_rec *r, const char *uri);
|
||||
|
||||
@ -519,7 +495,6 @@ AP_CORE_DECLARE(void) ap_parse_uri(request_rec *r, const char *uri);
|
||||
* @return The length of the line, if successful
|
||||
* n, if the line is too big to fit in the buffer
|
||||
* -1 for miscellaneous errors
|
||||
* @deffunc int ap_method_number_of(const char *method)
|
||||
*/
|
||||
AP_DECLARE(int) ap_getline(char *s, int n, request_rec *r, int fold);
|
||||
|
||||
@ -554,6 +529,8 @@ AP_DECLARE(apr_status_t) ap_rgetline(char **s, apr_size_t n,
|
||||
#define ap_rgetline(s, n, read, r, fold, bb) \
|
||||
ap_rgetline_core((s), (n), (read), (r), (fold), (bb))
|
||||
#endif
|
||||
|
||||
/** @see ap_rgetline */
|
||||
AP_DECLARE(apr_status_t) ap_rgetline_core(char **s, apr_size_t n,
|
||||
apr_size_t *read,
|
||||
request_rec *r, int fold,
|
||||
@ -588,7 +565,6 @@ AP_DECLARE(const char *) ap_method_name_of(apr_pool_t *p, int methnum);
|
||||
* modules to make decisions based upon the input header fields
|
||||
* @param r The current request
|
||||
* @return OK or DECLINED
|
||||
* @deffunc ap_run_post_read_request(request_rec *r)
|
||||
*/
|
||||
AP_DECLARE_HOOK(int,post_read_request,(request_rec *r))
|
||||
|
||||
@ -597,7 +573,6 @@ AP_DECLARE_HOOK(int,post_read_request,(request_rec *r))
|
||||
* over and above the normal server things.
|
||||
* @param r The current request
|
||||
* @return OK, DECLINED, or HTTP_...
|
||||
* @deffunc int ap_run_log_transaction(request_rec *r)
|
||||
*/
|
||||
AP_DECLARE_HOOK(int,log_transaction,(request_rec *r))
|
||||
|
||||
@ -606,7 +581,6 @@ AP_DECLARE_HOOK(int,log_transaction,(request_rec *r))
|
||||
* allows Apache modules to easily extend the schemes that Apache understands
|
||||
* @param r The current request
|
||||
* @return The http scheme from the request
|
||||
* @deffunc const char *ap_run_http_scheme(const request_rec *r)
|
||||
*/
|
||||
AP_DECLARE_HOOK(const char *,http_scheme,(const request_rec *r))
|
||||
|
||||
@ -614,14 +588,16 @@ AP_DECLARE_HOOK(const char *,http_scheme,(const request_rec *r))
|
||||
* Return the default port from the current request
|
||||
* @param r The current request
|
||||
* @return The current port
|
||||
* @deffunc apr_port_t ap_run_default_port(const request_rec *r)
|
||||
*/
|
||||
AP_DECLARE_HOOK(apr_port_t,default_port,(const request_rec *r))
|
||||
|
||||
/** @see ap_bucket_type_error */
|
||||
typedef struct ap_bucket_error ap_bucket_error;
|
||||
|
||||
/**
|
||||
* A bucket referring to an HTTP error
|
||||
* @struct ap_bucket_error
|
||||
* @brief A bucket referring to an HTTP error
|
||||
*
|
||||
* This bucket can be passed down the filter stack to indicate that an
|
||||
* HTTP error occurred while running a filter. In order for this bucket
|
||||
* to be used successfully, it MUST be sent as the first bucket in the
|
||||
@ -636,6 +612,7 @@ struct ap_bucket_error {
|
||||
const char *data;
|
||||
};
|
||||
|
||||
/** @see ap_bucket_type_error */
|
||||
AP_DECLARE_DATA extern const apr_bucket_type_t ap_bucket_type_error;
|
||||
|
||||
/**
|
||||
@ -652,7 +629,6 @@ AP_DECLARE_DATA extern const apr_bucket_type_t ap_bucket_type_error;
|
||||
* @param buf An optional error string to put in the bucket.
|
||||
* @param p A pool to allocate out of.
|
||||
* @return The new bucket, or NULL if allocation failed
|
||||
* @deffunc apr_bucket *ap_bucket_error_make(apr_bucket *b, int error, const char *buf, apr_pool_t *p)
|
||||
*/
|
||||
AP_DECLARE(apr_bucket *) ap_bucket_error_make(apr_bucket *b, int error,
|
||||
const char *buf, apr_pool_t *p);
|
||||
@ -664,7 +640,6 @@ AP_DECLARE(apr_bucket *) ap_bucket_error_make(apr_bucket *b, int error,
|
||||
* @param p A pool to allocate the error string out of.
|
||||
* @param list The bucket allocator from which to allocate the bucket
|
||||
* @return The new bucket, or NULL if allocation failed
|
||||
* @deffunc apr_bucket *ap_bucket_error_create(int error, const char *buf, apr_pool_t *p, apr_bucket_alloc_t *list)
|
||||
*/
|
||||
AP_DECLARE(apr_bucket *) ap_bucket_error_create(int error, const char *buf,
|
||||
apr_pool_t *p,
|
||||
@ -676,11 +651,18 @@ AP_DECLARE_NONSTD(apr_status_t) ap_content_length_filter(ap_filter_t *,
|
||||
apr_bucket_brigade *);
|
||||
AP_DECLARE_NONSTD(apr_status_t) ap_old_write_filter(ap_filter_t *f, apr_bucket_brigade *b);
|
||||
|
||||
/*
|
||||
* Setting up the protocol fields for subsidiary requests...
|
||||
* Also, a wrapup function to keep the internal accounting straight.
|
||||
/**
|
||||
* Sett up the protocol fields for subsidiary requests
|
||||
* @param rnew New Sub Request
|
||||
* @param r current request
|
||||
*/
|
||||
AP_DECLARE(void) ap_set_sub_req_protocol(request_rec *rnew, const request_rec *r);
|
||||
|
||||
/**
|
||||
* A wrapup function to keep the internal accounting straight.
|
||||
* Indicates that there is no more content coming.
|
||||
* @param sub_r Subrequest that is now compete
|
||||
*/
|
||||
AP_DECLARE(void) ap_finalize_sub_req_protocol(request_rec *sub_r);
|
||||
|
||||
#ifdef __cplusplus
|
||||
@ -688,3 +670,4 @@ AP_DECLARE(void) ap_finalize_sub_req_protocol(request_rec *sub_r);
|
||||
#endif
|
||||
|
||||
#endif /* !APACHE_HTTP_PROTOCOL_H */
|
||||
/** @} */
|
||||
|
@ -14,25 +14,11 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#ifndef APACHE_HTTP_REQUEST_H
|
||||
#define APACHE_HTTP_REQUEST_H
|
||||
|
||||
#include "apr_hooks.h"
|
||||
#include "util_filter.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define AP_SUBREQ_NO_ARGS 0
|
||||
#define AP_SUBREQ_MERGE_ARGS 1
|
||||
|
||||
/**
|
||||
* @file http_request.h
|
||||
* @brief Apache Request library
|
||||
*/
|
||||
|
||||
/* http_request.c is the code which handles the main line of request
|
||||
*
|
||||
* request.c is the code which handles the main line of request
|
||||
* processing, once a request has been read in (finding the right per-
|
||||
* directory configuration, building it if necessary, and calling all
|
||||
* the module dispatch functions in the right order).
|
||||
@ -52,6 +38,19 @@ extern "C" {
|
||||
* about which was allocated in its apr_pool_t elsewhere before doing this.
|
||||
*/
|
||||
|
||||
#ifndef APACHE_HTTP_REQUEST_H
|
||||
#define APACHE_HTTP_REQUEST_H
|
||||
|
||||
#include "apr_hooks.h"
|
||||
#include "util_filter.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define AP_SUBREQ_NO_ARGS 0
|
||||
#define AP_SUBREQ_MERGE_ARGS 1
|
||||
|
||||
/**
|
||||
* An internal handler used by the ap_process_request, all subrequest mechanisms
|
||||
* and the redirect mechanism.
|
||||
@ -68,7 +67,6 @@ AP_DECLARE(int) ap_process_request_internal(request_rec *r);
|
||||
* @param next_filter The first filter the sub_request should use. If this is
|
||||
* NULL, it defaults to the first filter for the main request
|
||||
* @return The new request record
|
||||
* @deffunc request_rec * ap_sub_req_lookup_uri(const char *new_uri, const request_rec *r)
|
||||
*/
|
||||
AP_DECLARE(request_rec *) ap_sub_req_lookup_uri(const char *new_uri,
|
||||
const request_rec *r,
|
||||
@ -82,7 +80,6 @@ AP_DECLARE(request_rec *) ap_sub_req_lookup_uri(const char *new_uri,
|
||||
* @param next_filter The first filter the sub_request should use. If this is
|
||||
* NULL, it defaults to the first filter for the main request
|
||||
* @return The new request record
|
||||
* @deffunc request_rec * ap_sub_req_lookup_file(const char *new_file, const request_rec *r)
|
||||
*/
|
||||
AP_DECLARE(request_rec *) ap_sub_req_lookup_file(const char *new_file,
|
||||
const request_rec *r,
|
||||
@ -100,8 +97,7 @@ AP_DECLARE(request_rec *) ap_sub_req_lookup_file(const char *new_file,
|
||||
* @param next_filter The first filter the sub_request should use. If this is
|
||||
* NULL, it defaults to the first filter for the main request
|
||||
* @return The new request record
|
||||
* @deffunc request_rec * ap_sub_req_lookup_dirent(apr_finfo_t *finfo, int subtype, const request_rec *r)
|
||||
* @tip The apr_dir_read flags value APR_FINFO_MIN|APR_FINFO_NAME flag is the
|
||||
* @note The apr_dir_read flags value APR_FINFO_MIN|APR_FINFO_NAME flag is the
|
||||
* minimum recommended query if the results will be passed to apr_dir_read.
|
||||
* The file info passed must include the name, and must have the same relative
|
||||
* directory as the current request.
|
||||
@ -119,7 +115,6 @@ AP_DECLARE(request_rec *) ap_sub_req_lookup_dirent(const apr_finfo_t *finfo,
|
||||
* @param next_filter The first filter the sub_request should use. If this is
|
||||
* NULL, it defaults to the first filter for the main request
|
||||
* @return The new request record
|
||||
* @deffunc request_rec * ap_sub_req_method_uri(const char *method, const char *new_uri, const request_rec *r)
|
||||
*/
|
||||
AP_DECLARE(request_rec *) ap_sub_req_method_uri(const char *method,
|
||||
const char *new_uri,
|
||||
@ -130,7 +125,7 @@ AP_DECLARE(request_rec *) ap_sub_req_method_uri(const char *method,
|
||||
* has to be inserted at the end of a sub-requests filter stack.
|
||||
* @param f The current filter
|
||||
* @param bb The brigade to filter
|
||||
* @deffunc apr_status_t ap_sub_req_output_filter(ap_filter_t *f, apr_bucket_brigade *bb)
|
||||
* @return status code
|
||||
*/
|
||||
AP_CORE_DECLARE_NONSTD(apr_status_t) ap_sub_req_output_filter(ap_filter_t *f,
|
||||
apr_bucket_brigade *bb);
|
||||
@ -139,14 +134,12 @@ AP_CORE_DECLARE_NONSTD(apr_status_t) ap_sub_req_output_filter(ap_filter_t *f,
|
||||
* Run the handler for the subrequest
|
||||
* @param r The subrequest to run
|
||||
* @return The return code for the subrequest
|
||||
* @deffunc int ap_run_sub_req(request_rec *r)
|
||||
*/
|
||||
AP_DECLARE(int) ap_run_sub_req(request_rec *r);
|
||||
|
||||
/**
|
||||
* Free the memory associated with a subrequest
|
||||
* @param r The subrequest to finish
|
||||
* @deffunc void ap_destroy_sub_req(request_rec *r)
|
||||
*/
|
||||
AP_DECLARE(void) ap_destroy_sub_req(request_rec *r);
|
||||
|
||||
@ -160,7 +153,6 @@ AP_DECLARE(void) ap_destroy_sub_req(request_rec *r);
|
||||
* Redirect the current request to some other uri
|
||||
* @param new_uri The URI to replace the current request with
|
||||
* @param r The current request
|
||||
* @deffunc void ap_internal_redirect(const char *new_uri, request_rec *r)
|
||||
*/
|
||||
AP_DECLARE(void) ap_internal_redirect(const char *new_uri, request_rec *r);
|
||||
|
||||
@ -170,7 +162,6 @@ AP_DECLARE(void) ap_internal_redirect(const char *new_uri, request_rec *r);
|
||||
* an internal redirect.
|
||||
* @param new_uri The URI to replace the current request with.
|
||||
* @param r The current request
|
||||
* @deffunc void ap_internal_redirect_handler(const char *new_uri, request_rec *r)
|
||||
*/
|
||||
AP_DECLARE(void) ap_internal_redirect_handler(const char *new_uri, request_rec *r);
|
||||
|
||||
@ -178,8 +169,7 @@ AP_DECLARE(void) ap_internal_redirect_handler(const char *new_uri, request_rec *
|
||||
* Redirect the current request to a sub_req, merging the pools
|
||||
* @param sub_req A subrequest created from this request
|
||||
* @param r The current request
|
||||
* @deffunc void ap_internal_fast_redirect(request_rec *sub_req, request_rec *r)
|
||||
* @tip the sub_req's pool will be merged into r's pool, be very careful
|
||||
* @note the sub_req's pool will be merged into r's pool, be very careful
|
||||
* not to destroy this subrequest, it will be destroyed with the main request!
|
||||
*/
|
||||
AP_DECLARE(void) ap_internal_fast_redirect(request_rec *sub_req, request_rec *r);
|
||||
@ -189,7 +179,6 @@ AP_DECLARE(void) ap_internal_fast_redirect(request_rec *sub_req, request_rec *r)
|
||||
* is required for the current request
|
||||
* @param r The current request
|
||||
* @return 1 if authentication is required, 0 otherwise
|
||||
* @deffunc int ap_some_auth_required(request_rec *r)
|
||||
*/
|
||||
AP_DECLARE(int) ap_some_auth_required(request_rec *r);
|
||||
|
||||
@ -197,7 +186,6 @@ AP_DECLARE(int) ap_some_auth_required(request_rec *r);
|
||||
* Determine if the current request is the main request or a subrequest
|
||||
* @param r The current request
|
||||
* @return 1 if this is the main request, 0 otherwise
|
||||
* @deffunc int ap_is_initial_req(request_rec *r)
|
||||
*/
|
||||
AP_DECLARE(int) ap_is_initial_req(request_rec *r);
|
||||
|
||||
@ -205,8 +193,7 @@ AP_DECLARE(int) ap_is_initial_req(request_rec *r);
|
||||
* Function to set the r->mtime field to the specified value if it's later
|
||||
* than what's already there.
|
||||
* @param r The current request
|
||||
* @param dependency_time Time to set the mtime to
|
||||
* @deffunc void ap_update_mtime(request_rec *r, apr_time_t dependency_mtime)
|
||||
* @param dependency_mtime Time to set the mtime to
|
||||
*/
|
||||
AP_DECLARE(void) ap_update_mtime(request_rec *r, apr_time_t dependency_mtime);
|
||||
|
||||
@ -224,7 +211,6 @@ AP_DECLARE(void) ap_update_mtime(request_rec *r, apr_time_t dependency_mtime);
|
||||
* @param ... A NULL-terminated list of strings, each identifying a
|
||||
* method name to add.
|
||||
* @return None.
|
||||
* @deffunc void ap_allow_methods(request_rec *r, int reset, ...)
|
||||
*/
|
||||
AP_DECLARE(void) ap_allow_methods(request_rec *r, int reset, ...);
|
||||
|
||||
@ -243,7 +229,6 @@ AP_DECLARE(void) ap_allow_methods(request_rec *r, int reset, ...);
|
||||
* defined in httpd.h, terminated with a value of -1
|
||||
* (e.g., "M_GET, M_POST, M_OPTIONS, -1")
|
||||
* @return None.
|
||||
* @deffunc void ap_allow_standard_methods(request_rec *r, int reset, ...)
|
||||
*/
|
||||
AP_DECLARE(void) ap_allow_standard_methods(request_rec *r, int reset, ...);
|
||||
|
||||
@ -251,13 +236,16 @@ AP_DECLARE(void) ap_allow_standard_methods(request_rec *r, int reset, ...);
|
||||
#define REPLACE_ALLOW 1
|
||||
|
||||
#ifdef CORE_PRIVATE
|
||||
/* Function called by main.c to handle first-level request */
|
||||
/**
|
||||
* Function called by main.c to handle first-level request
|
||||
* @param r The current request
|
||||
*/
|
||||
void ap_process_request(request_rec *);
|
||||
|
||||
/**
|
||||
* Kill the current request
|
||||
* @param type Why the request is dieing
|
||||
* @param r The current request
|
||||
* @deffunc void ap_die(int type, request_rec *r)
|
||||
*/
|
||||
AP_DECLARE(void) ap_die(int type, request_rec *r);
|
||||
#endif
|
||||
@ -284,7 +272,7 @@ AP_DECLARE_HOOK(int,translate_name,(request_rec *r))
|
||||
|
||||
/**
|
||||
* This hook allow modules to set the per_dir_config based on their own
|
||||
* context (such as <Proxy > sections) and responds to contextless requests
|
||||
* context (such as "<Proxy>" sections) and responds to contextless requests
|
||||
* such as TRACE that need no security or filesystem mapping.
|
||||
* based on the filesystem.
|
||||
* @param r The current request
|
||||
|
@ -14,6 +14,15 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file http_vhost.h
|
||||
* @brief Virtual Host package
|
||||
*
|
||||
* @defgroup APACHE_CORE_VHOST Virtual Host Package
|
||||
* @ingroup APACHE_CORE
|
||||
* @{
|
||||
*/
|
||||
|
||||
#ifndef APACHE_HTTP_VHOST_H
|
||||
#define APACHE_HTTP_VHOST_H
|
||||
|
||||
@ -21,10 +30,6 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @package Virtual Host package
|
||||
*/
|
||||
|
||||
/**
|
||||
* called before any config is read
|
||||
* @param p Pool to allocate out of
|
||||
@ -36,19 +41,23 @@ AP_DECLARE(void) ap_init_vhost_config(apr_pool_t *p);
|
||||
* the run-time vhost lookups
|
||||
* @param p The pool to allocate out of
|
||||
* @param main_server The start of the virtual host list
|
||||
* @deffunc ap_fini_vhost_config(apr_pool_t *p, server_rec *main_server)
|
||||
*/
|
||||
AP_DECLARE(void) ap_fini_vhost_config(apr_pool_t *p, server_rec *main_server);
|
||||
|
||||
/**
|
||||
* handle addresses in <VirtualHost> statement
|
||||
* handle addresses in "<VirtualHost>" statement
|
||||
* @param p The pool to allocate out of
|
||||
* @param hostname The hostname in the VirtualHost statement
|
||||
* @param s The list of Virtual Hosts.
|
||||
*/
|
||||
const char *ap_parse_vhost_addrs(apr_pool_t *p, const char *hostname, server_rec *s);
|
||||
|
||||
/* handle NameVirtualHost directive */
|
||||
/**
|
||||
* handle NameVirtualHost directive
|
||||
* @param cmd Command Parameters structure
|
||||
* @param dummy NOT USED
|
||||
* @param arg a host of the form "<address>[:port]"
|
||||
*/
|
||||
const char *ap_set_name_virtual_host (cmd_parms *cmd, void *dummy,
|
||||
const char *arg);
|
||||
|
||||
@ -97,7 +106,6 @@ AP_DECLARE(void) ap_update_vhost_from_headers(request_rec *r);
|
||||
* @param port The port from the headers
|
||||
* @return return 1 if the host:port matches any of the aliases of r->server,
|
||||
* return 0 otherwise
|
||||
* @deffunc int ap_matches_request_vhost(request_rec *r, const char *host, apr_port_t port)
|
||||
*/
|
||||
AP_DECLARE(int) ap_matches_request_vhost(request_rec *r, const char *host,
|
||||
apr_port_t port);
|
||||
@ -107,3 +115,4 @@ AP_DECLARE(int) ap_matches_request_vhost(request_rec *r, const char *host,
|
||||
#endif
|
||||
|
||||
#endif /* !APACHE_HTTP_VHOST_H */
|
||||
/** @} */
|
||||
|
221
include/httpd.h
221
include/httpd.h
@ -14,14 +14,27 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#ifndef APACHE_HTTPD_H
|
||||
#define APACHE_HTTPD_H
|
||||
|
||||
/**
|
||||
* @file httpd.h
|
||||
* @brief HTTP Daemon routines
|
||||
*
|
||||
* @defgroup APACHE Apache
|
||||
*
|
||||
* Top level group of which all other groups are a member
|
||||
* @{
|
||||
*
|
||||
* @defgroup APACHE_MODS Apache Modules
|
||||
* Top level group for Apache Modules
|
||||
* @defgroup APACHE_OS Operating System Specific
|
||||
* @defgroup APACHE_CORE Apache Core
|
||||
* @{
|
||||
* @defgroup APACHE_CORE_DAEMON HTTP Daemon Routine
|
||||
* @{
|
||||
*/
|
||||
|
||||
#ifndef APACHE_HTTPD_H
|
||||
#define APACHE_HTTPD_H
|
||||
|
||||
/* XXX - We need to push more stuff to other .h files, or even .c files, to
|
||||
* make this file smaller
|
||||
*/
|
||||
@ -59,23 +72,24 @@ extern "C" {
|
||||
|
||||
/* ----------------------------- config dir ------------------------------ */
|
||||
|
||||
/* Define this to be the default server home dir. Most things later in this
|
||||
/** Define this to be the default server home dir. Most things later in this
|
||||
* file with a relative pathname will have this added.
|
||||
*/
|
||||
#ifndef HTTPD_ROOT
|
||||
#ifdef OS2
|
||||
/* Set default for OS/2 file system */
|
||||
/** Set default for OS/2 file system */
|
||||
#define HTTPD_ROOT "/os2httpd"
|
||||
#elif defined(WIN32)
|
||||
/* Set default for Windows file system */
|
||||
/** Set default for Windows file system */
|
||||
#define HTTPD_ROOT "/apache"
|
||||
#elif defined (BEOS)
|
||||
/* Set the default for BeOS */
|
||||
/** Set the default for BeOS */
|
||||
#define HTTPD_ROOT "/boot/home/apache"
|
||||
#elif defined (NETWARE)
|
||||
/* Set the default for NetWare */
|
||||
/** Set the default for NetWare */
|
||||
#define HTTPD_ROOT "/apache"
|
||||
#else
|
||||
/** Set for all other OSs */
|
||||
#define HTTPD_ROOT "/usr/local/apache"
|
||||
#endif
|
||||
#endif /* HTTPD_ROOT */
|
||||
@ -88,7 +102,8 @@ extern "C" {
|
||||
*
|
||||
*/
|
||||
|
||||
/* Default location of documents. Can be overridden by the DocumentRoot
|
||||
/**
|
||||
* Default location of documents. Can be overridden by the DocumentRoot
|
||||
* directive.
|
||||
*/
|
||||
#ifndef DOCUMENT_LOCATION
|
||||
@ -96,19 +111,20 @@ extern "C" {
|
||||
/* Set default for OS/2 file system */
|
||||
#define DOCUMENT_LOCATION HTTPD_ROOT "/docs"
|
||||
#else
|
||||
/* Set default for non OS/2 file system */
|
||||
#define DOCUMENT_LOCATION HTTPD_ROOT "/htdocs"
|
||||
#endif
|
||||
#endif /* DOCUMENT_LOCATION */
|
||||
|
||||
/* Maximum number of dynamically loaded modules */
|
||||
/** Maximum number of dynamically loaded modules */
|
||||
#ifndef DYNAMIC_MODULE_LIMIT
|
||||
#define DYNAMIC_MODULE_LIMIT 128
|
||||
#endif
|
||||
|
||||
/* Default administrator's address */
|
||||
/** Default administrator's address */
|
||||
#define DEFAULT_ADMIN "[no address given]"
|
||||
|
||||
/* The name of the log files */
|
||||
/** The name of the log files */
|
||||
#ifndef DEFAULT_ERRORLOG
|
||||
#if defined(OS2) || defined(WIN32)
|
||||
#define DEFAULT_ERRORLOG "logs/error.log"
|
||||
@ -117,7 +133,7 @@ extern "C" {
|
||||
#endif
|
||||
#endif /* DEFAULT_ERRORLOG */
|
||||
|
||||
/* Define this to be what your per-directory security files are called */
|
||||
/** Define this to be what your per-directory security files are called */
|
||||
#ifndef DEFAULT_ACCESS_FNAME
|
||||
#ifdef OS2
|
||||
/* Set default for OS/2 file system */
|
||||
@ -127,37 +143,38 @@ extern "C" {
|
||||
#endif
|
||||
#endif /* DEFAULT_ACCESS_FNAME */
|
||||
|
||||
/* The name of the server config file */
|
||||
/** The name of the server config file */
|
||||
#ifndef SERVER_CONFIG_FILE
|
||||
#define SERVER_CONFIG_FILE "conf/httpd.conf"
|
||||
#endif
|
||||
|
||||
/* The default path for CGI scripts if none is currently set */
|
||||
/** The default path for CGI scripts if none is currently set */
|
||||
#ifndef DEFAULT_PATH
|
||||
#define DEFAULT_PATH "/bin:/usr/bin:/usr/ucb:/usr/bsd:/usr/local/bin"
|
||||
#endif
|
||||
|
||||
/* The path to the suExec wrapper, can be overridden in Configuration */
|
||||
/** The path to the suExec wrapper, can be overridden in Configuration */
|
||||
#ifndef SUEXEC_BIN
|
||||
#define SUEXEC_BIN HTTPD_ROOT "/bin/suexec"
|
||||
#endif
|
||||
|
||||
/* The timeout for waiting for messages */
|
||||
/** The timeout for waiting for messages */
|
||||
#ifndef DEFAULT_TIMEOUT
|
||||
#define DEFAULT_TIMEOUT 300
|
||||
#endif
|
||||
|
||||
/* The timeout for waiting for keepalive timeout until next request */
|
||||
/** The timeout for waiting for keepalive timeout until next request */
|
||||
#ifndef DEFAULT_KEEPALIVE_TIMEOUT
|
||||
#define DEFAULT_KEEPALIVE_TIMEOUT 5
|
||||
#endif
|
||||
|
||||
/* The number of requests to entertain per connection */
|
||||
/** The number of requests to entertain per connection */
|
||||
#ifndef DEFAULT_KEEPALIVE
|
||||
#define DEFAULT_KEEPALIVE 100
|
||||
#endif
|
||||
|
||||
/* Limits on the size of various request items. These limits primarily
|
||||
/*
|
||||
* Limits on the size of various request items. These limits primarily
|
||||
* exist to prevent simple denial-of-service attacks on a server based
|
||||
* on misuse of the protocol. The recommended values will depend on the
|
||||
* nature of the server resources -- CGI scripts and database backends
|
||||
@ -173,16 +190,19 @@ extern "C" {
|
||||
* DEFAULT_LIMIT_REQUEST_FIELDS can be modified or disabled (set = 0) by
|
||||
* the server config directive LimitRequestFields.
|
||||
*/
|
||||
|
||||
/** default limit on bytes in Request-Line (Method+URI+HTTP-version) */
|
||||
#ifndef DEFAULT_LIMIT_REQUEST_LINE
|
||||
#define DEFAULT_LIMIT_REQUEST_LINE 8190
|
||||
#endif /* default limit on bytes in Request-Line (Method+URI+HTTP-version) */
|
||||
#endif
|
||||
/** default limit on bytes in any one header field */
|
||||
#ifndef DEFAULT_LIMIT_REQUEST_FIELDSIZE
|
||||
#define DEFAULT_LIMIT_REQUEST_FIELDSIZE 8190
|
||||
#endif /* default limit on bytes in any one header field */
|
||||
#endif
|
||||
/** default limit on number of request header fields */
|
||||
#ifndef DEFAULT_LIMIT_REQUEST_FIELDS
|
||||
#define DEFAULT_LIMIT_REQUEST_FIELDS 100
|
||||
#endif /* default limit on number of request header fields */
|
||||
|
||||
#endif
|
||||
|
||||
/**
|
||||
* The default default character set name to add if AddDefaultCharset is
|
||||
@ -256,7 +276,6 @@ extern "C" {
|
||||
"xhtml1-frameset.dtd\">"
|
||||
|
||||
/** Internal representation for a HTTP protocol number, e.g., HTTP/1.1 */
|
||||
|
||||
#define HTTP_VERSION(major,minor) (1000*(major)+(minor))
|
||||
/** Major part of HTTP protocol */
|
||||
#define HTTP_VERSION_MAJOR(number) ((number)/1000)
|
||||
@ -287,8 +306,10 @@ extern "C" {
|
||||
*/
|
||||
#define ap_http_scheme(r) ap_run_http_scheme(r)
|
||||
|
||||
/** The default string lengths */
|
||||
/** The default string length */
|
||||
#define MAX_STRING_LEN HUGE_STRING_LEN
|
||||
|
||||
/** The length of a Huge string */
|
||||
#define HUGE_STRING_LEN 8192
|
||||
|
||||
/** The size of the server's internal read-write buffers */
|
||||
@ -364,14 +385,15 @@ extern "C" {
|
||||
|
||||
/**
|
||||
* @internal
|
||||
* modules should not used functions marked AP_CORE_DECLARE
|
||||
* modules should not use functions marked AP_CORE_DECLARE
|
||||
*/
|
||||
#ifndef AP_CORE_DECLARE
|
||||
# define AP_CORE_DECLARE AP_DECLARE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @internal
|
||||
* modules should not used functions marked AP_CORE_DECLARE_NONSTD
|
||||
* modules should not use functions marked AP_CORE_DECLARE_NONSTD
|
||||
*/
|
||||
|
||||
#ifndef AP_CORE_DECLARE_NONSTD
|
||||
@ -379,7 +401,7 @@ extern "C" {
|
||||
#endif
|
||||
|
||||
/**
|
||||
* The numeric version information is broken out into fields within this
|
||||
* @brief The numeric version information is broken out into fields within this
|
||||
* structure.
|
||||
*/
|
||||
typedef struct {
|
||||
@ -508,33 +530,37 @@ AP_DECLARE(const char *) ap_get_server_built(void);
|
||||
((x) == HTTP_SERVICE_UNAVAILABLE) || \
|
||||
((x) == HTTP_NOT_IMPLEMENTED))
|
||||
/** @} */
|
||||
|
||||
/**
|
||||
* @defgroup Methods List of Methods recognized by the server
|
||||
* @ingroup APACHE_CORE_DAEMON
|
||||
* @{
|
||||
*/
|
||||
/**
|
||||
* Methods recognized (but not necessarily handled) by the server.
|
||||
*
|
||||
* @brief Methods recognized (but not necessarily handled) by the server.
|
||||
*
|
||||
* These constants are used in bit shifting masks of size int, so it is
|
||||
* unsafe to have more methods than bits in an int. HEAD == M_GET.
|
||||
* This list must be tracked by the list in http_protocol.c in routine
|
||||
* ap_method_name_of().
|
||||
*
|
||||
*/
|
||||
#define M_GET 0 /* RFC 2616: HTTP */
|
||||
|
||||
#define M_GET 0 /** RFC 2616: HTTP */
|
||||
#define M_PUT 1 /* : */
|
||||
#define M_POST 2
|
||||
#define M_DELETE 3
|
||||
#define M_CONNECT 4
|
||||
#define M_OPTIONS 5
|
||||
#define M_TRACE 6 /* RFC 2616: HTTP */
|
||||
#define M_PATCH 7 /* no rfc(!) ### remove this one? */
|
||||
#define M_PROPFIND 8 /* RFC 2518: WebDAV */
|
||||
#define M_TRACE 6 /** RFC 2616: HTTP */
|
||||
#define M_PATCH 7 /** no rfc(!) ### remove this one? */
|
||||
#define M_PROPFIND 8 /** RFC 2518: WebDAV */
|
||||
#define M_PROPPATCH 9 /* : */
|
||||
#define M_MKCOL 10
|
||||
#define M_COPY 11
|
||||
#define M_MOVE 12
|
||||
#define M_LOCK 13
|
||||
#define M_UNLOCK 14 /* RFC 2518: WebDAV */
|
||||
#define M_VERSION_CONTROL 15 /* RFC 3253: WebDAV Versioning */
|
||||
#define M_UNLOCK 14 /** RFC 2518: WebDAV */
|
||||
#define M_VERSION_CONTROL 15 /** RFC 3253: WebDAV Versioning */
|
||||
#define M_CHECKOUT 16 /* : */
|
||||
#define M_UNCHECKOUT 17
|
||||
#define M_CHECKIN 18
|
||||
@ -545,7 +571,7 @@ AP_DECLARE(const char *) ap_get_server_built(void);
|
||||
#define M_MKACTIVITY 23
|
||||
#define M_BASELINE_CONTROL 24
|
||||
#define M_MERGE 25
|
||||
#define M_INVALID 26 /* RFC 3253: WebDAV Versioning */
|
||||
#define M_INVALID 26 /** RFC 3253: WebDAV Versioning */
|
||||
|
||||
/**
|
||||
* METHODS needs to be equal to the number of bits
|
||||
@ -560,18 +586,23 @@ AP_DECLARE(const char *) ap_get_server_built(void);
|
||||
/** @} */
|
||||
|
||||
|
||||
/**
|
||||
* Structure for handling HTTP methods. Methods known to the server are
|
||||
* accessed via a bitmask shortcut; extension methods are handled by
|
||||
* an array.
|
||||
*/
|
||||
/** @see ap_method_list_t */
|
||||
typedef struct ap_method_list_t ap_method_list_t;
|
||||
|
||||
/**
|
||||
* @struct ap_method_list_t
|
||||
* @brief Structure for handling HTTP methods.
|
||||
*
|
||||
* Methods known to the server are accessed via a bitmask shortcut;
|
||||
* extension methods are handled by an array.
|
||||
*/
|
||||
struct ap_method_list_t {
|
||||
/* The bitmask used for known methods */
|
||||
/** The bitmask used for known methods */
|
||||
apr_int64_t method_mask;
|
||||
/* the array used for extension methods */
|
||||
/** the array used for extension methods */
|
||||
apr_array_header_t *method_list;
|
||||
};
|
||||
|
||||
/**
|
||||
* @defgroup module_magic Module Magic mime types
|
||||
* @{
|
||||
@ -618,10 +649,11 @@ struct ap_method_list_t {
|
||||
#define REQUEST_CHUNKED_ERROR 1
|
||||
/** If chunked, remove the chunks for me. */
|
||||
#define REQUEST_CHUNKED_DECHUNK 2
|
||||
/** @} */
|
||||
/** @} // values_request_rec_body */
|
||||
|
||||
/**
|
||||
* @defgroup values_request_rec_used_path_info Possible values for request_rec.used_path_info
|
||||
* @ingroup APACHE_CORE_DAEMON
|
||||
* @{
|
||||
* Possible values for request_rec.used_path_info:
|
||||
*/
|
||||
@ -632,7 +664,9 @@ struct ap_method_list_t {
|
||||
#define AP_REQ_REJECT_PATH_INFO 1
|
||||
/** Module may chose to use the given path_info */
|
||||
#define AP_REQ_DEFAULT_PATH_INFO 2
|
||||
/** @} */
|
||||
|
||||
/** @} // values_request_rec_used_path_info */
|
||||
|
||||
|
||||
/*
|
||||
* Things which may vary per file-lookup WITHIN a request ---
|
||||
@ -649,7 +683,7 @@ struct ap_method_list_t {
|
||||
*/
|
||||
|
||||
/**
|
||||
* This represents the result of calling htaccess; these are cached for
|
||||
* @brief This represents the result of calling htaccess; these are cached for
|
||||
* each request.
|
||||
*/
|
||||
struct htaccess_result {
|
||||
@ -688,7 +722,9 @@ typedef struct conn_state_t conn_state_t;
|
||||
/* This comes after we have defined the request_rec type */
|
||||
#include "apr_uri.h"
|
||||
|
||||
/** A structure that represents one process */
|
||||
/**
|
||||
* @brief A structure that represents one process
|
||||
*/
|
||||
struct process_rec {
|
||||
/** Global pool. Cleared upon normal exit */
|
||||
apr_pool_t *pool;
|
||||
@ -702,7 +738,9 @@ struct process_rec {
|
||||
const char *short_name;
|
||||
};
|
||||
|
||||
/** A structure that represents the current request */
|
||||
/**
|
||||
* @brief A structure that represents the current request
|
||||
*/
|
||||
struct request_rec {
|
||||
/** The pool associated with the request */
|
||||
apr_pool_t *pool;
|
||||
@ -953,13 +991,18 @@ struct request_rec {
|
||||
|
||||
/* @} */
|
||||
|
||||
/**
|
||||
* @brief Enumeration of connection keepalive options
|
||||
*/
|
||||
typedef enum {
|
||||
AP_CONN_UNKNOWN,
|
||||
AP_CONN_CLOSE,
|
||||
AP_CONN_KEEPALIVE
|
||||
} ap_conn_keepalive_e;
|
||||
|
||||
/** Structure to store things which are per connection */
|
||||
/**
|
||||
* @brief Structure to store things which are per connection
|
||||
*/
|
||||
struct conn_rec {
|
||||
/** Pool associated with this connection */
|
||||
apr_pool_t *pool;
|
||||
@ -1025,19 +1068,32 @@ struct conn_rec {
|
||||
int data_in_input_filters;
|
||||
};
|
||||
|
||||
/**
|
||||
* Enumeration of connection states
|
||||
*/
|
||||
typedef enum {
|
||||
CONN_STATE_CHECK_REQUEST_LINE_READABLE,
|
||||
CONN_STATE_READ_REQUEST_LINE,
|
||||
CONN_STATE_LINGER,
|
||||
} conn_state_e;
|
||||
|
||||
/**
|
||||
* @brief A structure to contain connection state information
|
||||
*/
|
||||
struct conn_state_t {
|
||||
/** APR_RING of expiration timeouts */
|
||||
APR_RING_ENTRY(conn_state_t) timeout_list;
|
||||
/** the expiration time of the next keepalive timeout */
|
||||
apr_time_t expiration_time;
|
||||
/** Current state of the connection */
|
||||
conn_state_e state;
|
||||
/** connection record this struct refers to */
|
||||
conn_rec *c;
|
||||
/** memory pool to allocate from */
|
||||
apr_pool_t *p;
|
||||
/** bucket allocator */
|
||||
apr_bucket_alloc_t *bucket_alloc;
|
||||
/** poll file decriptor information */
|
||||
apr_pollfd_t pfd;
|
||||
};
|
||||
|
||||
@ -1050,7 +1106,10 @@ struct conn_state_t {
|
||||
#define DEFAULT_VHOST_ADDR 0xfffffffful
|
||||
|
||||
|
||||
/** A structure to be used for Per-vhost config */
|
||||
/**
|
||||
* @struct server_addr_rec
|
||||
* @brief A structure to be used for Per-vhost config
|
||||
*/
|
||||
typedef struct server_addr_rec server_addr_rec;
|
||||
struct server_addr_rec {
|
||||
/** The next server in the list */
|
||||
@ -1059,11 +1118,13 @@ struct server_addr_rec {
|
||||
apr_sockaddr_t *host_addr;
|
||||
/** The bound port, for this server */
|
||||
apr_port_t host_port;
|
||||
/** The name given in <VirtualHost> */
|
||||
/** The name given in "<VirtualHost>" */
|
||||
char *virthost;
|
||||
};
|
||||
|
||||
/** A structure to store information for each virtual server */
|
||||
/**
|
||||
* @brief A structure to store information for each virtual server
|
||||
*/
|
||||
struct server_rec {
|
||||
/** The process this server is running in */
|
||||
process_rec *process;
|
||||
@ -1136,9 +1197,10 @@ struct server_rec {
|
||||
|
||||
typedef struct core_output_filter_ctx {
|
||||
apr_bucket_brigade *b;
|
||||
apr_pool_t *deferred_write_pool; /* subpool of c->pool used for resources
|
||||
/** subpool of c->pool used for resources
|
||||
* which may outlive the request
|
||||
*/
|
||||
apr_pool_t *deferred_write_pool;
|
||||
} core_output_filter_ctx_t;
|
||||
|
||||
typedef struct core_filter_ctx {
|
||||
@ -1188,6 +1250,7 @@ AP_DECLARE(char *) ap_ht_time(apr_pool_t *p, apr_time_t t, const char *fmt, int
|
||||
* @return A copy of the characters up to the first stop character
|
||||
*/
|
||||
AP_DECLARE(char *) ap_getword(apr_pool_t *p, const char **line, char stop);
|
||||
|
||||
/**
|
||||
* Get the characters until the first occurance of a specified character
|
||||
* @param p The pool to allocate memory from
|
||||
@ -1206,18 +1269,19 @@ AP_DECLARE(char *) ap_getword_nc(apr_pool_t *p, char **line, char stop);
|
||||
* @return The first word in the line
|
||||
*/
|
||||
AP_DECLARE(char *) ap_getword_white(apr_pool_t *p, const char **line);
|
||||
|
||||
/**
|
||||
* Get the first word from a given string. A word is defined as all characters
|
||||
* up to the first whitespace.
|
||||
* @param p The pool to allocate memory from
|
||||
* @param line The string to traverse
|
||||
* @return The first word in the line
|
||||
* @note The same as ap_getword_white(), except it doesn't use const char **.
|
||||
* @note The same as ap_getword_white(), except it doesn't use const char**
|
||||
*/
|
||||
AP_DECLARE(char *) ap_getword_white_nc(apr_pool_t *p, char **line);
|
||||
|
||||
/**
|
||||
* Get all characters from the first occurance of @a stop to the first '\0'
|
||||
* Get all characters from the first occurance of @a stop to the first "\0"
|
||||
* @param p The pool to allocate memory from
|
||||
* @param line The line to traverse
|
||||
* @param stop The character to start at
|
||||
@ -1226,8 +1290,9 @@ AP_DECLARE(char *) ap_getword_white_nc(apr_pool_t *p, char **line);
|
||||
*/
|
||||
AP_DECLARE(char *) ap_getword_nulls(apr_pool_t *p, const char **line,
|
||||
char stop);
|
||||
|
||||
/**
|
||||
* Get all characters from the first occurance of @a stop to the first '\0'
|
||||
* Get all characters from the first occurance of @a stop to the first "\0"
|
||||
* @param p The pool to allocate memory from
|
||||
* @param line The line to traverse
|
||||
* @param stop The character to start at
|
||||
@ -1244,6 +1309,7 @@ AP_DECLARE(char *) ap_getword_nulls_nc(apr_pool_t *p, char **line, char stop);
|
||||
* @return A copy of the string
|
||||
*/
|
||||
AP_DECLARE(char *) ap_getword_conf(apr_pool_t *p, const char **line);
|
||||
|
||||
/**
|
||||
* Get the second word in the string paying attention to quoting
|
||||
* @param p The pool to allocate from
|
||||
@ -1340,12 +1406,14 @@ AP_DECLARE(int) ap_is_url(const char *u);
|
||||
* @return 0 on success, non-zero otherwise
|
||||
*/
|
||||
AP_DECLARE(int) ap_unescape_url(char *url);
|
||||
|
||||
/**
|
||||
* Unescape a URL, but leaving %2f (slashes) escaped
|
||||
* @param url The url to unescape
|
||||
* @return 0 on success, non-zero otherwise
|
||||
*/
|
||||
AP_DECLARE(int) ap_unescape_url_keep2f(char *url);
|
||||
|
||||
/**
|
||||
* Convert all double slashes to single slashes
|
||||
* @param name The string to convert
|
||||
@ -1366,6 +1434,7 @@ AP_DECLARE(void) ap_getparents(char *name);
|
||||
* @return The converted URL
|
||||
*/
|
||||
AP_DECLARE(char *) ap_escape_path_segment(apr_pool_t *p, const char *s);
|
||||
|
||||
/**
|
||||
* convert an OS path to a URL in an OS dependant way.
|
||||
* @param p The pool to allocate from
|
||||
@ -1375,6 +1444,7 @@ AP_DECLARE(char *) ap_escape_path_segment(apr_pool_t *p, const char *s);
|
||||
* @return The converted URL
|
||||
*/
|
||||
AP_DECLARE(char *) ap_os_escape_path(apr_pool_t *p, const char *path, int partial);
|
||||
|
||||
/** @see ap_os_escape_path */
|
||||
#define ap_escape_uri(ppool,path) ap_os_escape_path(ppool,path,1)
|
||||
|
||||
@ -1398,7 +1468,7 @@ AP_DECLARE(char *) ap_escape_logitem(apr_pool_t *p, const char *str);
|
||||
* Escape a string for logging into the error log (without a pool)
|
||||
* @param dest The buffer to write to
|
||||
* @param source The string to escape
|
||||
* @param buflen The buffer size for the escaped string (including \0)
|
||||
* @param buflen The buffer size for the escaped string (including "\0")
|
||||
* @return The len of the escaped string (always < maxlen)
|
||||
*/
|
||||
AP_DECLARE(apr_size_t) ap_escape_errorlog_item(char *dest, const char *source,
|
||||
@ -1414,6 +1484,7 @@ AP_DECLARE(apr_size_t) ap_escape_errorlog_item(char *dest, const char *source,
|
||||
*/
|
||||
AP_DECLARE(char *) ap_construct_server(apr_pool_t *p, const char *hostname,
|
||||
apr_port_t port, const request_rec *r);
|
||||
|
||||
/**
|
||||
* Escape a shell command
|
||||
* @param p The pool to allocate from
|
||||
@ -1436,7 +1507,7 @@ AP_DECLARE(int) ap_count_dirs(const char *path);
|
||||
* @param d The location to copy to
|
||||
* @param s The location to copy from
|
||||
* @param n The number of directories to copy
|
||||
* @return value is the ever useful pointer to the trailing \0 of d
|
||||
* @return value is the ever useful pointer to the trailing "\0" of d
|
||||
* @note on platforms with drive letters, n = 0 returns the "/" root,
|
||||
* whereas n = 1 returns the "d:/" root. On all other platforms, n = 0
|
||||
* returns the empty string. */
|
||||
@ -1459,7 +1530,7 @@ AP_DECLARE(char *) ap_make_dirstr_parent(apr_pool_t *p, const char *s);
|
||||
* @param dir The directory name
|
||||
* @param f The filename
|
||||
* @return A copy of the full path
|
||||
* @tip Never consider using this function if you are dealing with filesystem
|
||||
* @note Never consider using this function if you are dealing with filesystem
|
||||
* names that need to remain canonical, unless you are merging an apr_dir_read
|
||||
* path and returned filename. Otherwise, the result is not canonical.
|
||||
*/
|
||||
@ -1469,7 +1540,7 @@ AP_DECLARE(char *) ap_make_full_path(apr_pool_t *a, const char *dir, const char
|
||||
* Test if the given path has an an absolute path.
|
||||
* @param p The pool to allocate from
|
||||
* @param dir The directory name
|
||||
* @tip The converse is not necessarily true, some OS's (Win32/OS2/Netware) have
|
||||
* @note The converse is not necessarily true, some OS's (Win32/OS2/Netware) have
|
||||
* multiple forms of absolute paths. This only reports if the path is absolute
|
||||
* in a canonical sense.
|
||||
*/
|
||||
@ -1491,6 +1562,7 @@ AP_DECLARE(int) ap_is_matchexp(const char *str);
|
||||
* @return 1 if the two strings match, 0 otherwise
|
||||
*/
|
||||
AP_DECLARE(int) ap_strcmp_match(const char *str, const char *expected);
|
||||
|
||||
/**
|
||||
* Determine if a string matches a patterm containing the wildcards '?' or '*',
|
||||
* ignoring case
|
||||
@ -1529,22 +1601,21 @@ AP_DECLARE(char *) ap_pbase64decode(apr_pool_t *p, const char *bufcoded);
|
||||
/**
|
||||
* Encode a string into memory allocated from a pool in base 64 format
|
||||
* @param p The pool to allocate from
|
||||
* @param strin The plaintext string
|
||||
* @param string The plaintext string
|
||||
* @return The encoded string
|
||||
*/
|
||||
AP_DECLARE(char *) ap_pbase64encode(apr_pool_t *p, char *string);
|
||||
|
||||
|
||||
/**
|
||||
* Compile a regular expression to be used later
|
||||
* @param p The pool to allocate from
|
||||
* @param pattern the regular expression to compile
|
||||
* @param cflags The bitwise or of one or more of the following:
|
||||
* @li #REG_EXTENDED - Use POSIX extended Regular Expressions
|
||||
* @li #REG_ICASE - Ignore case
|
||||
* @li #REG_NOSUB - Support for substring addressing of matches
|
||||
* @li REG_EXTENDED - Use POSIX extended Regular Expressions
|
||||
* @li REG_ICASE - Ignore case
|
||||
* @li REG_NOSUB - Support for substring addressing of matches
|
||||
* not required
|
||||
* @li #REG_NEWLINE - Match-any-character operators don't match new-line
|
||||
* @li REG_NEWLINE - Match-any-character operators don't match new-line
|
||||
* @return The compiled regular expression
|
||||
*/
|
||||
AP_DECLARE(ap_regex_t *) ap_pregcomp(apr_pool_t *p, const char *pattern,
|
||||
@ -1647,7 +1718,9 @@ char *ap_get_local_host(apr_pool_t *p);
|
||||
AP_DECLARE(void) ap_log_assert(const char *szExp, const char *szFile, int nLine)
|
||||
__attribute__((noreturn));
|
||||
|
||||
/** @internal */
|
||||
/**
|
||||
* @internal Internal Assert function
|
||||
*/
|
||||
#define ap_assert(exp) ((exp) ? (void)0 : ap_log_assert(#exp,__FILE__,__LINE__))
|
||||
|
||||
/**
|
||||
@ -1657,7 +1730,6 @@ AP_DECLARE(void) ap_log_assert(const char *szExp, const char *szFile, int nLine)
|
||||
* Use AP_DEBUG_ASSERT() if the condition should only be checked when AP_DEBUG
|
||||
* is defined.
|
||||
*/
|
||||
|
||||
#ifdef AP_DEBUG
|
||||
#define AP_DEBUG_ASSERT(exp) ap_assert(exp)
|
||||
#else
|
||||
@ -1665,7 +1737,7 @@ AP_DECLARE(void) ap_log_assert(const char *szExp, const char *szFile, int nLine)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @defgroup stopsignal flags which indicate places where the sever should stop for debugging.
|
||||
* @defgroup stopsignal Flags which indicate places where the sever should stop for debugging.
|
||||
* @{
|
||||
* A set of flags which indicate places where the server should raise(SIGSTOP).
|
||||
* This is useful for debugging, because you can then attach to that process
|
||||
@ -1756,3 +1828,8 @@ AP_DECLARE(const char *) ap_strstr_c(const char *s, const char *c);
|
||||
#endif
|
||||
|
||||
#endif /* !APACHE_HTTPD_H */
|
||||
|
||||
/** @} //APACHE Daemon */
|
||||
/** @} //APACHE Core */
|
||||
/** @} //APACHE super group */
|
||||
|
||||
|
@ -25,6 +25,15 @@
|
||||
* does not belong in src/os/unix
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file mpm_common.h
|
||||
* @brief Multi-Processing Modules functions
|
||||
*
|
||||
* @defgroup APACHE_MPM Multi-Processing Modules
|
||||
* @ingroup APACHE
|
||||
* @{
|
||||
*/
|
||||
|
||||
#ifndef APACHE_MPM_COMMON_H
|
||||
#define APACHE_MPM_COMMON_H
|
||||
|
||||
@ -40,10 +49,6 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @package Multi-Processing Modules functions
|
||||
*/
|
||||
|
||||
/* The maximum length of the queue of pending connections, as defined
|
||||
* by listen(2). Under some systems, it should be increased if you
|
||||
* are experiencing a heavy TCP SYN flood attack.
|
||||
@ -348,3 +353,4 @@ AP_DECLARE_HOOK(int,monitor,(apr_pool_t *p))
|
||||
#endif
|
||||
|
||||
#endif /* !APACHE_MPM_COMMON_H */
|
||||
/** @} */
|
||||
|
@ -14,6 +14,11 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file scoreboard.h
|
||||
* @brief Apache scoreboard library
|
||||
*/
|
||||
|
||||
#ifndef APACHE_SCOREBOARD_H
|
||||
#define APACHE_SCOREBOARD_H
|
||||
|
||||
|
@ -14,19 +14,26 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file util_cfgtree.h
|
||||
* @brief Config Tree Package
|
||||
*
|
||||
* @defgroup APACHE_CORE_CONFIG_TREE Config Tree Package
|
||||
* @ingroup APACHE_CORE_CONFIG
|
||||
* @{
|
||||
*/
|
||||
|
||||
#ifndef AP_CONFTREE_H
|
||||
#define AP_CONFTREE_H
|
||||
|
||||
#include "ap_config.h"
|
||||
|
||||
/**
|
||||
* @package Config Tree Package
|
||||
*/
|
||||
|
||||
typedef struct ap_directive_t ap_directive_t;
|
||||
|
||||
/**
|
||||
* Structure used to build the config tree. The config tree only stores
|
||||
* @brief Structure used to build the config tree.
|
||||
*
|
||||
* The config tree only stores
|
||||
* the directives that will be active in the running server. Directives
|
||||
* that contain other directions, such as <Directory ...> cause a sub-level
|
||||
* to be created, where the included directives are stored. The closing
|
||||
@ -77,3 +84,4 @@ ap_directive_t *ap_add_node(ap_directive_t **parent, ap_directive_t *current,
|
||||
ap_directive_t *toadd, int child);
|
||||
|
||||
#endif
|
||||
/** @} */
|
||||
|
@ -14,6 +14,15 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file util_charset.h
|
||||
* @brief charset conversion
|
||||
*
|
||||
* @defgroup APACHE_CORE_CHARSET Charset Conversion
|
||||
* @ingroup APACHE_CORE
|
||||
* @{
|
||||
*/
|
||||
|
||||
#ifndef APACHE_UTIL_CHARSET_H
|
||||
#define APACHE_UTIL_CHARSET_H
|
||||
|
||||
@ -21,9 +30,6 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @package charset conversion
|
||||
*/
|
||||
#include "apr.h"
|
||||
|
||||
#if APR_CHARSET_EBCDIC
|
||||
@ -46,3 +52,4 @@ extern apr_xlate_t *ap_hdrs_from_ascii;
|
||||
#endif
|
||||
|
||||
#endif /* !APACHE_UTIL_CHARSET_H */
|
||||
/** @} */
|
||||
|
@ -14,6 +14,15 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file util_ebcdic.h
|
||||
* @brief Utilities for EBCDIC conversion
|
||||
*
|
||||
* @defgroup APACHE_CORE_EBCDIC Utilities for EBCDIC conversion
|
||||
* @ingroup APACHE_CORE
|
||||
* @{
|
||||
*/
|
||||
|
||||
#ifndef APACHE_UTIL_EBCDIC_H
|
||||
#define APACHE_UTIL_EBCDIC_H
|
||||
|
||||
@ -26,10 +35,6 @@ extern "C" {
|
||||
#include "httpd.h"
|
||||
#include "util_charset.h"
|
||||
|
||||
/**
|
||||
* @package Utilities for EBCDIC conversion
|
||||
*/
|
||||
|
||||
#if APR_CHARSET_EBCDIC
|
||||
|
||||
/**
|
||||
@ -76,3 +81,4 @@ int ap_rvputs_proto_in_ascii(request_rec *r, ...);
|
||||
#endif
|
||||
|
||||
#endif /* !APACHE_UTIL_EBCDIC_H */
|
||||
/** @} */
|
||||
|
@ -14,6 +14,11 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file util_filter.h
|
||||
* @brief Apache filter library
|
||||
*/
|
||||
|
||||
#ifndef AP_FILTER_H
|
||||
#define AP_FILTER_H
|
||||
|
||||
@ -30,11 +35,6 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @file util_filter.h
|
||||
* @brief Apache filter library
|
||||
*/
|
||||
|
||||
/** Returned by the bottom-most filter if no data was written.
|
||||
* @see ap_pass_brigade(). */
|
||||
#define AP_NOBODY_WROTE -1
|
||||
@ -45,7 +45,7 @@ extern "C" {
|
||||
#define AP_FILTER_ERROR -3
|
||||
|
||||
/**
|
||||
* input filtering modes
|
||||
* @brief input filtering modes
|
||||
*/
|
||||
typedef enum {
|
||||
/** The filter should return at most readbytes data. */
|
||||
@ -72,7 +72,8 @@ typedef enum {
|
||||
} ap_input_mode_t;
|
||||
|
||||
/**
|
||||
* @defgroup filter FILTER CHAIN
|
||||
* @defgroup APACHE_CORE_FILTER Filter Chain
|
||||
* @ingroup APACHE_CORE
|
||||
*
|
||||
* Filters operate using a "chaining" mechanism. The filters are chained
|
||||
* together into a sequence. When output is generated, it is passed through
|
||||
@ -201,7 +202,7 @@ typedef struct ap_filter_rec_t ap_filter_rec_t;
|
||||
typedef struct ap_filter_provider_t ap_filter_provider_t;
|
||||
|
||||
/**
|
||||
* This structure is used for recording information about the
|
||||
* @brief This structure is used for recording information about the
|
||||
* registered filters. It associates a name with the filter's callback
|
||||
* and filter type.
|
||||
*
|
||||
@ -248,7 +249,9 @@ struct ap_filter_rec_t {
|
||||
};
|
||||
|
||||
/**
|
||||
* The representation of a filter chain. Each request has a list
|
||||
* @brief The representation of a filter chain.
|
||||
*
|
||||
* Each request has a list
|
||||
* of these structures which are called in turn to filter the data. Sub
|
||||
* requests get an exact copy of the main requests filter chain.
|
||||
*/
|
||||
|
@ -14,6 +14,11 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file util_ldap.h
|
||||
* @brief Apache LDAP library
|
||||
*/
|
||||
|
||||
#ifndef UTIL_LDAP_H
|
||||
#define UTIL_LDAP_H
|
||||
|
||||
|
@ -14,6 +14,15 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file util_md5.h
|
||||
* @brief Apache MD5 library
|
||||
*
|
||||
* @defgroup APACHE_CORE_MD5 MD5 Package Library
|
||||
* @ingroup APACHE_CORE
|
||||
* @{
|
||||
*/
|
||||
|
||||
#ifndef APACHE_UTIL_MD5_H
|
||||
#define APACHE_UTIL_MD5_H
|
||||
|
||||
@ -21,10 +30,6 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @package Apache MD5 library
|
||||
*/
|
||||
|
||||
#include "apr_md5.h"
|
||||
|
||||
/**
|
||||
@ -68,3 +73,4 @@ AP_DECLARE(char *) ap_md5digest(apr_pool_t *p, apr_file_t *infile);
|
||||
#endif
|
||||
|
||||
#endif /* !APACHE_UTIL_MD5_H */
|
||||
/** @} */
|
||||
|
@ -14,6 +14,15 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file util_script.h
|
||||
* @brief Apache script tools
|
||||
*
|
||||
* @defgroup APACHE_CORE_SCRIPT Script Tools
|
||||
* @ingroup APACHE_CORE
|
||||
* @{
|
||||
*/
|
||||
|
||||
#ifndef APACHE_UTIL_SCRIPT_H
|
||||
#define APACHE_UTIL_SCRIPT_H
|
||||
|
||||
@ -23,10 +32,6 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @package Apache script tools
|
||||
*/
|
||||
|
||||
#ifndef APACHE_ARG_MAX
|
||||
#ifdef _POSIX_ARG_MAX
|
||||
#define APACHE_ARG_MAX _POSIX_ARG_MAX
|
||||
@ -140,3 +145,4 @@ AP_DECLARE(int) ap_scan_script_header_err_core(request_rec *r, char *buffer,
|
||||
#endif
|
||||
|
||||
#endif /* !APACHE_UTIL_SCRIPT_H */
|
||||
/** @} */
|
||||
|
@ -14,6 +14,15 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file util_time.h
|
||||
* @brief Apache date-time handling functions
|
||||
*
|
||||
* @defgroup APACHE_CORE_TIME Date-time handling functions
|
||||
* @ingroup APACHE_CORE
|
||||
* @{
|
||||
*/
|
||||
|
||||
#ifndef APACHE_UTIL_TIME_H
|
||||
#define APACHE_UTIL_TIME_H
|
||||
|
||||
@ -25,10 +34,6 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @package Apache date-time handling functions
|
||||
*/
|
||||
|
||||
/* Maximum delta from the current time, in seconds, for a past time
|
||||
* to qualify as "recent" for use in the ap_explode_recent_*() functions:
|
||||
* (Must be a power of two minus one!)
|
||||
@ -83,3 +88,4 @@ AP_DECLARE(apr_status_t) ap_recent_rfc822_date(char *date_str, apr_time_t t);
|
||||
#endif
|
||||
|
||||
#endif /* !APACHE_UTIL_TIME_H */
|
||||
/** @} */
|
||||
|
@ -14,6 +14,15 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file util_xml.h
|
||||
* @brief Apache XML library
|
||||
*
|
||||
* @defgroup APACHE_CORE_XML XML Library
|
||||
* @ingroup APACHE_CORE
|
||||
* @{
|
||||
*/
|
||||
|
||||
#ifndef UTIL_XML_H
|
||||
#define UTIL_XML_H
|
||||
|
||||
@ -25,10 +34,6 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @package Apache XML library
|
||||
*/
|
||||
|
||||
/**
|
||||
* Get XML post data and parse it
|
||||
* @param r The current request
|
||||
@ -44,3 +49,4 @@ AP_DECLARE(int) ap_xml_parse_input(request_rec *r, apr_xml_doc **pdoc);
|
||||
#endif
|
||||
|
||||
#endif /* UTIL_XML_H */
|
||||
/** @} */
|
||||
|
@ -14,6 +14,14 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file mod_auth.h
|
||||
* @brief uthentication Extension Module for Apache
|
||||
*
|
||||
* @defgroup MOD_AUTH mod_auth
|
||||
* @ingroup APACHE_MODS
|
||||
*/
|
||||
|
||||
#ifndef APACHE_MOD_AUTH_H
|
||||
#define APACHE_MOD_AUTH_H
|
||||
|
||||
|
@ -14,6 +14,15 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file mod_isapi.h
|
||||
* @brief ISAPI module extension to Apache
|
||||
*
|
||||
* @defgroup MOD_ISAPI mod_isapi
|
||||
* @ingroup APACHE_MODS
|
||||
* @{
|
||||
*/
|
||||
|
||||
#ifndef MOD_ISAPI_H
|
||||
#define MOD_ISAPI_H
|
||||
|
||||
@ -258,3 +267,5 @@ typedef int (APR_THREAD_FUNC *PFN_TERMINATEEXTENSION)(apr_uint32_t flags);
|
||||
#endif
|
||||
|
||||
#endif /* !MOD_ISAPI_H */
|
||||
/** @} */
|
||||
|
||||
|
21
modules/cache/cache_cache.h
vendored
21
modules/cache/cache_cache.h
vendored
@ -14,6 +14,15 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file cache_cache.h
|
||||
* @brief Cache Cache Functions
|
||||
*
|
||||
* @defgroup Cache_cache Cache Functions
|
||||
* @ingroup MOD_CACHE
|
||||
* @{
|
||||
*/
|
||||
|
||||
#ifndef CACHE_CACHE_H
|
||||
#define CACHE_CACHE_H
|
||||
|
||||
@ -23,16 +32,6 @@ extern "C" {
|
||||
|
||||
#include "mod_cache.h"
|
||||
|
||||
/**
|
||||
* @file cache_hash.h
|
||||
* @brief Cache Cache Functions
|
||||
*/
|
||||
|
||||
/**
|
||||
* @defgroup Cache_cache Cache Functions
|
||||
* @ingroup CACHE
|
||||
* @{
|
||||
*/
|
||||
/** ADT for the cache */
|
||||
typedef struct cache_cache_t cache_cache_t;
|
||||
|
||||
@ -104,9 +103,9 @@ CACHE_DECLARE(void *)cache_pop(cache_cache_t* c);
|
||||
* @param entry the actual entry (from a find)
|
||||
*/
|
||||
CACHE_DECLARE(apr_status_t) cache_remove(cache_cache_t* c, void *entry);
|
||||
/** @} */
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* !CACHE_CACHE_H */
|
||||
/** @} */
|
||||
|
20
modules/cache/cache_hash.h
vendored
20
modules/cache/cache_hash.h
vendored
@ -14,6 +14,15 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file cache_hash.h
|
||||
* @brief Cache Hash Tables
|
||||
*
|
||||
* @defgroup Cache_Hash Hash Tables
|
||||
* @ingroup MOD_CACHE
|
||||
* @{
|
||||
*/
|
||||
|
||||
#ifndef CACHE_HASH_H
|
||||
#define CACHE_HASH_H
|
||||
|
||||
@ -23,17 +32,6 @@ extern "C" {
|
||||
|
||||
#include "mod_cache.h"
|
||||
|
||||
/**
|
||||
* @file cache_hash.h
|
||||
* @brief Cache Hash Tables
|
||||
*/
|
||||
|
||||
/**
|
||||
* @defgroup Cache_Hash Hash Tables
|
||||
* @ingroup CACHE
|
||||
* @{
|
||||
*/
|
||||
|
||||
/**
|
||||
* When passing a key to cache_hash_set or cache_hash_get, this value can be
|
||||
* passed to indicate a string-valued key, and have cache_hash compute the
|
||||
|
10
modules/cache/cache_pqueue.h
vendored
10
modules/cache/cache_pqueue.h
vendored
@ -14,6 +14,15 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file cache_pqueue.h
|
||||
* @brief Cache Priority Queue function declarations
|
||||
*
|
||||
* @defgroup MOD_CACHE_QUEUE Priority Queue
|
||||
* @ingroup MOD_CACHE
|
||||
* @{
|
||||
*/
|
||||
|
||||
#ifndef CACHE_PQUEUE_H
|
||||
#define CACHE_PQUEUE_H
|
||||
|
||||
@ -158,3 +167,4 @@ int cache_pq_is_valid(cache_pqueue_t *q);
|
||||
#endif
|
||||
|
||||
#endif /* !CACHE_PQUEUE_H */
|
||||
/** @} */
|
||||
|
14
modules/cache/mod_cache.h
vendored
14
modules/cache/mod_cache.h
vendored
@ -14,13 +14,18 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file mod_cache.h
|
||||
* @brief Main include file for the Apache Transparent Cache
|
||||
*
|
||||
* @defgroup MOD_CACHE mod_cache
|
||||
* @ingroup APACHE_MODS
|
||||
* @{
|
||||
*/
|
||||
|
||||
#ifndef MOD_CACHE_H
|
||||
#define MOD_CACHE_H
|
||||
|
||||
/*
|
||||
* Main include file for the Apache Transparent Cache
|
||||
*/
|
||||
|
||||
#define CORE_PRIVATE
|
||||
|
||||
#include "apr_hooks.h"
|
||||
@ -319,3 +324,4 @@ APR_DECLARE_OPTIONAL_FN(apr_status_t,
|
||||
|
||||
|
||||
#endif /*MOD_CACHE_H*/
|
||||
/** @} */
|
||||
|
@ -14,9 +14,13 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/*
|
||||
** Declarations for the filesystem repository implementation
|
||||
*/
|
||||
/**
|
||||
* @file repos.h
|
||||
* @brief Declarations for the filesystem repository implementation
|
||||
*
|
||||
* @addtogroup MOD_DAV
|
||||
* @{
|
||||
*/
|
||||
|
||||
#ifndef _DAV_FS_REPOS_H_
|
||||
#define _DAV_FS_REPOS_H_
|
||||
@ -76,3 +80,5 @@ void dav_fs_insert_all_liveprops(request_rec *r, const dav_resource *resource,
|
||||
void dav_fs_register(apr_pool_t *p);
|
||||
|
||||
#endif /* _DAV_FS_REPOS_H_ */
|
||||
/** @} */
|
||||
|
||||
|
@ -14,9 +14,13 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/*
|
||||
** Declarations for the generic lock implementation
|
||||
*/
|
||||
/**
|
||||
* @file locks.h
|
||||
* @brief Declarations for the generic lock implementation
|
||||
*
|
||||
* @addtogroup MOD_DAV
|
||||
* @{
|
||||
*/
|
||||
|
||||
#ifndef _DAV_LOCK_LOCKS_H_
|
||||
#define _DAV_LOCK_LOCKS_H_
|
||||
@ -25,3 +29,5 @@
|
||||
const char *dav_generic_get_lockdb_path(const request_rec *r);
|
||||
|
||||
#endif /* _DAV_LOCK_LOCKS_H_ */
|
||||
/** @} */
|
||||
|
||||
|
@ -14,9 +14,14 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/*
|
||||
** DAV extension module for Apache 2.0.*
|
||||
*/
|
||||
/**
|
||||
* @file mod_dav.h
|
||||
* @brief DAV extension module for Apache 2.0.*
|
||||
*
|
||||
* @defgroup MOD_DAV mod_dav
|
||||
* @ingroup APACHE_MODS
|
||||
* @{
|
||||
*/
|
||||
|
||||
#ifndef _MOD_DAV_H_
|
||||
#define _MOD_DAV_H_
|
||||
@ -2418,3 +2423,5 @@ typedef struct {
|
||||
#endif
|
||||
|
||||
#endif /* _MOD_DAV_H_ */
|
||||
/** @} */
|
||||
|
||||
|
@ -15,11 +15,20 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/* Overview of what this is and does:
|
||||
/**
|
||||
* @file mod_dbd.h
|
||||
* @brief Database Acces Extension Module for Apache
|
||||
*
|
||||
* Overview of what this is and does:
|
||||
* http://www.apache.org/~niq/dbd.html
|
||||
* or
|
||||
* http://apache.webthing.com/database/
|
||||
*
|
||||
* @defgroup MOD_DBD mod_dbd
|
||||
* @ingroup APACHE_MODS
|
||||
* @{
|
||||
*/
|
||||
|
||||
#ifndef DBD_H
|
||||
#define DBD_H
|
||||
|
||||
@ -59,3 +68,5 @@ APR_DECLARE_OPTIONAL_FN(ap_dbd_t*, ap_dbd_acquire, (request_rec*));
|
||||
APR_DECLARE_OPTIONAL_FN(void, ap_dbd_prepare, (server_rec*, const char*, const char*));
|
||||
|
||||
#endif
|
||||
/** @} */
|
||||
|
||||
|
@ -42,8 +42,9 @@
|
||||
module AP_MODULE_DECLARE_DATA filter_module;
|
||||
|
||||
/**
|
||||
* ap_filter_provider_t is a filter provider, as defined and implemented
|
||||
* by mod_filter. The struct is a linked list, with dispatch criteria
|
||||
* @brief is a filter provider, as defined and implemented by mod_filter.
|
||||
*
|
||||
* The struct is a linked list, with dispatch criteria
|
||||
* defined for each filter. The provider implementation itself is a
|
||||
* (2.0-compatible) ap_filter_rec_t* frec.
|
||||
*/
|
||||
|
@ -14,6 +14,15 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file mod_include.h
|
||||
* @brief Server Side Include Filter Extension Module for Apache
|
||||
*
|
||||
* @defgroup MOD_INCLUDE mod_include
|
||||
* @ingroup APACHE_MODS
|
||||
* @{
|
||||
*/
|
||||
|
||||
#ifndef _MOD_INCLUDE_H
|
||||
#define _MOD_INCLUDE_H 1
|
||||
|
||||
@ -104,3 +113,4 @@ APR_DECLARE_OPTIONAL_FN(void, ap_register_include_handler,
|
||||
(char *tag, include_handler_fn_t *func));
|
||||
|
||||
#endif /* MOD_INCLUDE */
|
||||
/** @} */
|
||||
|
@ -14,6 +14,15 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file mod_cgi.h
|
||||
* @brief CGI Script Execution Extension Module for Apache
|
||||
*
|
||||
* @defgroup MOD_CGI mod_cgi
|
||||
* @ingroup APACHE_MODS
|
||||
* @{
|
||||
*/
|
||||
|
||||
#ifndef _MOD_CGI_H
|
||||
#define _MOD_CGI_H 1
|
||||
|
||||
@ -57,3 +66,5 @@ APR_DECLARE_OPTIONAL_FN(apr_status_t, ap_cgi_build_command,
|
||||
cgi_exec_info_t *e_info));
|
||||
|
||||
#endif /* _MOD_CGI_H */
|
||||
/** @} */
|
||||
|
||||
|
@ -14,6 +14,15 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file mod_status.h
|
||||
* @brief Status Report Extension Module to Apache
|
||||
*
|
||||
* @defgroup MOD_STATUS mod_status
|
||||
* @ingroup APACHE_MODS
|
||||
* @{
|
||||
*/
|
||||
|
||||
#ifndef MOD_STATUS_H
|
||||
#define MOD_STATUS_H
|
||||
|
||||
@ -52,3 +61,4 @@
|
||||
APR_DECLARE_EXTERNAL_HOOK(ap, STATUS, int, status_hook,
|
||||
(request_rec *r, int flags))
|
||||
#endif
|
||||
/** @} */
|
||||
|
@ -14,6 +14,15 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file mod_suexec.h
|
||||
* @brief SuExec Extension Module for Apache
|
||||
*
|
||||
* @defgroup MOD_SUEXEC mod_suexec
|
||||
* @ingroup APACHE_MODS
|
||||
* @{
|
||||
*/
|
||||
|
||||
#include "unixd.h"
|
||||
|
||||
typedef struct {
|
||||
@ -21,3 +30,4 @@ typedef struct {
|
||||
int active;
|
||||
} suexec_config_t;
|
||||
|
||||
/** @}*/
|
||||
|
@ -14,6 +14,16 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
|
||||
/**
|
||||
* @file mod_core.h
|
||||
* @brief mod_core private header file
|
||||
*
|
||||
* @defgroup MOD_CORE mod_core
|
||||
* @ingroup APACHE_MODS
|
||||
* @{
|
||||
*/
|
||||
|
||||
#ifndef MOD_CORE_H
|
||||
#define MOD_CORE_H
|
||||
|
||||
@ -28,10 +38,6 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @package mod_core private header file
|
||||
*/
|
||||
|
||||
/* Handles for core filters */
|
||||
extern AP_DECLARE_DATA ap_filter_rec_t *ap_http_input_filter_handle;
|
||||
extern AP_DECLARE_DATA ap_filter_rec_t *ap_http_header_filter_handle;
|
||||
@ -81,3 +87,4 @@ AP_DECLARE(int) ap_send_http_options(request_rec *r);
|
||||
#endif
|
||||
|
||||
#endif /* !MOD_CORE_H */
|
||||
/** @} */
|
||||
|
@ -17,8 +17,9 @@
|
||||
#ifndef APU_LDAP_CACHE_H
|
||||
#define APU_LDAP_CACHE_H
|
||||
|
||||
/*
|
||||
* This switches LDAP support on or off.
|
||||
/**
|
||||
* @file util_ldap_cache.h
|
||||
* @brief This switches LDAP support on or off.
|
||||
*/
|
||||
|
||||
/* this whole thing disappears if LDAP is not enabled */
|
||||
|
@ -14,6 +14,15 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file mod_log_config.h
|
||||
* @brief Logging Configuration Extension Module for Apache
|
||||
*
|
||||
* @defgroup MOD_LOG_CONFIG mod_log_config
|
||||
* @ingroup APACHE_MODS
|
||||
* @{
|
||||
*/
|
||||
|
||||
#include "apr_optional.h"
|
||||
#include "httpd.h"
|
||||
#include "scoreboard.h"
|
||||
@ -61,3 +70,5 @@ APR_DECLARE_OPTIONAL_FN(ap_log_writer_init*, ap_log_set_writer_init,(ap_log_writ
|
||||
APR_DECLARE_OPTIONAL_FN(ap_log_writer*, ap_log_set_writer, (ap_log_writer* func));
|
||||
|
||||
#endif /* MOD_LOG_CONFIG */
|
||||
/** @} */
|
||||
|
||||
|
@ -14,6 +14,15 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file mod_rewrite.h
|
||||
* @brief Rewrite Extension module for Apache
|
||||
*
|
||||
* @defgroup MOD_REWRITE mod_rewrite
|
||||
* @ingroup APACHE_MODS
|
||||
* @{
|
||||
*/
|
||||
|
||||
#ifndef MOD_REWRITE_H
|
||||
#define MOD_REWRITE_H 1
|
||||
|
||||
@ -28,3 +37,4 @@ APR_DECLARE_OPTIONAL_FN(void, ap_register_rewrite_mapfunc,
|
||||
(char *name, rewrite_mapfunc_t *func));
|
||||
|
||||
#endif /* MOD_REWRITE_H */
|
||||
/** @} */
|
||||
|
@ -14,6 +14,15 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file mod_so.h
|
||||
* @brief Shared Object Loader Extension Module for Apache
|
||||
*
|
||||
* @defgroup MOD_SO mod_so
|
||||
* @ingroup APACHE_MODS
|
||||
* @{
|
||||
*/
|
||||
|
||||
#ifndef MOD_SO_H
|
||||
#define MOD_SO_H 1
|
||||
|
||||
@ -25,4 +34,5 @@ APR_DECLARE_OPTIONAL_FN(module *, ap_find_loaded_module_symbol,
|
||||
(server_rec *s, const char *modname));
|
||||
|
||||
#endif /* MOD_SO_H */
|
||||
/** @} */
|
||||
|
||||
|
@ -14,6 +14,15 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file ajp.h
|
||||
* @brief Apache Jserv Protocol
|
||||
*
|
||||
* @defgroup AJP_defines AJP definitions
|
||||
* @ingroup MOD_PROXY
|
||||
* @{
|
||||
*/
|
||||
|
||||
#ifndef AJP_H
|
||||
#define AJP_H
|
||||
|
||||
@ -125,10 +134,6 @@ struct ajp_msg
|
||||
int server_side;
|
||||
};
|
||||
|
||||
/**
|
||||
* @defgroup AJP_defines AJP definitions
|
||||
* @{
|
||||
*/
|
||||
/**
|
||||
* Signature for the messages sent from Apache to tomcat
|
||||
*/
|
||||
@ -161,6 +166,7 @@ struct ajp_msg
|
||||
|
||||
/**
|
||||
* @defgroup AJP_api AJP API functions
|
||||
* @ingroup MOD_PROXY
|
||||
* @{
|
||||
*/
|
||||
/**
|
||||
|
@ -13,6 +13,15 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file ajp_header.h
|
||||
* @brief AJP defines
|
||||
*
|
||||
* @addtogroup AJP_defines
|
||||
* @{
|
||||
*/
|
||||
|
||||
#ifndef AJP_HEADER_H
|
||||
#define AJP_HEADER_H
|
||||
|
||||
@ -163,3 +172,4 @@
|
||||
#define SC_RES_HEADERS_NUM 11
|
||||
|
||||
#endif /* AJP_HEADER_H */
|
||||
/** @} */
|
||||
|
@ -17,8 +17,13 @@
|
||||
#ifndef MOD_PROXY_H
|
||||
#define MOD_PROXY_H
|
||||
|
||||
/*
|
||||
* Main include file for the Apache proxy
|
||||
/**
|
||||
* @file mod_proxy.h
|
||||
* @brief Proxy Extension Module for Apache
|
||||
*
|
||||
* @defgroup MOD_PROXY mod_proxy
|
||||
* @ingroup APACHE_MODS
|
||||
* @{
|
||||
*/
|
||||
|
||||
/*
|
||||
@ -696,3 +701,4 @@ extern module PROXY_DECLARE_DATA proxy_module;
|
||||
extern int PROXY_DECLARE_DATA proxy_lb_workers;
|
||||
|
||||
#endif /*MOD_PROXY_H*/
|
||||
/** @} */
|
||||
|
@ -14,20 +14,29 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file mod_ssl.h
|
||||
* @brief SSL extension module for Apache
|
||||
*
|
||||
* @defgroup MOD_SSL mod_ssl
|
||||
* @ingroup APACHE_MODS
|
||||
* @{
|
||||
*/
|
||||
|
||||
#ifndef __MOD_SSL_H__
|
||||
#define __MOD_SSL_H__
|
||||
|
||||
#include "httpd.h"
|
||||
#include "apr_optional.h"
|
||||
|
||||
/* The ssl_var_lookup() optional function retrieves SSL environment
|
||||
/** The ssl_var_lookup() optional function retrieves SSL environment
|
||||
* variables. */
|
||||
APR_DECLARE_OPTIONAL_FN(char *, ssl_var_lookup,
|
||||
(apr_pool_t *, server_rec *,
|
||||
conn_rec *, request_rec *,
|
||||
char *));
|
||||
|
||||
/* The ssl_ext_lookup() optional function retrieves the value of a SSL
|
||||
/** The ssl_ext_lookup() optional function retrieves the value of a SSL
|
||||
* certificate X.509 extension. The client certificate is used if
|
||||
* peer is non-zero; the server certificate is used otherwise. The
|
||||
* oidnum parameter specifies the numeric OID (e.g. "1.2.3.4") of the
|
||||
@ -37,11 +46,11 @@ APR_DECLARE_OPTIONAL_FN(const char *, ssl_ext_lookup,
|
||||
(apr_pool_t *p, conn_rec *c, int peer,
|
||||
const char *oidnum));
|
||||
|
||||
/* An optional function which returns non-zero if the given connection
|
||||
/** An optional function which returns non-zero if the given connection
|
||||
* is using SSL/TLS. */
|
||||
APR_DECLARE_OPTIONAL_FN(int, ssl_is_https, (conn_rec *));
|
||||
|
||||
/* The ssl_proxy_enable() and ssl_engine_disable() optional functions
|
||||
/** The ssl_proxy_enable() and ssl_engine_disable() optional functions
|
||||
* are used by mod_proxy to enable use of SSL for outgoing
|
||||
* connections. */
|
||||
|
||||
@ -52,3 +61,4 @@ APR_DECLARE_OPTIONAL_FN(int, ssl_engine_disable, (conn_rec *));
|
||||
APR_DECLARE_OPTIONAL_FN(apr_array_header_t *, ssl_extlist_by_oid, (request_rec *r, const char *oidstr));
|
||||
|
||||
#endif /* __MOD_SSL_H__ */
|
||||
/** @} */
|
||||
|
@ -14,16 +14,23 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/* _ _
|
||||
* _ __ ___ ___ __| | ___ ___| | mod_ssl
|
||||
* | '_ ` _ \ / _ \ / _` | / __/ __| | Apache Interface to OpenSSL
|
||||
* | | | | | | (_) | (_| | \__ \__ \ |
|
||||
* |_| |_| |_|\___/ \__,_|___|___/___/_|
|
||||
* |_____|
|
||||
* ssl_expr.h
|
||||
* Expression Handling (Header)
|
||||
/**
|
||||
* @verbatim
|
||||
_ _
|
||||
_ __ ___ ___ __| | ___ ___| | mod_ssl
|
||||
| '_ ` _ \ / _ \ / _` | / __/ __| | Apache Interface to OpenSSL
|
||||
| | | | | | (_) | (_| | \__ \__ \ |
|
||||
|_| |_| |_|\___/ \__,_|___|___/___/_|
|
||||
|_____|
|
||||
@endverbatim
|
||||
* @file ssl_expr.h
|
||||
* @brief Expression Handling (Header).
|
||||
* ``May all your PUSHes be POPed.''
|
||||
*
|
||||
* @defgroup MOD_SSL_EXPR Expression Handling
|
||||
* @ingroup MOD_SSL
|
||||
* @{
|
||||
*/
|
||||
/* ``May all your PUSHes be POPed.'' */
|
||||
|
||||
#ifndef __SSL_EXPR_H__
|
||||
#define __SSL_EXPR_H__
|
||||
@ -102,3 +109,5 @@ extern ssl_expr *ssl_expr_make(ssl_expr_node_op, void *, void *);
|
||||
extern BOOL ssl_expr_eval(request_rec *, ssl_expr *);
|
||||
|
||||
#endif /* __SSL_EXPR_H__ */
|
||||
/** @} */
|
||||
|
||||
|
@ -17,11 +17,16 @@
|
||||
#ifndef SSL_PRIVATE_H
|
||||
#define SSL_PRIVATE_H
|
||||
|
||||
/*
|
||||
* Internal interfaces private to mod_ssl.
|
||||
/**
|
||||
* @file ssl_private.h
|
||||
* @brief Internal interfaces private to mod_ssl.
|
||||
*
|
||||
* @defgroup MOD_SSL_PRIVATE Private
|
||||
* @ingroup MOD_SSL
|
||||
* @{
|
||||
*/
|
||||
|
||||
/* Apache headers */
|
||||
/** Apache headers */
|
||||
#include "httpd.h"
|
||||
#include "http_config.h"
|
||||
#include "http_core.h"
|
||||
@ -50,22 +55,22 @@
|
||||
|
||||
#define MOD_SSL_VERSION AP_SERVER_BASEREVISION
|
||||
|
||||
/* mod_ssl headers */
|
||||
/** mod_ssl headers */
|
||||
#include "ssl_toolkit_compat.h"
|
||||
#include "ssl_expr.h"
|
||||
#include "ssl_util_ssl.h"
|
||||
|
||||
/* The #ifdef macros are only defined AFTER including the above
|
||||
/** The #ifdef macros are only defined AFTER including the above
|
||||
* therefore we cannot include these system files at the top :-(
|
||||
*/
|
||||
#if APR_HAVE_SYS_TIME_H
|
||||
#include <sys/time.h>
|
||||
#endif
|
||||
#if APR_HAVE_UNISTD_H
|
||||
#include <unistd.h> /* needed for STDIN_FILENO et.al., at least on FreeBSD */
|
||||
#include <unistd.h> /** needed for STDIN_FILENO et.al., at least on FreeBSD */
|
||||
#endif
|
||||
|
||||
/*
|
||||
/**
|
||||
* Provide reasonable default for some defines
|
||||
*/
|
||||
#ifndef FALSE
|
||||
@ -91,7 +96,7 @@
|
||||
#define RAND_MAX INT_MAX
|
||||
#endif
|
||||
|
||||
/*
|
||||
/**
|
||||
* Provide reasonable defines for some types
|
||||
*/
|
||||
#ifndef BOOL
|
||||
@ -101,7 +106,7 @@
|
||||
#define UCHAR unsigned char
|
||||
#endif
|
||||
|
||||
/*
|
||||
/**
|
||||
* Provide useful shorthands
|
||||
*/
|
||||
#define strEQ(s1,s2) (strcmp(s1,s2) == 0)
|
||||
@ -128,19 +133,19 @@ ap_set_module_config(c->conn_config, &ssl_module, val)
|
||||
#define myCtxVarSet(mc,num,val) mc->rCtx.pV##num = val
|
||||
#define myCtxVarGet(mc,num,type) (type)(mc->rCtx.pV##num)
|
||||
|
||||
/*
|
||||
/**
|
||||
* Defaults for the configuration
|
||||
*/
|
||||
#ifndef SSL_SESSION_CACHE_TIMEOUT
|
||||
#define SSL_SESSION_CACHE_TIMEOUT 300
|
||||
#endif
|
||||
|
||||
/*
|
||||
/**
|
||||
* Support for MM library
|
||||
*/
|
||||
#define SSL_MM_FILE_MODE ( APR_UREAD | APR_UWRITE | APR_GREAD | APR_WREAD )
|
||||
|
||||
/*
|
||||
/**
|
||||
* Support for DBM library
|
||||
*/
|
||||
#define SSL_DBM_FILE_MODE ( APR_UREAD | APR_UWRITE | APR_GREAD | APR_WREAD )
|
||||
@ -158,7 +163,7 @@ ap_set_module_config(c->conn_config, &ssl_module, val)
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/*
|
||||
/**
|
||||
* Define the certificate algorithm types
|
||||
*/
|
||||
|
||||
@ -174,7 +179,7 @@ typedef int ssl_algo_t;
|
||||
#define SSL_AIDX_MAX (2)
|
||||
|
||||
|
||||
/*
|
||||
/**
|
||||
* Define IDs for the temporary RSA keys and DH params
|
||||
*/
|
||||
|
||||
@ -184,7 +189,7 @@ typedef int ssl_algo_t;
|
||||
#define SSL_TMP_KEY_DH_1024 (3)
|
||||
#define SSL_TMP_KEY_MAX (4)
|
||||
|
||||
/*
|
||||
/**
|
||||
* Define the SSL options
|
||||
*/
|
||||
#define SSL_OPT_NONE (0)
|
||||
@ -197,7 +202,7 @@ typedef int ssl_algo_t;
|
||||
#define SSL_OPT_ALL (SSL_OPT_STDENVVARS|SSL_OPT_EXPORTCERTDATA|SSL_OPT_FAKEBASICAUTH|SSL_OPT_STRICTREQUIRE|SSL_OPT_OPTRENEGOTIATE)
|
||||
typedef int ssl_opt_t;
|
||||
|
||||
/*
|
||||
/**
|
||||
* Define the SSL Protocol options
|
||||
*/
|
||||
#define SSL_PROTOCOL_NONE (0)
|
||||
@ -207,7 +212,7 @@ typedef int ssl_opt_t;
|
||||
#define SSL_PROTOCOL_ALL (SSL_PROTOCOL_SSLV2|SSL_PROTOCOL_SSLV3|SSL_PROTOCOL_TLSV1)
|
||||
typedef int ssl_proto_t;
|
||||
|
||||
/*
|
||||
/**
|
||||
* Define the SSL verify levels
|
||||
*/
|
||||
typedef enum {
|
||||
@ -232,7 +237,7 @@ typedef enum {
|
||||
|| (errnum == X509_V_ERR_CERT_UNTRUSTED) \
|
||||
|| (errnum == X509_V_ERR_UNABLE_TO_VERIFY_LEAF_SIGNATURE))
|
||||
|
||||
/*
|
||||
/**
|
||||
* Define the SSL pass phrase dialog types
|
||||
*/
|
||||
typedef enum {
|
||||
@ -242,7 +247,7 @@ typedef enum {
|
||||
SSL_PPTYPE_PIPE = 2
|
||||
} ssl_pphrase_t;
|
||||
|
||||
/*
|
||||
/**
|
||||
* Define the Path Checking modes
|
||||
*/
|
||||
#define SSL_PCM_EXISTS 1
|
||||
@ -251,7 +256,7 @@ typedef enum {
|
||||
#define SSL_PCM_ISNONZERO 8
|
||||
typedef unsigned int ssl_pathcheck_t;
|
||||
|
||||
/*
|
||||
/**
|
||||
* Define the SSL session cache modes and structures
|
||||
*/
|
||||
typedef enum {
|
||||
@ -263,7 +268,7 @@ typedef enum {
|
||||
SSL_SCMODE_NONE_NOT_NULL = 5
|
||||
} ssl_scmode_t;
|
||||
|
||||
/*
|
||||
/**
|
||||
* Define the SSL mutex modes
|
||||
*/
|
||||
typedef enum {
|
||||
@ -272,7 +277,7 @@ typedef enum {
|
||||
SSL_MUTEXMODE_USED = 1
|
||||
} ssl_mutexmode_t;
|
||||
|
||||
/*
|
||||
/**
|
||||
* Define the SSL enabled state
|
||||
*/
|
||||
typedef enum {
|
||||
@ -282,7 +287,7 @@ typedef enum {
|
||||
SSL_ENABLED_OPTIONAL = 3
|
||||
} ssl_enabled_t;
|
||||
|
||||
/*
|
||||
/**
|
||||
* Define the SSL requirement structure
|
||||
*/
|
||||
typedef struct {
|
||||
@ -290,7 +295,7 @@ typedef struct {
|
||||
ssl_expr *mpExpr;
|
||||
} ssl_require_t;
|
||||
|
||||
/*
|
||||
/**
|
||||
* Define the SSL random number generator seeding source
|
||||
*/
|
||||
typedef enum {
|
||||
@ -310,7 +315,7 @@ typedef struct {
|
||||
int nBytes;
|
||||
} ssl_randseed_t;
|
||||
|
||||
/*
|
||||
/**
|
||||
* Define the structure of an ASN.1 anything
|
||||
*/
|
||||
typedef struct {
|
||||
@ -319,7 +324,7 @@ typedef struct {
|
||||
apr_time_t source_mtime;
|
||||
} ssl_asn1_t;
|
||||
|
||||
/*
|
||||
/**
|
||||
* Define the mod_ssl per-module configuration structure
|
||||
* (i.e. the global configuration for each httpd process)
|
||||
*/
|
||||
@ -371,9 +376,9 @@ typedef struct {
|
||||
} rCtx;
|
||||
} SSLModConfigRec;
|
||||
|
||||
/* public cert/private key */
|
||||
/** public cert/private key */
|
||||
typedef struct {
|
||||
/*
|
||||
/**
|
||||
* server only has 1-2 certs/keys
|
||||
* 1 RSA and/or 1 DSA
|
||||
*/
|
||||
@ -382,28 +387,28 @@ typedef struct {
|
||||
X509 *certs[SSL_AIDX_MAX];
|
||||
EVP_PKEY *keys[SSL_AIDX_MAX];
|
||||
|
||||
/* Certificates which specify the set of CA names which should be
|
||||
/** Certificates which specify the set of CA names which should be
|
||||
* sent in the CertificateRequest message: */
|
||||
const char *ca_name_path;
|
||||
const char *ca_name_file;
|
||||
} modssl_pk_server_t;
|
||||
|
||||
typedef struct {
|
||||
/* proxy can have any number of cert/key pairs */
|
||||
/** proxy can have any number of cert/key pairs */
|
||||
const char *cert_file;
|
||||
const char *cert_path;
|
||||
STACK_OF(X509_INFO) *certs;
|
||||
} modssl_pk_proxy_t;
|
||||
|
||||
/* stuff related to authentication that can also be per-dir */
|
||||
/** stuff related to authentication that can also be per-dir */
|
||||
typedef struct {
|
||||
/* known/trusted CAs */
|
||||
/** known/trusted CAs */
|
||||
const char *ca_cert_path;
|
||||
const char *ca_cert_file;
|
||||
|
||||
const char *cipher_suite;
|
||||
|
||||
/* for client or downstream server authentication */
|
||||
/** for client or downstream server authentication */
|
||||
int verify_depth;
|
||||
ssl_verify_t verify_mode;
|
||||
} modssl_auth_ctx_t;
|
||||
@ -411,22 +416,22 @@ typedef struct {
|
||||
typedef struct SSLSrvConfigRec SSLSrvConfigRec;
|
||||
|
||||
typedef struct {
|
||||
SSLSrvConfigRec *sc; /* pointer back to server config */
|
||||
SSLSrvConfigRec *sc; /** pointer back to server config */
|
||||
SSL_CTX *ssl_ctx;
|
||||
|
||||
/* we are one or the other */
|
||||
/** we are one or the other */
|
||||
modssl_pk_server_t *pks;
|
||||
modssl_pk_proxy_t *pkp;
|
||||
|
||||
ssl_proto_t protocol;
|
||||
|
||||
/* config for handling encrypted keys */
|
||||
/** config for handling encrypted keys */
|
||||
ssl_pphrase_t pphrase_dialog_type;
|
||||
const char *pphrase_dialog_path;
|
||||
|
||||
const char *cert_chain;
|
||||
|
||||
/* certificate revocation list */
|
||||
/** certificate revocation list */
|
||||
const char *crl_path;
|
||||
const char *crl_file;
|
||||
X509_STORE *crl;
|
||||
@ -446,7 +451,7 @@ struct SSLSrvConfigRec {
|
||||
modssl_ctx_t *proxy;
|
||||
};
|
||||
|
||||
/*
|
||||
/**
|
||||
* Define the mod_ssl per-directory configuration structure
|
||||
* (i.e. the local configuration for all <Directory>
|
||||
* and .htaccess contexts)
|
||||
@ -465,17 +470,17 @@ typedef struct {
|
||||
const char *szUserName;
|
||||
} SSLDirConfigRec;
|
||||
|
||||
/*
|
||||
/**
|
||||
* function prototypes
|
||||
*/
|
||||
|
||||
/* API glue structures */
|
||||
/** API glue structures */
|
||||
extern module AP_MODULE_DECLARE_DATA ssl_module;
|
||||
|
||||
/* "global" stuff */
|
||||
/** "global" stuff */
|
||||
extern const char ssl_valid_ssl_mutex_string[];
|
||||
|
||||
/* configuration handling */
|
||||
/** configuration handling */
|
||||
SSLModConfigRec *ssl_config_global_create(server_rec *);
|
||||
void ssl_config_global_fix(SSLModConfigRec *);
|
||||
BOOL ssl_config_global_isfixed(SSLModConfigRec *);
|
||||
@ -521,7 +526,7 @@ const char *ssl_cmd_SSLProxyCARevocationFile(cmd_parms *, void *, const char *)
|
||||
const char *ssl_cmd_SSLProxyMachineCertificatePath(cmd_parms *, void *, const char *);
|
||||
const char *ssl_cmd_SSLProxyMachineCertificateFile(cmd_parms *, void *, const char *);
|
||||
|
||||
/* module initialization */
|
||||
/** module initialization */
|
||||
int ssl_init_Module(apr_pool_t *, apr_pool_t *, apr_pool_t *, server_rec *);
|
||||
void ssl_init_Engine(server_rec *, apr_pool_t *);
|
||||
void ssl_init_ConfigureServer(server_rec *, apr_pool_t *, apr_pool_t *, SSLSrvConfigRec *);
|
||||
@ -531,7 +536,7 @@ STACK_OF(X509_NAME)
|
||||
void ssl_init_Child(apr_pool_t *, server_rec *);
|
||||
apr_status_t ssl_init_ModuleKill(void *data);
|
||||
|
||||
/* Apache API hooks */
|
||||
/** Apache API hooks */
|
||||
int ssl_hook_Auth(request_rec *);
|
||||
int ssl_hook_UserCheck(request_rec *);
|
||||
int ssl_hook_Access(request_rec *);
|
||||
@ -540,7 +545,7 @@ int ssl_hook_ReadReq(request_rec *);
|
||||
int ssl_hook_Upgrade(request_rec *);
|
||||
void ssl_hook_ConfigTest(apr_pool_t *pconf, server_rec *s);
|
||||
|
||||
/* OpenSSL callbacks */
|
||||
/** OpenSSL callbacks */
|
||||
RSA *ssl_callback_TmpRSA(SSL *, int, int);
|
||||
DH *ssl_callback_TmpDH(SSL *, int, int);
|
||||
int ssl_callback_SSLVerify(int, X509_STORE_CTX *);
|
||||
@ -551,7 +556,7 @@ SSL_SESSION *ssl_callback_GetSessionCacheEntry(SSL *, unsigned char *, int, int
|
||||
void ssl_callback_DelSessionCacheEntry(SSL_CTX *, SSL_SESSION *);
|
||||
void ssl_callback_LogTracingState(MODSSL_INFO_CB_ARG_TYPE, int, int);
|
||||
|
||||
/* Session Cache Support */
|
||||
/** Session Cache Support */
|
||||
void ssl_scache_init(server_rec *, apr_pool_t *);
|
||||
void ssl_scache_status_register(apr_pool_t *p);
|
||||
void ssl_scache_kill(server_rec *);
|
||||
@ -581,19 +586,19 @@ SSL_SESSION *ssl_scache_dc_retrieve(server_rec *, UCHAR *, int);
|
||||
void ssl_scache_dc_remove(server_rec *, UCHAR *, int);
|
||||
void ssl_scache_dc_status(request_rec *r, int flags, apr_pool_t *pool);
|
||||
|
||||
/* Proxy Support */
|
||||
/** Proxy Support */
|
||||
int ssl_proxy_enable(conn_rec *c);
|
||||
int ssl_engine_disable(conn_rec *c);
|
||||
|
||||
/* I/O */
|
||||
/** I/O */
|
||||
void ssl_io_filter_init(conn_rec *, SSL *);
|
||||
void ssl_io_filter_register(apr_pool_t *);
|
||||
long ssl_io_data_cb(BIO *, int, MODSSL_BIO_CB_ARG_TYPE *, int, long, long);
|
||||
|
||||
/* PRNG */
|
||||
/** PRNG */
|
||||
int ssl_rand_seed(server_rec *, apr_pool_t *, ssl_rsctx_t, char *);
|
||||
|
||||
/* Utility Functions */
|
||||
/** Utility Functions */
|
||||
char *ssl_util_vhostid(apr_pool_t *, server_rec *);
|
||||
apr_file_t *ssl_util_ppopen(server_rec *, apr_pool_t *, const char *,
|
||||
const char * const *);
|
||||
@ -606,10 +611,10 @@ char *ssl_util_algotypestr(ssl_algo_t);
|
||||
void ssl_util_thread_setup(apr_pool_t *);
|
||||
int ssl_init_ssl_connection(conn_rec *c);
|
||||
|
||||
/* Pass Phrase Support */
|
||||
/** Pass Phrase Support */
|
||||
void ssl_pphrase_Handle(server_rec *, apr_pool_t *);
|
||||
|
||||
/* Diffie-Hellman Parameter Support */
|
||||
/** Diffie-Hellman Parameter Support */
|
||||
DH *ssl_dh_GetTmpParam(int);
|
||||
DH *ssl_dh_GetParamFromFile(char *);
|
||||
|
||||
@ -628,17 +633,17 @@ const char *ssl_asn1_keystr(int keytype);
|
||||
const char *ssl_asn1_table_keyfmt(apr_pool_t *p,
|
||||
const char *id,
|
||||
int keytype);
|
||||
/* Mutex Support */
|
||||
/** Mutex Support */
|
||||
int ssl_mutex_init(server_rec *, apr_pool_t *);
|
||||
int ssl_mutex_reinit(server_rec *, apr_pool_t *);
|
||||
int ssl_mutex_on(server_rec *);
|
||||
int ssl_mutex_off(server_rec *);
|
||||
|
||||
/* Logfile Support */
|
||||
/** Logfile Support */
|
||||
void ssl_die(void);
|
||||
void ssl_log_ssl_error(const char *, int, int, server_rec *);
|
||||
|
||||
/* Variables */
|
||||
/** Variables */
|
||||
void ssl_var_register(void);
|
||||
char *ssl_var_lookup(apr_pool_t *, server_rec *, conn_rec *, request_rec *, char *);
|
||||
const char *ssl_ext_lookup(apr_pool_t *p, conn_rec *c, int peer, const char *oid);
|
||||
@ -650,3 +655,5 @@ void ssl_var_log_config_register(apr_pool_t *p);
|
||||
#define APR_SHM_MAXSIZE (64 * 1024 * 1024)
|
||||
|
||||
#endif /* SSL_PRIVATE_H */
|
||||
/** @} */
|
||||
|
||||
|
@ -17,14 +17,19 @@
|
||||
#ifndef SSL_TOOLKIT_COMPAT_H
|
||||
#define SSL_TOOLKIT_COMPAT_H
|
||||
|
||||
/*
|
||||
* this header file provides a compatiblity layer
|
||||
/**
|
||||
* @file ssl_toolkit_compat.h
|
||||
* @brief this header file provides a compatiblity layer
|
||||
* between OpenSSL and RSA sslc
|
||||
*
|
||||
* @defgroup MOD_SSL_TOOLKIT Toolkit
|
||||
* @ingroup MOD_SSL
|
||||
* @{
|
||||
*/
|
||||
|
||||
#ifdef HAVE_OPENSSL
|
||||
|
||||
/* OpenSSL headers */
|
||||
/** OpenSSL headers */
|
||||
#include <openssl/ssl.h>
|
||||
#include <openssl/err.h>
|
||||
#include <openssl/x509.h>
|
||||
@ -33,14 +38,14 @@
|
||||
#include <openssl/evp.h>
|
||||
#include <openssl/rand.h>
|
||||
#include <openssl/x509v3.h>
|
||||
/* Avoid tripping over an engine build installed globally and detected
|
||||
/** Avoid tripping over an engine build installed globally and detected
|
||||
* when the user points at an explicit non-engine flavor of OpenSSL
|
||||
*/
|
||||
#if defined(HAVE_OPENSSL_ENGINE_H) && defined(HAVE_ENGINE_INIT)
|
||||
#include <openssl/engine.h>
|
||||
#endif
|
||||
|
||||
/*
|
||||
/**
|
||||
* rsa sslc uses incomplete types for most structures
|
||||
* so we macroize for OpenSSL those which cannot be dereferenced
|
||||
* using the same sames as the sslc functions
|
||||
@ -66,7 +71,7 @@
|
||||
#define SSL_SESSION_get_session_id(s) (s->session_id)
|
||||
#define SSL_SESSION_get_session_id_length(s) (s->session_id_length)
|
||||
|
||||
/*
|
||||
/**
|
||||
* Support for retrieving/overriding states
|
||||
*/
|
||||
#ifndef SSL_get_state
|
||||
@ -85,7 +90,7 @@
|
||||
#define MODSSL_CLIENT_CERT_CB_ARG_TYPE X509
|
||||
#define MODSSL_PCHAR_CAST
|
||||
|
||||
/* ...shifting sands of openssl... */
|
||||
/** ...shifting sands of openssl... */
|
||||
#if (OPENSSL_VERSION_NUMBER >= 0x0090707f)
|
||||
# define MODSSL_D2I_SSL_SESSION_CONST const
|
||||
#else
|
||||
@ -130,7 +135,7 @@ typedef int (modssl_read_bio_cb_fn)(char*,int,int,void*);
|
||||
|
||||
#ifndef PEM_F_DEF_CALLBACK
|
||||
#ifdef PEM_F_PEM_DEF_CALLBACK
|
||||
/* In OpenSSL 0.9.8 PEM_F_DEF_CALLBACK was renamed */
|
||||
/** In OpenSSL 0.9.8 PEM_F_DEF_CALLBACK was renamed */
|
||||
#define PEM_F_DEF_CALLBACK PEM_F_PEM_DEF_CALLBACK
|
||||
#endif
|
||||
#endif
|
||||
@ -146,10 +151,10 @@ typedef int (modssl_read_bio_cb_fn)(char*,int,int,void*);
|
||||
#include <objects.h>
|
||||
#include <sslc.h>
|
||||
|
||||
/* sslc does not support this function, OpenSSL has since 9.5.1 */
|
||||
/** sslc does not support this function, OpenSSL has since 9.5.1 */
|
||||
#define RAND_status() 1
|
||||
|
||||
/* sslc names this function a bit differently */
|
||||
/** sslc names this function a bit differently */
|
||||
#define CRYPTO_num_locks() CRYPTO_get_num_locks()
|
||||
|
||||
#ifndef STACK_OF
|
||||
@ -179,7 +184,7 @@ typedef int (modssl_read_bio_cb_fn)(char*,int,int);
|
||||
PEM_read_bio_PrivateKey(b, k, cb)
|
||||
|
||||
#ifndef HAVE_SSL_SET_STATE
|
||||
#define SSL_set_state(ssl, state) /* XXX: should throw an error */
|
||||
#define SSL_set_state(ssl, state) /** XXX: should throw an error */
|
||||
#endif
|
||||
|
||||
#define modssl_set_cipher_list(ssl, l) \
|
||||
@ -202,13 +207,13 @@ typedef int (modssl_read_bio_cb_fn)(char*,int,int);
|
||||
#define modssl_set_verify(ssl, verify, cb) \
|
||||
SSL_set_verify(ssl, verify)
|
||||
|
||||
#else /* SSLC_VERSION_NUMBER >= 0x2000 */
|
||||
#else /** SSLC_VERSION_NUMBER >= 0x2000 */
|
||||
|
||||
#define CRYPTO_malloc_init R_malloc_init
|
||||
|
||||
#define EVP_cleanup()
|
||||
|
||||
#endif /* SSLC_VERSION_NUMBER >= 0x2000 */
|
||||
#endif /** SSLC_VERSION_NUMBER >= 0x2000 */
|
||||
|
||||
typedef void (*modssl_popfree_fn)(char *data);
|
||||
|
||||
@ -238,7 +243,7 @@ typedef void (*modssl_popfree_fn)(char *data);
|
||||
#define sk_X509_REVOKED_num sk_num
|
||||
#define sk_X509_REVOKED_value (X509_REVOKED *)sk_value
|
||||
|
||||
#else /* ! HAVE_OPENSSL && ! HAVE_SSLC */
|
||||
#else /** ! HAVE_OPENSSL && ! HAVE_SSLC */
|
||||
|
||||
#error "Unrecognized SSL Toolkit!"
|
||||
|
||||
@ -254,3 +259,5 @@ typedef void (*modssl_popfree_fn)(char *data);
|
||||
#endif
|
||||
|
||||
#endif /* SSL_TOOLKIT_COMPAT_H */
|
||||
|
||||
/** @} */
|
||||
|
@ -14,20 +14,27 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/* _ _
|
||||
* _ __ ___ ___ __| | ___ ___| | mod_ssl
|
||||
* | '_ ` _ \ / _ \ / _` | / __/ __| | Apache Interface to OpenSSL
|
||||
* | | | | | | (_) | (_| | \__ \__ \ |
|
||||
* |_| |_| |_|\___/ \__,_|___|___/___/_|
|
||||
* |_____|
|
||||
* ssl_util_ssl.h
|
||||
* Additional Utility Functions for OpenSSL
|
||||
/**
|
||||
* @verbatim
|
||||
_ _
|
||||
_ __ ___ ___ __| | ___ ___| | mod_ssl
|
||||
| '_ ` _ \ / _ \ / _` | / __/ __| | Apache Interface to OpenSSL
|
||||
| | | | | | (_) | (_| | \__ \__ \ |
|
||||
|_| |_| |_|\___/ \__,_|___|___/___/_|
|
||||
|_____|
|
||||
@endverbatim
|
||||
* @file ssl_util_ssl.h
|
||||
* @brief Additional Utility Functions for OpenSSL
|
||||
*
|
||||
* @defgroup MOD_SSL_UTIL Utilities
|
||||
* @ingroup MOD_SSL
|
||||
* @{
|
||||
*/
|
||||
|
||||
#ifndef __SSL_UTIL_SSL_H__
|
||||
#define __SSL_UTIL_SSL_H__
|
||||
|
||||
/*
|
||||
/**
|
||||
* Determine SSL library version number
|
||||
*/
|
||||
#ifdef OPENSSL_VERSION_NUMBER
|
||||
@ -40,18 +47,18 @@
|
||||
#define SSL_LIBRARY_TEXT "OtherSSL 0.0.0 00 XXX 0000"
|
||||
#endif
|
||||
|
||||
/*
|
||||
/**
|
||||
* Maximum length of a DER encoded session.
|
||||
* FIXME: There is no define in OpenSSL, but OpenSSL uses 1024*10,
|
||||
* so this value should be ok. Although we have no warm feeling.
|
||||
*/
|
||||
#define SSL_SESSION_MAX_DER 1024*10
|
||||
|
||||
/* max length for SSL_SESSION_id2sz */
|
||||
/** max length for SSL_SESSION_id2sz */
|
||||
#define SSL_SESSION_ID_STRING_LEN \
|
||||
((SSL_MAX_SSL_SESSION_ID_LENGTH + 1) * 2)
|
||||
|
||||
/*
|
||||
/**
|
||||
* Additional Functions
|
||||
*/
|
||||
void SSL_init_app_data2_idx(void);
|
||||
@ -71,10 +78,12 @@ BOOL SSL_X509_INFO_load_path(apr_pool_t *, STACK_OF(X509_INFO) *, const c
|
||||
int SSL_CTX_use_certificate_chain(SSL_CTX *, char *, int, modssl_read_bio_cb_fn *);
|
||||
char *SSL_SESSION_id2sz(unsigned char *, int, char *, int);
|
||||
|
||||
/* util functions for OpenSSL+sslc compat */
|
||||
/** util functions for OpenSSL+sslc compat */
|
||||
int modssl_session_get_time(SSL_SESSION *session);
|
||||
|
||||
DH *modssl_dh_configure(unsigned char *p, int plen,
|
||||
unsigned char *g, int glen);
|
||||
|
||||
#endif /* __SSL_UTIL_SSL_H__ */
|
||||
/** @} */
|
||||
|
||||
|
@ -14,12 +14,19 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file beosd.h
|
||||
* @brief common stuff that beos MPMs will want
|
||||
*
|
||||
* @addtogroup APACHE_OS_BEOS
|
||||
* @{
|
||||
*/
|
||||
|
||||
#ifndef BEOSD_H
|
||||
#define BEOSD_H
|
||||
|
||||
#include "httpd.h"
|
||||
#include "ap_listen.h"
|
||||
/* common stuff that beos MPMs will want */
|
||||
|
||||
/* Default user name and group name. These may be specified as numbers by
|
||||
* placing a # before a number */
|
||||
@ -58,3 +65,4 @@ AP_INIT_TAKE1("Group", beosd_set_group, NULL, RSRC_CONF, \
|
||||
"Effective group id for this server (NO-OP)")
|
||||
|
||||
#endif /* BEOSD_H */
|
||||
/** @} */
|
||||
|
12
os/beos/os.h
12
os/beos/os.h
@ -14,6 +14,17 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file beos/os.h
|
||||
* @brief This file in included in all Apache source code. It contains definitions
|
||||
* of facilities available on _this_ operating system (HAVE_* macros),
|
||||
* and prototypes of OS specific functions defined in os.c or os-inline.c
|
||||
*
|
||||
* @defgroup APACHE_OS_BEOS beos
|
||||
* @ingroup APACHE_OS
|
||||
* @{
|
||||
*/
|
||||
|
||||
#ifndef APACHE_OS_H
|
||||
#define APACHE_OS_H
|
||||
|
||||
@ -28,3 +39,4 @@
|
||||
#endif
|
||||
|
||||
#endif /* !APACHE_OS_H */
|
||||
/** @} */
|
||||
|
@ -14,6 +14,14 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file bs2000/ebcdic.h
|
||||
* @brief EBCDIC/ASCII converson function declarations
|
||||
*
|
||||
* @addtogroup APACHE_OS_BS2000
|
||||
* @{
|
||||
*/
|
||||
|
||||
#include <sys/types.h>
|
||||
|
||||
extern const unsigned char os_toascii[256];
|
||||
@ -21,4 +29,5 @@ extern const unsigned char os_toebcdic[256];
|
||||
void ebcdic2ascii(unsigned char *dest, const unsigned char *srce, size_t count);
|
||||
void ebcdic2ascii_strictly(unsigned char *dest, const unsigned char *srce, size_t count);
|
||||
void ascii2ebcdic(unsigned char *dest, const unsigned char *srce, size_t count);
|
||||
/** @} */
|
||||
|
||||
|
@ -14,6 +14,17 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file bs2000/os.h
|
||||
* @brief This file in included in all Apache source code. It contains definitions
|
||||
* of facilities available on _this_ operating system (HAVE_* macros),
|
||||
* and prototypes of OS specific functions defined in os.c or os-inline.c
|
||||
*
|
||||
* @defgroup APACHE_OS_BS2000 bs2000
|
||||
* @ingroup APACHE_OS
|
||||
* @{
|
||||
*/
|
||||
|
||||
#ifndef APACHE_OS_BS2000_H
|
||||
#define APACHE_OS_BS2000_H
|
||||
|
||||
@ -21,14 +32,9 @@
|
||||
|
||||
#include "../unix/os.h"
|
||||
|
||||
/*
|
||||
* This file in included in all Apache source code. It contains definitions
|
||||
* of facilities available on _this_ operating system (HAVE_* macros),
|
||||
* and prototypes of OS specific functions defined in os.c or os-inline.c
|
||||
*/
|
||||
|
||||
/* Other ap_os_ routines not used by this platform */
|
||||
|
||||
extern pid_t os_fork(const char *user);
|
||||
|
||||
#endif /* APACHE_OS_BS2000_H */
|
||||
/** @} */
|
||||
|
@ -14,6 +14,17 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file netware/os.h
|
||||
* @brief This file in included in all Apache source code. It contains definitions
|
||||
* of facilities available on _this_ operating system (HAVE_* macros),
|
||||
* and prototypes of OS specific functions defined in os.c or os-inline.c
|
||||
*
|
||||
* @defgroup APACHE_OS_NETWARE netware
|
||||
* @ingroup APACHE_OS
|
||||
* @{
|
||||
*/
|
||||
|
||||
#ifndef APACHE_OS_H
|
||||
#define APACHE_OS_H
|
||||
|
||||
@ -38,3 +49,4 @@ AP_DECLARE_DATA extern int hold_screen_on_exit; /* Indicates whether the screen
|
||||
#define exit(s) {if((s||hold_screen_on_exit)&&(hold_screen_on_exit>=0)){pressanykey();}apr_terminate();exit(s);}
|
||||
|
||||
#endif /* ! APACHE_OS_H */
|
||||
/** @} */
|
||||
|
@ -14,6 +14,14 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file pre_nw.h
|
||||
* @brief Definitions for Netware systems
|
||||
*
|
||||
* @addtogroup APACHE_OS_NETWARE
|
||||
* @{
|
||||
*/
|
||||
|
||||
#ifndef __pre_nw__
|
||||
#define __pre_nw__
|
||||
|
||||
@ -65,6 +73,4 @@
|
||||
#define AP_MAX_INCLUDE_DEPTH 48
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
/** @} */
|
||||
|
18
os/os2/os.h
18
os/os2/os.h
@ -14,6 +14,17 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file os2/os.h
|
||||
* @brief This file in included in all Apache source code. It contains definitions
|
||||
* of facilities available on _this_ operating system (HAVE_* macros),
|
||||
* and prototypes of OS specific functions defined in os.c or os-inline.c
|
||||
*
|
||||
* @defgroup APACHE_OS_OS2 os2
|
||||
* @ingroup APACHE_OS
|
||||
* @{
|
||||
*/
|
||||
|
||||
#ifndef APACHE_OS_H
|
||||
#define APACHE_OS_H
|
||||
|
||||
@ -24,10 +35,5 @@
|
||||
#define HAVE_UNC_PATHS
|
||||
#define CASE_BLIND_FILESYSTEM
|
||||
|
||||
/*
|
||||
* This file in included in all Apache source code. It contains definitions
|
||||
* of facilities available on _this_ operating system (HAVE_* macros),
|
||||
* and prototypes of OS specific functions defined in os.c or os-inline.c
|
||||
*/
|
||||
|
||||
#endif /* ! APACHE_OS_H */
|
||||
/** @} */
|
||||
|
@ -14,6 +14,14 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file tpf/ebcdic.h
|
||||
* @brief EBCDIC/ASCII converson function declarations
|
||||
*
|
||||
* @addtogroup APACHE_OS_TPF
|
||||
* @{
|
||||
*/
|
||||
|
||||
#include <sys/types.h>
|
||||
|
||||
extern const unsigned char os_toascii[256];
|
||||
@ -21,4 +29,4 @@ extern const unsigned char os_toebcdic[256];
|
||||
void ebcdic2ascii(void *dest, const void *srce, size_t count);
|
||||
void ebcdic2ascii_strictly(unsigned char *dest, const unsigned char *srce, size_t count);
|
||||
void ascii2ebcdic(void *dest, const void *srce, size_t count);
|
||||
|
||||
/** @} */
|
||||
|
18
os/tpf/os.h
18
os/tpf/os.h
@ -14,6 +14,17 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file tpf/os.h
|
||||
* @brief This file in included in all Apache source code. It contains definitions
|
||||
* of facilities available on _this_ operating system (HAVE_* macros),
|
||||
* and prototypes of OS specific functions defined in os.c or os-inline.c
|
||||
*
|
||||
* @defgroup APACHE_OS_TPF tpf
|
||||
* @ingroup APACHE_OS
|
||||
* @{
|
||||
*/
|
||||
|
||||
#ifndef APACHE_OS_H
|
||||
#define APACHE_OS_H
|
||||
|
||||
@ -23,12 +34,6 @@
|
||||
#undef errno
|
||||
#endif
|
||||
|
||||
/*
|
||||
* This file in included in all Apache source code. It contains definitions
|
||||
* of facilities available on _this_ operating system (HAVE_* macros),
|
||||
* and prototypes of OS specific functions defined in os.c or os-inline.c
|
||||
*/
|
||||
|
||||
#include "apr.h"
|
||||
#include "ap_config.h"
|
||||
#include <strings.h>
|
||||
@ -85,3 +90,4 @@ extern int scoreboard_fd;
|
||||
#undef NSIG
|
||||
#endif
|
||||
#endif /*! APACHE_OS_H*/
|
||||
/** @} */
|
||||
|
12
os/unix/os.h
12
os/unix/os.h
@ -14,6 +14,17 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file unix/os.h
|
||||
* @brief This file in included in all Apache source code. It contains definitions
|
||||
* of facilities available on _this_ operating system (HAVE_* macros),
|
||||
* and prototypes of OS specific functions defined in os.c or os-inline.c
|
||||
*
|
||||
* @defgroup APACHE_OS_UNIX unix
|
||||
* @ingroup APACHE_OS
|
||||
* @{
|
||||
*/
|
||||
|
||||
#ifndef APACHE_OS_H
|
||||
#define APACHE_OS_H
|
||||
|
||||
@ -34,3 +45,4 @@ pid_t os_fork(const char *user);
|
||||
#endif
|
||||
|
||||
#endif /* !APACHE_OS_H */
|
||||
/** @} */
|
||||
|
@ -14,6 +14,14 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file unixd.h
|
||||
* @brief common stuff that unix MPMs will want
|
||||
*
|
||||
* @addtogroup APACHE_OS_UNIX
|
||||
* @{
|
||||
*/
|
||||
|
||||
#ifndef UNIXD_H
|
||||
#define UNIXD_H
|
||||
|
||||
@ -48,7 +56,6 @@ typedef struct {
|
||||
|
||||
AP_DECLARE_HOOK(ap_unix_identity_t *, get_suexec_identity,(const request_rec *r))
|
||||
|
||||
/* common stuff that unix MPMs will want */
|
||||
|
||||
/* Default user name and group name. These may be specified as numbers by
|
||||
* placing a # before a number */
|
||||
@ -107,3 +114,4 @@ AP_INIT_TAKE1("Group", unixd_set_group, NULL, RSRC_CONF, \
|
||||
"Effective group id for this server")
|
||||
|
||||
#endif
|
||||
/** @} */
|
||||
|
@ -14,6 +14,17 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file win32/os.h
|
||||
* @brief This file in included in all Apache source code. It contains definitions
|
||||
* of facilities available on _this_ operating system (HAVE_* macros),
|
||||
* and prototypes of OS specific functions defined in os.c or os-inline.c
|
||||
*
|
||||
* @defgroup APACHE_OS_WIN32 win32
|
||||
* @ingroup APACHE_OS
|
||||
* @{
|
||||
*/
|
||||
|
||||
#ifdef WIN32
|
||||
|
||||
#ifndef AP_OS_H
|
||||
@ -121,3 +132,4 @@ AP_DECLARE_LATE_DLL_FUNC(AP_DLL_WINBASEAPI, DWORD, WINAPI, RegisterServiceProces
|
||||
|
||||
#endif /* ndef AP_OS_H */
|
||||
#endif /* def WIN32 */
|
||||
/** @} */
|
||||
|
@ -14,8 +14,9 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/*
|
||||
* core_filters.c --- Core input/output network filters.
|
||||
/**
|
||||
* @file core_filters.c
|
||||
* @brief Core input/output network filters.
|
||||
*/
|
||||
|
||||
#include "apr.h"
|
||||
|
@ -731,5 +731,6 @@ const void *suck_in_APR(void)
|
||||
extern const void *ap_ugly_hack;
|
||||
|
||||
return ap_ugly_hack;
|
||||
gzeof(NULL);
|
||||
}
|
||||
#endif
|
||||
|
@ -14,6 +14,13 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file beos/beos.h
|
||||
* @brief Extern functions/values for BEOS MPM
|
||||
*
|
||||
* @addtogroup APACHE_MPM_BEOS
|
||||
* @{
|
||||
*/
|
||||
#ifndef APACHE_MPM_BEOS_H
|
||||
#define APACHE_MPM_BEOS_H
|
||||
|
||||
@ -24,3 +31,4 @@ extern void clean_child_exit(int);
|
||||
extern int max_daemons_limit;
|
||||
|
||||
#endif /* APACHE_MPM_BEOS_H */
|
||||
/** @} */
|
||||
|
@ -14,6 +14,15 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file beos/mpm.h
|
||||
* @brief BEOS MPM
|
||||
*
|
||||
* @defgroup APACHE_MPM_BEOS BEOS MPM
|
||||
* @ingroup APACHE_MPM APACHE_OS_BEOS
|
||||
* @{
|
||||
*/
|
||||
|
||||
#ifndef APACHE_MPM_BEOS_H
|
||||
#define APACHE_MPM_BEOS_H
|
||||
|
||||
@ -38,3 +47,4 @@ extern server_rec *ap_server_conf;
|
||||
extern int ap_threads_per_child;
|
||||
|
||||
#endif /* APACHE_MPM_BEOS_H */
|
||||
/** @} */
|
||||
|
@ -14,6 +14,13 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file beos/mpm_default.h
|
||||
* @brief beos MPM defaults
|
||||
*
|
||||
* @addtogroup APACHE_MPM_BEOS
|
||||
* @{
|
||||
*/
|
||||
#ifndef APACHE_MPM_DEFAULT_H
|
||||
#define APACHE_MPM_DEFAULT_H
|
||||
|
||||
@ -74,3 +81,4 @@
|
||||
#endif
|
||||
|
||||
#endif /* AP_MPM_DEFAULT_H */
|
||||
/** @} */
|
||||
|
@ -14,6 +14,14 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file event/fdqueue.h
|
||||
* @brief fd queue declarations
|
||||
*
|
||||
* @addtogroup APACHE_MPM_EVENT
|
||||
* @{
|
||||
*/
|
||||
|
||||
#ifndef FDQUEUE_H
|
||||
#define FDQUEUE_H
|
||||
#include "httpd.h"
|
||||
@ -71,3 +79,4 @@ apr_status_t ap_queue_interrupt_all(fd_queue_t * queue);
|
||||
apr_status_t ap_queue_term(fd_queue_t * queue);
|
||||
|
||||
#endif /* FDQUEUE_H */
|
||||
/** @} */
|
||||
|
@ -14,6 +14,15 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file event/mpm.h
|
||||
* @brief Unix Exent driven MPM
|
||||
*
|
||||
* @defgroup APACHE_MPM_EVENT Unix Event MPM
|
||||
* @ingroup APACHE_OS_UNIX APACHE_MPM
|
||||
* @{
|
||||
*/
|
||||
|
||||
#include "scoreboard.h"
|
||||
#include "unixd.h"
|
||||
|
||||
@ -49,3 +58,4 @@ extern server_rec *ap_server_conf;
|
||||
extern char ap_coredump_dir[MAX_STRING_LEN];
|
||||
|
||||
#endif /* APACHE_MPM_EVENT_H */
|
||||
/** @} */
|
||||
|
@ -14,6 +14,15 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
|
||||
/**
|
||||
* @file event/mpm_default.h
|
||||
* @brief Event MPM defaults
|
||||
*
|
||||
* @addtogroup APACHE_MPM_EVENT
|
||||
* @{
|
||||
*/
|
||||
|
||||
#ifndef APACHE_MPM_DEFAULT_H
|
||||
#define APACHE_MPM_DEFAULT_H
|
||||
|
||||
@ -67,3 +76,4 @@
|
||||
#endif
|
||||
|
||||
#endif /* AP_MPM_DEFAULT_H */
|
||||
/** @} */
|
||||
|
@ -14,6 +14,14 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file event/pod.h
|
||||
* @brief pod definitions
|
||||
*
|
||||
* @addtogroup APACHE_MPM_EVENT
|
||||
* @{
|
||||
*/
|
||||
|
||||
#include "apr.h"
|
||||
#include "apr_strings.h"
|
||||
#define APR_WANT_STRFUNC
|
||||
@ -49,3 +57,4 @@ AP_DECLARE(int) ap_mpm_pod_check(ap_pod_t * pod);
|
||||
AP_DECLARE(apr_status_t) ap_mpm_pod_close(ap_pod_t * pod);
|
||||
AP_DECLARE(apr_status_t) ap_mpm_pod_signal(ap_pod_t * pod, int graceful);
|
||||
AP_DECLARE(void) ap_mpm_pod_killpg(ap_pod_t * pod, int num, int graceful);
|
||||
/** @} */
|
||||
|
@ -14,6 +14,15 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file leader/mpm.h
|
||||
* @brief Unix Leader-Follower MPM
|
||||
*
|
||||
* @defgroup APACHE_MPM_LEADER Unix Leader-Follower MPM
|
||||
* @ingroup APACHE_MPM APACHE_OS_UNIX
|
||||
* @{
|
||||
*/
|
||||
|
||||
#include "scoreboard.h"
|
||||
#include "unixd.h"
|
||||
|
||||
@ -50,3 +59,4 @@ extern server_rec *ap_server_conf;
|
||||
extern char ap_coredump_dir[MAX_STRING_LEN];
|
||||
|
||||
#endif /* APACHE_MPM_LEADER_H */
|
||||
/** @} */
|
||||
|
@ -14,6 +14,14 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file leader/mpm_default.h
|
||||
* @brief Leader-Follower MPM defaults
|
||||
*
|
||||
* @addtogroup APACHE_MPM_LEADER
|
||||
* @{
|
||||
*/
|
||||
|
||||
#ifndef APACHE_MPM_DEFAULT_H
|
||||
#define APACHE_MPM_DEFAULT_H
|
||||
|
||||
@ -67,3 +75,4 @@
|
||||
#endif
|
||||
|
||||
#endif /* AP_MPM_DEFAULT_H */
|
||||
/** @} */
|
||||
|
@ -14,6 +14,15 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file perchild/mpm.h
|
||||
* @brief Unix Perchild MPM
|
||||
*
|
||||
* @defgroup APACHE_MPM_PERCHILD Uinx Perchild MPM
|
||||
* @ingroup APACHE_MPM APACHE_OS_UNIX
|
||||
* @{
|
||||
*/
|
||||
|
||||
#include "httpd.h"
|
||||
#include "mpm_default.h"
|
||||
#include "unixd.h"
|
||||
@ -58,3 +67,4 @@ extern int ap_max_daemons_limit;
|
||||
extern server_rec *ap_server_conf;
|
||||
|
||||
#endif /* APACHE_MPM_PERCHILD_H */
|
||||
/** @} */
|
||||
|
@ -14,6 +14,14 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file perchild/mpm_default.h
|
||||
* @brief perchild MPM defaults
|
||||
*
|
||||
* @addtogroup APACHE_MPM_PERCHILD
|
||||
* @{
|
||||
*/
|
||||
|
||||
#ifndef APACHE_MPM_DEFAULT_H
|
||||
#define APACHE_MPM_DEFAULT_H
|
||||
|
||||
@ -69,3 +77,4 @@
|
||||
#endif
|
||||
|
||||
#endif /* AP_MPM_DEFAULT_H */
|
||||
/** @} */
|
||||
|
@ -14,6 +14,15 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file threadpool/mpm.h
|
||||
* @brief Unix Threadpool MPM
|
||||
*
|
||||
* @defgroup APACHE_MPM_THREADPOOL Unix Threadpool MPM
|
||||
* @ingroup APACHE_OS_UNIX APACHE_MPM
|
||||
* @{
|
||||
*/
|
||||
|
||||
#include "scoreboard.h"
|
||||
#include "unixd.h"
|
||||
|
||||
@ -49,3 +58,4 @@ extern server_rec *ap_server_conf;
|
||||
extern char ap_coredump_dir[MAX_STRING_LEN];
|
||||
|
||||
#endif /* APACHE_MPM_THREADPOOL_H */
|
||||
/** @} */
|
||||
|
@ -14,6 +14,14 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file threadpool/mpm_default.h
|
||||
* @brief Unix Threadpool MPM defaults
|
||||
*
|
||||
* @addtogroup APACHE_MPM_THREADPOOL
|
||||
* @{
|
||||
*/
|
||||
|
||||
#ifndef APACHE_MPM_DEFAULT_H
|
||||
#define APACHE_MPM_DEFAULT_H
|
||||
|
||||
@ -67,3 +75,4 @@
|
||||
#endif
|
||||
|
||||
#endif /* AP_MPM_DEFAULT_H */
|
||||
/** @} */
|
||||
|
@ -14,6 +14,14 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file threadpool/pod.h
|
||||
* @brief Threadpool Pipe of Death declarations
|
||||
*
|
||||
* @addtogroup APACHE_MPM_THREADPOOL
|
||||
* @{
|
||||
*/
|
||||
|
||||
#include "apr.h"
|
||||
#include "apr_strings.h"
|
||||
#define APR_WANT_STRFUNC
|
||||
@ -48,3 +56,4 @@ AP_DECLARE(int) ap_mpm_pod_check(ap_pod_t *pod);
|
||||
AP_DECLARE(apr_status_t) ap_mpm_pod_close(ap_pod_t *pod);
|
||||
AP_DECLARE(apr_status_t) ap_mpm_pod_signal(ap_pod_t *pod, int graceful);
|
||||
AP_DECLARE(void) ap_mpm_pod_killpg(ap_pod_t *pod, int num, int graceful);
|
||||
/** @} */
|
||||
|
@ -14,6 +14,14 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file mpmt_os2/mpm.h
|
||||
* @brief MPM for os2
|
||||
*
|
||||
* @defgroup APACHE_MPM_OS2 os2 MPM
|
||||
* @ingroup APACHE_OS_OS2 APACHE_MPM
|
||||
*/
|
||||
|
||||
#ifndef APACHE_MPM_MPMT_OS2_H
|
||||
#define APACHE_MPM_MPMT_OS2_H
|
||||
|
||||
@ -32,3 +40,4 @@ extern server_rec *ap_server_conf;
|
||||
#define AP_MPM_WANT_SET_MAX_MEM_FREE
|
||||
|
||||
#endif /* APACHE_MPM_MPMT_OS2_H */
|
||||
/** @} */
|
||||
|
@ -14,6 +14,14 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file mpmt_os2/mpm_default.h
|
||||
* @brief os2 MPM defaults
|
||||
*
|
||||
* @addtogroup APACHE_MPM_OS2
|
||||
* @{
|
||||
*/
|
||||
|
||||
#ifndef APACHE_MPM_DEFAULT_H
|
||||
#define APACHE_MPM_DEFAULT_H
|
||||
|
||||
@ -57,3 +65,4 @@
|
||||
#endif
|
||||
|
||||
#endif /* AP_MPM_DEFAULT_H */
|
||||
/** @} */
|
||||
|
@ -14,6 +14,15 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file netware/mpm.h
|
||||
* @brief Netware MPM
|
||||
*
|
||||
* @defgroup APACHE_MPM_NETWARE Netware MPM
|
||||
* @ingroup APACHE_OS_NETWARE APACHE_MPM
|
||||
* @{
|
||||
*/
|
||||
|
||||
#include "scoreboard.h"
|
||||
|
||||
#ifndef APACHE_MPM_THREADED_H
|
||||
@ -46,3 +55,4 @@ extern int ap_max_workers_limit;
|
||||
extern server_rec *ap_server_conf;
|
||||
|
||||
#endif /* APACHE_MPM_THREADED_H */
|
||||
/** @} */
|
||||
|
@ -14,6 +14,13 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file netware/mpm_default.h
|
||||
* @brief Defaults for Netware MPM
|
||||
*
|
||||
* @addtogroup APACHE_MPM_NETWARE
|
||||
* @{
|
||||
*/
|
||||
#ifndef APACHE_MPM_DEFAULT_H
|
||||
#define APACHE_MPM_DEFAULT_H
|
||||
|
||||
@ -112,3 +119,4 @@
|
||||
#endif
|
||||
|
||||
#endif /* AP_MPM_DEFAULT_H */
|
||||
/** @} */
|
||||
|
@ -14,6 +14,15 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file prefork/mpm.h
|
||||
* @brief Unix Prefork MPM (default for Uinx systems)
|
||||
*
|
||||
* @defgroup APACHE_MPM_PREFORK Unix Prefork
|
||||
* @ingroup APACHE_MPM APACHE_OS_UNIX
|
||||
* @{
|
||||
*/
|
||||
|
||||
#include "httpd.h"
|
||||
#include "mpm_default.h"
|
||||
#include "scoreboard.h"
|
||||
@ -50,3 +59,4 @@ extern int ap_threads_per_child;
|
||||
extern int ap_max_daemons_limit;
|
||||
extern server_rec *ap_server_conf;
|
||||
#endif /* APACHE_MPM_PREFORK_H */
|
||||
/** @} */
|
||||
|
@ -14,6 +14,14 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file prefork/mpm_default.h
|
||||
* @brief Prefork MPM defaults
|
||||
*
|
||||
* @addtogroup APACHE_MPM_PREFORK
|
||||
* @{
|
||||
*/
|
||||
|
||||
#ifndef APACHE_MPM_DEFAULT_H
|
||||
#define APACHE_MPM_DEFAULT_H
|
||||
|
||||
@ -63,3 +71,4 @@
|
||||
#endif
|
||||
|
||||
#endif /* AP_MPM_DEFAULT_H */
|
||||
/** @} */
|
||||
|
@ -14,6 +14,14 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file Win9xConHook.h
|
||||
* @brief ???
|
||||
*
|
||||
* @addtogroup APACHE_MPM_WINNT
|
||||
* @{
|
||||
*/
|
||||
|
||||
#ifndef AP_WIN9XCONHOOK_H
|
||||
#define AP_WIN9XCONHOOK_H
|
||||
|
||||
@ -55,3 +63,4 @@ BOOL WINAPI FixConsoleCtrlHandler(PHANDLER_ROUTINE phandler, BOOL add);
|
||||
#endif /* WIN32 */
|
||||
|
||||
#endif AP_WIN9XCONHOOK_H
|
||||
/** @} */
|
||||
|
@ -14,14 +14,22 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#ifndef APACHE_MPM_H
|
||||
#define APACHE_MPM_H
|
||||
|
||||
/* mpm.h is the place to make declarations that are MPM specific but that must be
|
||||
/**
|
||||
* @file winnt/mpm.h
|
||||
* @brief MPM for Windows NT
|
||||
*
|
||||
* this is the place to make declarations that are MPM specific but that must be
|
||||
* shared with non-mpm specific code in the server. Hummm, perhaps we can
|
||||
* move most of this stuff to mpm_common.h?
|
||||
*
|
||||
* @defgroup APACHE_MPM_WINNT WinNT MPM
|
||||
* @ingroup APACHE_OS_WIN32 APACHE_MPM
|
||||
* @{
|
||||
*/
|
||||
|
||||
#ifndef APACHE_MPM_H
|
||||
#define APACHE_MPM_H
|
||||
|
||||
#include "scoreboard.h"
|
||||
|
||||
#define MPM_NAME "WinNT"
|
||||
@ -38,3 +46,4 @@ extern int ap_thread_limit;
|
||||
extern server_rec *ap_server_conf;
|
||||
|
||||
#endif /* APACHE_MPM_H */
|
||||
/** @} */
|
||||
|
@ -14,6 +14,14 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file winnt/mpm_default.h
|
||||
* @brief win32 MPM defaults
|
||||
*
|
||||
* @addtogroup APACHE_MPM_WINNT
|
||||
* @{
|
||||
*/
|
||||
|
||||
#ifndef APACHE_MPM_DEFAULT_H
|
||||
#define APACHE_MPM_DEFAULT_H
|
||||
|
||||
@ -78,3 +86,4 @@
|
||||
#endif
|
||||
|
||||
#endif /* AP_MPM_DEFAULT_H */
|
||||
/** @} */
|
||||
|
@ -14,6 +14,14 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file mpm_winnt.h
|
||||
* @brief WinNT MPM specific
|
||||
*
|
||||
* @addtogroup APACHE_MPM_WINNT
|
||||
* @{
|
||||
*/
|
||||
|
||||
#ifndef APACHE_MPM_WINNT_H
|
||||
#define APACHE_MPM_WINNT_H
|
||||
|
||||
@ -119,3 +127,4 @@ void mpm_recycle_completion_context(PCOMP_CONTEXT pCompContext);
|
||||
apr_status_t mpm_post_completion_context(PCOMP_CONTEXT pCompContext, io_state_e state);
|
||||
void hold_console_open_on_error(void);
|
||||
#endif /* APACHE_MPM_WINNT_H */
|
||||
/** @} */
|
||||
|
@ -14,6 +14,14 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file worker/fdqueue.h
|
||||
* @brief fd queue declarations
|
||||
*
|
||||
* @addtogroup APACHE_MPM_WORKER
|
||||
* @{
|
||||
*/
|
||||
|
||||
#ifndef FDQUEUE_H
|
||||
#define FDQUEUE_H
|
||||
#include "httpd.h"
|
||||
@ -62,3 +70,4 @@ apr_status_t ap_queue_interrupt_all(fd_queue_t *queue);
|
||||
apr_status_t ap_queue_term(fd_queue_t *queue);
|
||||
|
||||
#endif /* FDQUEUE_H */
|
||||
/** @} */
|
||||
|
@ -14,6 +14,15 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file worker/mpm.h
|
||||
* @brief Unix Worker MPM
|
||||
*
|
||||
* @defgroup APACHE_MPM_WORKER Unix Worker MPM
|
||||
* @ingroup APACHE_OS_UNIX APACHE_MPM
|
||||
* @{
|
||||
*/
|
||||
|
||||
#include "scoreboard.h"
|
||||
#include "unixd.h"
|
||||
|
||||
@ -50,3 +59,4 @@ extern server_rec *ap_server_conf;
|
||||
extern char ap_coredump_dir[MAX_STRING_LEN];
|
||||
|
||||
#endif /* APACHE_MPM_WORKER_H */
|
||||
/** @} */
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user