Apache HTTPD
Classes | Macros | Typedefs | Enumerations | Functions | Variables
http_core.h File Reference

CORE HTTP Daemon. More...

#include "apr.h"
#include "apr_hash.h"
#include "apr_optional.h"
#include "util_filter.h"
#include "ap_expr.h"
#include "apr_poll.h"
#include "apr_tables.h"
#include "http_config.h"

Go to the source code of this file.

Classes

struct  require_line
 A structure to keep track of authorization requirements. More...
 
struct  core_request_config
 Per-request configuration. More...
 
struct  core_dir_config
 Per-directory configuration. More...
 
struct  core_server_config
 
struct  core_filter_ctx
 
struct  core_net_rec
 
struct  ap_LINK_insert_network_bucket_t
 
union  ap_mgmt_value
 
struct  ap_mgmt_item_t
 
struct  ap_LINK_get_mgmt_items_t
 
struct  ap_errorlog_info
 
struct  ap_errorlog_handler
 
struct  ap_errorlog_format_item
 
struct  ap_LINK_error_log_t
 
struct  ap_LINK_get_pollfd_from_conn_t
 

Macros

#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_INC_WITH_EXEC   32
 
#define OPT_SYM_OWNER   64
 
#define OPT_MULTI   128
 
#define OPT_ALL   (OPT_INDEXES|OPT_INCLUDES|OPT_INC_WITH_EXEC|OPT_SYM_LINKS|OPT_EXECCGI)
 
#define REMOTE_HOST   (0)
 
#define REMOTE_NAME   (1)
 
#define REMOTE_NOLOOKUP   (2)
 
#define REMOTE_DOUBLE_REV   (3)
 
#define SATISFY_ALL   0
 
#define SATISFY_ANY   1
 
#define SATISFY_NOSPEC   2
 
#define AP_MIN_BYTES_TO_WRITE   8000
 
#define AP_DEFAULT_MAX_INTERNAL_REDIRECTS   10
 
#define AP_DEFAULT_MAX_SUBREQ_DEPTH   10
 
#define AP_CORE_MODULE_INDEX   0
 
#define ap_get_core_module_config(v)    (((void **)(v))[AP_CORE_MODULE_INDEX])
 
#define ap_set_core_module_config(v, val)    ((((void **)(v))[AP_CORE_MODULE_INDEX]) = (val))
 
#define AP_NOTE_DIRECTORY_WALK   0
 
#define AP_NOTE_LOCATION_WALK   1
 
#define AP_NOTE_FILE_WALK   2
 
#define AP_NOTE_IF_WALK   3
 
#define AP_NUM_STD_NOTES   4
 
#define ETAG_UNSET   0
 
#define ETAG_NONE   (1 << 0)
 
#define ETAG_MTIME   (1 << 1)
 
#define ETAG_INODE   (1 << 2)
 
#define ETAG_SIZE   (1 << 3)
 
#define ETAG_DIGEST   (1 << 4)
 
#define ETAG_ALL   (ETAG_MTIME | ETAG_INODE | ETAG_SIZE)
 
#define ETAG_BACKWARD   (ETAG_MTIME | ETAG_SIZE)
 
#define AP_CORE_CONFIG_OFF   (0)
 
#define AP_CORE_CONFIG_ON   (1)
 
#define AP_CORE_CONFIG_UNSET   (2)
 
#define AP_CORE_MERGE_FLAG(field, to, base, over)
 
#define HOSTNAME_LOOKUP_OFF   0
 
#define HOSTNAME_LOOKUP_ON   1
 
#define HOSTNAME_LOOKUP_DOUBLE   2
 
#define HOSTNAME_LOOKUP_UNSET   3
 
#define USE_CANONICAL_NAME_OFF   (0)
 
#define USE_CANONICAL_NAME_ON   (1)
 
#define USE_CANONICAL_NAME_DNS   (2)
 
#define USE_CANONICAL_NAME_UNSET   (3)
 
#define ADD_DEFAULT_CHARSET_OFF   (0)
 
#define ADD_DEFAULT_CHARSET_ON   (1)
 
#define ADD_DEFAULT_CHARSET_UNSET   (2)
 
#define ENABLE_MMAP_OFF   (0)
 
#define ENABLE_MMAP_ON   (1)
 
#define ENABLE_MMAP_UNSET   (2)
 
#define ENABLE_SENDFILE_OFF   (0)
 
#define ENABLE_SENDFILE_ON   (1)
 
#define ENABLE_SENDFILE_UNSET   (2)
 
