Apache2
|
HTTP Daemon routines. More...
#include "ap_config.h"
#include "ap_mmn.h"
#include "ap_release.h"
#include "apr.h"
#include "apr_version.h"
#include "apr_general.h"
#include "apr_tables.h"
#include "apr_pools.h"
#include "apr_time.h"
#include "apr_network_io.h"
#include "apr_buckets.h"
#include "apr_poll.h"
#include "apr_thread_proc.h"
#include "apr_hash.h"
#include "os.h"
#include "ap_regex.h"
#include "apr_uri.h"
#include "util_filter.h"
#include <string.h>
Go to the source code of this file.
Data Structures | |
struct | ap_version_t |
The numeric version information is broken out into fields within this structure. More... | |
struct | ap_method_list_t |
Structure for handling HTTP methods. More... | |
struct | htaccess_result |
This represents the result of calling htaccess; these are cached for each request. More... | |
struct | process_rec |
A structure that represents one process. More... | |
struct | request_rec |
A structure that represents the current request. More... | |
struct | conn_rec |
Structure to store things which are per connection. More... | |
struct | conn_slave_rec |
struct | conn_state_t |
A structure to contain connection state information. More... | |
struct | server_addr_rec |
A structure to be used for Per-vhost config. More... | |
struct | ap_logconf |
struct | server_rec |
A structure to store information for each virtual server. More... | |
struct | ap_sload_t |
A structure to hold server load params. More... | |
struct | ap_loadavg_t |
A structure to hold various server loadavg. More... | |
struct | ap_form_pair_t |
struct | ap_dir_match_t |
Macros | |
#define | DOCUMENT_LOCATION HTTPD_ROOT "/htdocs" |
#define | DYNAMIC_MODULE_LIMIT 256 |
#define | DEFAULT_ADMIN "[no address given]" |
#define | DEFAULT_ERRORLOG "logs/error_log" |
#define | DEFAULT_ACCESS_FNAME ".htaccess" |
#define | DEFAULT_PATH "/bin:/usr/bin:/usr/ucb:/usr/bsd:/usr/local/bin" |
#define | SUEXEC_BIN HTTPD_ROOT "/bin/suexec" |
#define | DEFAULT_TIMEOUT 60 |
#define | DEFAULT_KEEPALIVE_TIMEOUT 5 |
#define | DEFAULT_KEEPALIVE 100 |
#define | DEFAULT_LIMIT_REQUEST_LINE 8190 |
#define | DEFAULT_LIMIT_REQUEST_FIELDSIZE 8190 |
#define | DEFAULT_LIMIT_REQUEST_FIELDS 100 |
#define | DEFAULT_LIMIT_BLANK_LINES 10 |
#define | DEFAULT_ADD_DEFAULT_CHARSET_NAME "iso-8859-1" |
#define | AP_SERVER_PROTOCOL "HTTP/1.1" |
#define | AP_DEFAULT_INDEX "index.html" |
#define | DOCTYPE_HTML_2_0 |
#define | DOCTYPE_HTML_3_2 |
#define | DOCTYPE_HTML_4_0S |
#define | DOCTYPE_HTML_4_0T |
#define | DOCTYPE_HTML_4_0F |
#define | DOCTYPE_HTML_4_01 "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\" \"http://www.w3.org/TR/html4/strict.dtd\">\n" |
#define | DOCTYPE_HTML_5 "<!DOCTYPE html>\n" |
#define | DOCTYPE_XHTML_1_0S |
#define | DOCTYPE_XHTML_1_0T |
#define | DOCTYPE_XHTML_1_0F |
#define | HTTP_VERSION(major, minor) (1000*(major)+(minor)) |
#define | HTTP_VERSION_MAJOR(number) ((number)/1000) |
#define | HTTP_VERSION_MINOR(number) ((number)%1000) |
#define | DEFAULT_HTTP_PORT 80 |
#define | DEFAULT_HTTPS_PORT 443 |
#define | ap_is_default_port(port, r) ((port) == ap_default_port(r)) |
#define | ap_default_port(r) ap_run_default_port(r) |
#define | ap_http_scheme(r) ap_run_http_scheme(r) |
#define | MAX_STRING_LEN HUGE_STRING_LEN |
#define | HUGE_STRING_LEN 8192 |
#define | AP_IOBUFSIZE 8192 |
#define | AP_MAX_REG_MATCH 10 |
#define | AP_MAX_SENDFILE 16777216 /* 2^24 */ |
#define | APEXIT_OK 0x0 |
#define | APEXIT_INIT 0x2 |
#define | APEXIT_CHILDINIT 0x3 |
#define | APEXIT_CHILDSICK 0x7 |
#define | APEXIT_CHILDFATAL 0xf |
#define | AP_START_USERERR (APR_OS_START_USERERR + 2000) |
#define | AP_USERERR_LEN 1000 |
#define | AP_DECLINED (AP_START_USERERR + 0) |
#define | OK 0 |
#define | DECLINED -1 |
#define | DONE -2 |
#define | SUSPENDED -3 |
#define | AP_NOBODY_WROTE -100 |
#define | AP_NOBODY_READ -101 |
#define | AP_FILTER_ERROR -102 |
#define | RESPONSE_CODES 103 |
#define | HTTP_CONTINUE 100 |
#define | HTTP_SWITCHING_PROTOCOLS 101 |
#define | HTTP_PROCESSING 102 |
#define | HTTP_OK 200 |
#define | HTTP_CREATED 201 |
#define | HTTP_ACCEPTED 202 |
#define | HTTP_NON_AUTHORITATIVE 203 |
#define | HTTP_NO_CONTENT 204 |
#define | HTTP_RESET_CONTENT 205 |
#define | HTTP_PARTIAL_CONTENT 206 |
#define | HTTP_MULTI_STATUS 207 |
#define | HTTP_ALREADY_REPORTED 208 |
#define | HTTP_IM_USED 226 |
#define | HTTP_MULTIPLE_CHOICES 300 |
#define | HTTP_MOVED_PERMANENTLY 301 |
#define | HTTP_MOVED_TEMPORARILY 302 |
#define | HTTP_SEE_OTHER 303 |
#define | HTTP_NOT_MODIFIED 304 |
#define | HTTP_USE_PROXY 305 |
#define | HTTP_TEMPORARY_REDIRECT 307 |
#define | HTTP_PERMANENT_REDIRECT 308 |
#define | HTTP_BAD_REQUEST 400 |
#define | HTTP_UNAUTHORIZED 401 |
#define | HTTP_PAYMENT_REQUIRED 402 |
#define | HTTP_FORBIDDEN 403 |
#define | HTTP_NOT_FOUND 404 |
#define | HTTP_METHOD_NOT_ALLOWED 405 |
#define | HTTP_NOT_ACCEPTABLE 406 |
#define | HTTP_PROXY_AUTHENTICATION_REQUIRED 407 |
#define | HTTP_REQUEST_TIME_OUT 408 |
#define | HTTP_CONFLICT 409 |
#define | HTTP_GONE 410 |
#define | HTTP_LENGTH_REQUIRED 411 |
#define | HTTP_PRECONDITION_FAILED 412 |
#define | HTTP_REQUEST_ENTITY_TOO_LARGE 413 |
#define | HTTP_REQUEST_URI_TOO_LARGE 414 |
#define | HTTP_UNSUPPORTED_MEDIA_TYPE 415 |
#define | HTTP_RANGE_NOT_SATISFIABLE 416 |
#define | HTTP_EXPECTATION_FAILED 417 |
#define | HTTP_IM_A_TEAPOT 418 |
#define | HTTP_MISDIRECTED_REQUEST 421 |
#define | HTTP_UNPROCESSABLE_ENTITY 422 |
#define | HTTP_LOCKED 423 |
#define | HTTP_FAILED_DEPENDENCY 424 |
#define | HTTP_TOO_EARLY 425 |
#define | HTTP_UPGRADE_REQUIRED 426 |
#define | HTTP_PRECONDITION_REQUIRED 428 |
#define | HTTP_TOO_MANY_REQUESTS 429 |
#define | HTTP_REQUEST_HEADER_FIELDS_TOO_LARGE 431 |
#define | HTTP_UNAVAILABLE_FOR_LEGAL_REASONS 451 |
#define | HTTP_INTERNAL_SERVER_ERROR 500 |
#define | HTTP_NOT_IMPLEMENTED 501 |
#define | HTTP_BAD_GATEWAY 502 |
#define | HTTP_SERVICE_UNAVAILABLE 503 |
#define | HTTP_GATEWAY_TIME_OUT 504 |
#define | HTTP_VERSION_NOT_SUPPORTED 505 |
#define | HTTP_VARIANT_ALSO_VARIES 506 |
#define | HTTP_INSUFFICIENT_STORAGE 507 |
#define | HTTP_LOOP_DETECTED 508 |
#define | HTTP_NOT_EXTENDED 510 |
#define | HTTP_NETWORK_AUTHENTICATION_REQUIRED 511 |
#define | ap_is_HTTP_INFO(x) (((x) >= 100)&&((x) < 200)) |
#define | ap_is_HTTP_SUCCESS(x) (((x) >= 200)&&((x) < 300)) |
#define | ap_is_HTTP_REDIRECT(x) (((x) >= 300)&&((x) < 400)) |
#define | ap_is_HTTP_ERROR(x) (((x) >= 400)&&((x) < 600)) |
#define | ap_is_HTTP_CLIENT_ERROR(x) (((x) >= 400)&&((x) < 500)) |
#define | ap_is_HTTP_SERVER_ERROR(x) (((x) >= 500)&&((x) < 600)) |
#define | ap_is_HTTP_VALID_RESPONSE(x) (((x) >= 100)&&((x) < 600)) |
#define | ap_status_drops_connection(x) |
#define | AP_STATUS_IS_HEADER_ONLY(x) |
#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 /** RFC 5789: PATCH Method for HTTP */ |
#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_CHECKOUT 16 /* : */ |
#define | M_UNCHECKOUT 17 |
#define | M_CHECKIN 18 |
#define | M_UPDATE 19 |
#define | M_LABEL 20 |
#define | M_REPORT 21 |
#define | M_MKWORKSPACE 22 |
#define | M_MKACTIVITY 23 |
#define | M_BASELINE_CONTROL 24 |
#define | M_MERGE 25 |
#define | M_INVALID |
#define | METHODS 64 |
#define | AP_METHOD_BIT ((ap_method_mask_t)1) |
#define | AP_REQUEST_STRONG_ETAG 1 >> 0 |
#define | AP_REQUEST_GET_BNOTE(r, mask) ((mask) & ((r)->bnotes)) |
#define | AP_REQUEST_SET_BNOTE(r, mask, val) (r)->bnotes = (((r)->bnotes & ~(mask)) | (val)) |
#define | AP_REQUEST_IS_STRONG_ETAG(r) AP_REQUEST_GET_BNOTE((r), AP_REQUEST_STRONG_ETAG) |
#define | CGI_MAGIC_TYPE "application/x-httpd-cgi" |
#define | INCLUDES_MAGIC_TYPE "text/x-server-parsed-html" |
#define | INCLUDES_MAGIC_TYPE3 "text/x-server-parsed-html3" |
#define | DIR_MAGIC_TYPE "httpd/unix-directory" |
#define | AP_DEFAULT_HANDLER_NAME "" |
#define | AP_IS_DEFAULT_HANDLER_NAME(x) (*x == '\0') |
#define | LF 10 |
#define | CR 13 |
#define | CRLF "\015\012" |
#define | CRLF_ASCII "\015\012" |
#define | ZERO_ASCII "\060" |
#define | REQUEST_NO_BODY 0 |
#define | REQUEST_CHUNKED_ERROR 1 |
#define | REQUEST_CHUNKED_DECHUNK 2 |
#define | AP_REQ_ACCEPT_PATH_INFO 0 |
#define | AP_REQ_REJECT_PATH_INFO 1 |
#define | AP_REQ_DEFAULT_PATH_INFO 2 |
#define | PROXYREQ_NONE 0 |
#define | PROXYREQ_PROXY 1 |
#define | PROXYREQ_REVERSE 2 |
#define | PROXYREQ_RESPONSE 3 |
#define | DEFAULT_VHOST_ADDR 0xfffffffful |
#define | AP_UNESCAPE_URL_KEEP_UNRESERVED (1u << 0) |
#define | AP_UNESCAPE_URL_FORBID_SLASHES (1u << 1) |
#define | AP_UNESCAPE_URL_KEEP_SLASHES (1u << 2) |
#define | AP_NORMALIZE_ALLOW_RELATIVE (1u << 0) |
#define | AP_NORMALIZE_NOT_ABOVE_ROOT (1u << 1) |
#define | AP_NORMALIZE_DECODE_UNRESERVED (1u << 2) |
#define | AP_NORMALIZE_MERGE_SLASHES (1u << 3) |
#define | AP_NORMALIZE_DROP_PARAMETERS (0) /* deprecated */ |
#define | ap_escape_uri(ppool, path) ap_os_escape_path(ppool,path,1) |
#define | ap_escape_html(p, s) ap_escape_html2(p,s,0) |
#define | AP_TAINT_HTACCESS 0x1 |
#define | ap_assert(exp) ((exp) ? (void)0 : ap_log_assert(#exp,__FILE__,__LINE__)) |
#define | AP_DEBUG_ASSERT(exp) ((void)0) |
#define | SIGSTOP_DETACH 1 |
#define | SIGSTOP_MAKE_CHILD 2 |
#define | SIGSTOP_SPAWN_CHILD 4 |
#define | SIGSTOP_PIPED_LOG_SPAWN 8 |
#define | SIGSTOP_CGI_CHILD 16 |
#define | RAISE_SIGSTOP(x) |
#define | ap_strchr(s, c) strchr(s, c) |
#define | ap_strchr_c(s, c) strchr(s, c) |
#define | ap_strrchr(s, c) strrchr(s, c) |
#define | ap_strrchr_c(s, c) strrchr(s, c) |
#define | ap_strstr(s, c) strstr(s, c) |
#define | ap_strstr_c(s, c) strstr(s, c) |
#define | AP_HAS_THREAD_LOCAL 0 |
#define | AP_NORESTART APR_OS_START_USEERR + 1 |
#define | AP_DIR_FLAG_NONE 0 |
#define | AP_DIR_FLAG_OPTIONAL 1 |
#define | AP_DIR_FLAG_RECURSIVE 2 |
Typedefs | |
typedef apr_uint64_t | ap_method_mask_t |
typedef struct ap_method_list_t | ap_method_list_t |
typedef apr_uint64_t | ap_request_bnotes_t |
typedef struct process_rec | process_rec |
typedef struct server_rec | server_rec |
typedef struct conn_rec | conn_rec |
typedef struct conn_slave_rec | conn_slave_rec |
typedef struct request_rec | request_rec |
typedef struct conn_state_t | conn_state_t |
typedef struct server_addr_rec | server_addr_rec |
typedef struct ap_sload_t | ap_sload_t |
typedef struct ap_loadavg_t | ap_loadavg_t |
typedef struct ap_dir_match_t | ap_dir_match_t |
Enumerations | |
enum | ap_conn_keepalive_e { AP_CONN_UNKNOWN , AP_CONN_CLOSE , AP_CONN_KEEPALIVE } |
Enumeration of connection keepalive options. More... | |
enum | conn_state_e { CONN_STATE_CHECK_REQUEST_LINE_READABLE , CONN_STATE_READ_REQUEST_LINE , CONN_STATE_HANDLER , CONN_STATE_WRITE_COMPLETION , CONN_STATE_SUSPENDED , CONN_STATE_LINGER , CONN_STATE_LINGER_NORMAL , CONN_STATE_LINGER_SHORT , CONN_STATE_NUM } |
enum | conn_sense_e { CONN_SENSE_DEFAULT , CONN_SENSE_WANT_READ , CONN_SENSE_WANT_WRITE } |
HTTP Daemon routines.