#define USE_CANONICAL_PHYS_PORT_OFF   (0)
 
#define USE_CANONICAL_PHYS_PORT_ON   (1)
 
#define USE_CANONICAL_PHYS_PORT_UNSET   (2)
 
#define AP_CONDITION_IF   1
 
#define AP_CONDITION_ELSE   2
 
#define AP_CONDITION_ELSEIF   (AP_CONDITION_ELSE|AP_CONDITION_IF)
 
#define AP_MAXRANGES_UNSET   -1
 
#define AP_MAXRANGES_DEFAULT   -2
 
#define AP_MAXRANGES_UNLIMITED   -3
 
#define AP_MAXRANGES_NORANGES   0
 
#define AP_CGI_PASS_AUTH_OFF   (0)
 
#define AP_CGI_PASS_AUTH_ON   (1)
 
#define AP_CGI_PASS_AUTH_UNSET   (2)
 
#define AP_SENDFILE_ENABLED(x)    ((x) == ENABLE_SENDFILE_ON ? APR_SENDFILE_ENABLED : 0)
 
#define AP_TRACE_UNSET   -1
 
#define AP_TRACE_DISABLE   0
 
#define AP_TRACE_ENABLE   1
 
#define AP_TRACE_EXTENDED   2
 
#define AP_MERGE_TRAILERS_UNSET   0
 
#define AP_MERGE_TRAILERS_ENABLE   1
 
#define AP_MERGE_TRAILERS_DISABLE   2
 
#define AP_HTTP09_UNSET   0
 
#define AP_HTTP09_ENABLE   1
 
#define AP_HTTP09_DISABLE   2
 
#define AP_HTTP_CONFORMANCE_UNSET   0
 
#define AP_HTTP_CONFORMANCE_UNSAFE   1
 
#define AP_HTTP_CONFORMANCE_STRICT   2
 
#define AP_HTTP_METHODS_UNSET   0
 
#define AP_HTTP_METHODS_LENIENT   1
 
#define AP_HTTP_METHODS_REGISTERED   2
 
#define AP_ERRORLOG_FLAG_FIELD_SEP   1
 
#define AP_ERRORLOG_FLAG_MESSAGE   2
 
#define AP_ERRORLOG_FLAG_REQUIRED   4
 
#define AP_ERRORLOG_FLAG_NULL_AS_HYPHEN   8
 
#define AP_SQ_MAIN_STATE   0
 
#define AP_SQ_RUN_MODE   1
 
#define AP_SQ_CONFIG_GEN   2
 
#define AP_SQ_NOT_SUPPORTED   -1
 
#define AP_SQ_MS_INITIAL_STARTUP   1
 
#define AP_SQ_MS_CREATE_PRE_CONFIG   2
 
#define AP_SQ_MS_DESTROY_CONFIG   3
 
#define AP_SQ_MS_CREATE_CONFIG   4
 
#define AP_SQ_MS_RUN_MPM   5
 
#define AP_SQ_MS_EXITING   6
 
#define AP_SQ_RM_UNKNOWN   1
 
#define AP_SQ_RM_NORMAL   2
 
#define AP_SQ_RM_CONFIG_TEST   3
 
#define AP_SQ_RM_CONFIG_DUMP   4
 

Typedefs

typedef struct require_line require_line
 
typedef unsigned char allow_options_t
 
typedef unsigned int overrides_t
 
typedef unsigned long etag_components_t
 
typedef struct core_output_filter_ctx core_output_filter_ctx_t
 
typedef struct core_filter_ctx core_ctx_t
 
typedef struct core_net_rec core_net_rec
 
typedef apr_status_t ap_HOOK_insert_network_bucket_t(conn_rec *c, apr_bucket_brigade *bb, apr_socket_t *socket)
 
typedef struct ap_LINK_insert_network_bucket_t ap_LINK_insert_network_bucket_t
 
typedef int ap_HOOK_get_mgmt_items_t(apr_pool_t *p, const char *val, apr_hash_t *ht)
 
typedef struct ap_LINK_get_mgmt_items_t ap_LINK_get_mgmt_items_t
 
typedef void() apr_OFN_ap_logio_add_bytes_out_t(conn_rec *c, apr_off_t bytes)
 
typedef void() apr_OFN_ap_logio_add_bytes_in_t(conn_rec *c, apr_off_t bytes)
 
typedef apr_off_t() apr_OFN_ap_logio_get_last_bytes_t(conn_rec *c)
 
typedef struct ap_errorlog_info ap_errorlog_info
 
typedef int ap_errorlog_handler_fn_t(const ap_errorlog_info *info, const char *arg, char *buf, int buflen)
 
typedef struct ap_errorlog_handler ap_errorlog_handler
 
typedef void ap_HOOK_error_log_t(const ap_errorlog_info *info, const char *errstr)
 
typedef struct ap_LINK_error_log_t ap_LINK_error_log_t
 
typedef const char *() apr_OFN_ap_ident_lookup_t(request_rec *r)
 
typedef int() apr_OFN_authz_some_auth_required_t(request_rec *r)
 
typedef const char *() apr_OFN_authn_ap_auth_type_t(request_rec *r)
 
typedef const char *() apr_OFN_authn_ap_auth_name_t(request_rec *r)
 
typedef int() apr_OFN_access_compat_ap_satisfies_t(request_rec *r)
 
typedef apr_status_t ap_HOOK_get_pollfd_from_conn_t(conn_rec *c, struct apr_pollfd_t *pfd, apr_interval_time_t *ptimeout)
 
typedef struct ap_LINK_get_pollfd_from_conn_t ap_LINK_get_pollfd_from_conn_t
 

Enumerations

enum  server_signature_e { srv_sig_unset , srv_sig_off , srv_sig_on , srv_sig_withmail }
 Server Signature Enumeration. More...
 
enum  ap_mgmt_type_e { ap_mgmt_type_string , ap_mgmt_type_long , ap_mgmt_type_hash }
 

Functions

int ap_allow_options (request_rec *r)
 
int ap_allow_overrides (request_rec *r)
 
const charap_document_root (request_rec *r)
 
const charap_get_useragent_host (request_rec *req, int type, int *str_is_ip)
 
const charap_get_remote_host (conn_rec *conn, void *dir_config, int type, int *str_is_ip)
 
const charap_get_remote_logname (request_rec *r)
 
charap_construct_url (apr_pool_t *p, const char *uri, request_rec *r)
 
const charap_get_server_name (request_rec *r)
 
const charap_get_server_name_for_url (request_rec *r)
 
apr_port_t ap_get_server_port (const request_rec *r)
 
apr_size_t ap_get_read_buf_size (const request_rec *r)
 
apr_off_t ap_get_limit_req_body (const request_rec *r)
 
apr_size_t ap_get_limit_xml_body (const request_rec *r)
 
void ap_custom_response (request_rec *r, int status, const char *string)
 
int ap_is_recursion_limit_exceeded (const request_rec *r)
 
int ap_exists_config_define (const char *name)
 
int ap_core_translate (request_rec *r)
 
const charap_auth_type (request_rec *r)
 
const charap_auth_name (request_rec *r)
 
int ap_satisfies (request_rec *r)
 
void * ap_get_core_module_config (const ap_conf_vector_t *cv)
 
void ap_set_core_module_config (ap_conf_vector_t *cv, void *val)
 
apr_socket_tap_get_conn_socket (conn_rec *c)
 
apr_size_t ap_register_request_note (void)
 
void ** ap_get_request_note (request_rec *r, apr_size_t note_num)
 
void ap_add_output_filters_by_type (request_rec *r)
 
void ap_core_reorder_directories (apr_pool_t *, server_rec *)
 
void ap_add_per_dir_conf (server_rec *s, void *dir_config)
 
void ap_add_per_url_conf (server_rec *s, void *url_config)
 
void ap_add_file_conf (apr_pool_t *p, core_dir_config *conf, void *url_config)
 
const charap_add_if_conf (apr_pool_t *p, core_dir_config *conf, void *url_config)
 
const charap_limit_section (cmd_parms *cmd, void *dummy, const char *arg)
 
apr_status_t ap_core_input_filter (ap_filter_t *f, apr_bucket_brigade *b, ap_input_mode_t mode, apr_read_type_e block, apr_off_t readbytes)
 
apr_status_t ap_core_output_filter (ap_filter_t *f, apr_bucket_brigade *b)
 
const charap_get_server_protocol (server_rec *s)
 
void ap_set_server_protocol (server_rec *s, const char *proto)
 
void ap_hook_insert_network_bucket (ap_HOOK_insert_network_bucket_t *pf, const char *const *aszPre, const char *const *aszSucc, int nOrder)
 
apr_status_t ap_run_insert_network_bucket (conn_rec *c, apr_bucket_brigade *bb, apr_socket_t *socket)
 
apr_array_header_tap_hook_get_insert_network_bucket (void)
 
void ap_hook_get_mgmt_items (ap_HOOK_get_mgmt_items_t *pf, const char *const *aszPre, const char *const *aszSucc, int nOrder)
 
int ap_run_get_mgmt_items (apr_pool_t *p, const char *val, apr_hash_t *ht)
 
apr_array_header_tap_hook_get_get_mgmt_items (void)
 
void ap_register_errorlog_handler (apr_pool_t *p, char *tag, ap_errorlog_handler_fn_t *handler, int flags)
 
void ap_hook_error_log (ap_HOOK_error_log_t *pf, const char *const *aszPre, const char *const *aszSucc, int nOrder)
 
void ap_run_error_log (const ap_errorlog_info *info, const char *errstr)
 
apr_array_header_tap_hook_get_error_log (void)
 
void ap_register_log_hooks (apr_pool_t *p)
 
void ap_register_config_hooks (apr_pool_t *p)
 
int ap_state_query (int query_code)
 
void ap_hook_get_pollfd_from_conn (ap_HOOK_get_pollfd_from_conn_t *pf, const char *const *aszPre, const char *const *aszSucc, int nOrder)
 
apr_status_t ap_run_get_pollfd_from_conn (conn_rec *c, struct apr_pollfd_t *pfd, apr_interval_time_t *ptimeout)
 
apr_array_header_tap_hook_get_get_pollfd_from_conn (void)
 
apr_status_t ap_get_pollfd_from_conn (conn_rec *c, struct apr_pollfd_t *pfd, apr_interval_time_t *ptimeout)
 

Variables

ap_filter_rec_tap_subreq_core_filter_handle
 
ap_filter_rec_tap_core_output_filter_handle
 
ap_filter_rec_tap_content_length_filter_handle
 
ap_filter_rec_tap_core_input_filter_handle
 

Detailed Description

CORE HTTP Daemon.

Definition in file http_core.h.

Macro Definition Documentation

◆ ADD_DEFAULT_CHARSET_OFF

#define ADD_DEFAULT_CHARSET_OFF   (0)

Definition at line 574 of file http_core.h.

◆ ADD_DEFAULT_CHARSET_ON

#define ADD_DEFAULT_CHARSET_ON   (1)

Definition at line 575 of file http_core.h.

◆ ADD_DEFAULT_CHARSET_UNSET

#define ADD_DEFAULT_CHARSET_UNSET   (2)

Definition at line 576 of file http_core.h.

◆ AP_CGI_PASS_AUTH_OFF

#define AP_CGI_PASS_AUTH_OFF   (0)

Definition at line 670 of file http_core.h.

◆ AP_CGI_PASS_AUTH_ON

#define AP_CGI_PASS_AUTH_ON   (1)

Definition at line 671 of file http_core.h.

◆ AP_CGI_PASS_AUTH_UNSET

#define AP_CGI_PASS_AUTH_UNSET   (2)

Definition at line 672 of file http_core.h.

◆ AP_CONDITION_ELSE

#define AP_CONDITION_ELSE   2

Definition at line 638 of file http_core.h.

◆ AP_CONDITION_ELSEIF

#define AP_CONDITION_ELSEIF   (AP_CONDITION_ELSE|AP_CONDITION_IF)

Definition at line 639 of file http_core.h.

◆ AP_CONDITION_IF

#define AP_CONDITION_IF   1

Definition at line 637 of file http_core.h.

◆ AP_HTTP09_DISABLE

#define AP_HTTP09_DISABLE   2

Definition at line 742 of file http_core.h.

◆ AP_HTTP09_ENABLE

#define AP_HTTP09_ENABLE   1

Definition at line 741 of file http_core.h.

◆ AP_HTTP09_UNSET

#define AP_HTTP09_UNSET   0

Definition at line 740 of file http_core.h.

◆ AP_HTTP_CONFORMANCE_STRICT

#define AP_HTTP_CONFORMANCE_STRICT   2

Definition at line 747 of file http_core.h.

◆ AP_HTTP_CONFORMANCE_UNSAFE

#define AP_HTTP_CONFORMANCE_UNSAFE   1

Definition at line 746 of file http_core.h.

◆ AP_HTTP_CONFORMANCE_UNSET

#define AP_HTTP_CONFORMANCE_UNSET   0

Definition at line 745 of file http_core.h.

◆ AP_HTTP_METHODS_LENIENT

#define AP_HTTP_METHODS_LENIENT   1

Definition at line 751 of file http_core.h.

◆ AP_HTTP_METHODS_REGISTERED

#define AP_HTTP_METHODS_REGISTERED   2

Definition at line 752 of file http_core.h.

◆ AP_HTTP_METHODS_UNSET

#define AP_HTTP_METHODS_UNSET   0

Definition at line 750 of file http_core.h.

◆ AP_MAXRANGES_DEFAULT

#define AP_MAXRANGES_DEFAULT   -2

Definition at line 651 of file http_core.h.

◆ AP_MAXRANGES_NORANGES

#define AP_MAXRANGES_NORANGES   0

Definition at line 653 of file http_core.h.

◆ AP_MAXRANGES_UNLIMITED

#define AP_MAXRANGES_UNLIMITED   -3

Definition at line 652 of file http_core.h.

◆ AP_MAXRANGES_UNSET

#define AP_MAXRANGES_UNSET   -1

Definition at line 650 of file http_core.h.

◆ AP_MERGE_TRAILERS_DISABLE

#define AP_MERGE_TRAILERS_DISABLE   2

Definition at line 734 of file http_core.h.

◆ AP_MERGE_TRAILERS_ENABLE

#define AP_MERGE_TRAILERS_ENABLE   1

Definition at line 733 of file http_core.h.

◆ AP_MERGE_TRAILERS_UNSET

#define AP_MERGE_TRAILERS_UNSET   0

Definition at line 732 of file http_core.h.

◆ AP_TRACE_DISABLE

#define AP_TRACE_DISABLE   0

Definition at line 728 of file http_core.h.

◆ AP_TRACE_ENABLE

#define AP_TRACE_ENABLE   1

Definition at line 729 of file http_core.h.

◆ AP_TRACE_EXTENDED

#define AP_TRACE_EXTENDED   2

Definition at line 730 of file http_core.h.

◆ AP_TRACE_UNSET

#define AP_TRACE_UNSET   -1

Definition at line 727 of file http_core.h.

◆ ENABLE_MMAP_OFF

#define ENABLE_MMAP_OFF   (0)

Definition at line 618 of file http_core.h.

◆ ENABLE_MMAP_ON

#define ENABLE_MMAP_ON   (1)

Definition at line 619 of file http_core.h.

◆ ENABLE_MMAP_UNSET

#define ENABLE_MMAP_UNSET   (2)

Definition at line 620 of file http_core.h.

◆ ENABLE_SENDFILE_OFF

#define ENABLE_SENDFILE_OFF   (0)

Definition at line 623 of file http_core.h.

◆ ENABLE_SENDFILE_ON

#define ENABLE_SENDFILE_ON   (1)

Definition at line 624 of file http_core.h.

◆ ENABLE_SENDFILE_UNSET

#define ENABLE_SENDFILE_UNSET   (2)

Definition at line 625 of file http_core.h.

◆ HOSTNAME_LOOKUP_DOUBLE

#define HOSTNAME_LOOKUP_DOUBLE   2

Definition at line 553 of file http_core.h.

◆ HOSTNAME_LOOKUP_OFF

#define HOSTNAME_LOOKUP_OFF   0

Definition at line 551 of file http_core.h.

◆ HOSTNAME_LOOKUP_ON

#define HOSTNAME_LOOKUP_ON   1

Definition at line 552 of file http_core.h.

◆ HOSTNAME_LOOKUP_UNSET

#define HOSTNAME_LOOKUP_UNSET   3

Definition at line 554 of file http_core.h.

◆ USE_CANONICAL_NAME_DNS

#define USE_CANONICAL_NAME_DNS   (2)

Definition at line 561 of file http_core.h.

◆ USE_CANONICAL_NAME_OFF

#define USE_CANONICAL_NAME_OFF   (0)

Definition at line 559 of file http_core.h.

◆ USE_CANONICAL_NAME_ON

#define USE_CANONICAL_NAME_ON   (1)

Definition at line 560 of file http_core.h.

◆ USE_CANONICAL_NAME_UNSET

#define USE_CANONICAL_NAME_UNSET   (3)

Definition at line 562 of file http_core.h.

◆ USE_CANONICAL_PHYS_PORT_OFF

#define USE_CANONICAL_PHYS_PORT_OFF   (0)

Definition at line 628 of file http_core.h.

◆ USE_CANONICAL_PHYS_PORT_ON

#define USE_CANONICAL_PHYS_PORT_ON   (1)

Definition at line 629 of file http_core.h.

◆ USE_CANONICAL_PHYS_PORT_UNSET

#define USE_CANONICAL_PHYS_PORT_UNSET   (2)

Definition at line 630 of file http_core.h.