/* Licensed to the Apache Software Foundation (ASF) under one or more *contributorlicenseagreements.SeetheNOTICEfiledistributedwith *thisworkforadditionalinformationregardingcopyrightownership. *TheASFlicensesthisfiletoYouundertheApacheLicense,Version2.0 *(the"License");youmaynotusethisfileexceptincompliancewith *theLicense.YoumayobtainacopyoftheLicenseat * *http://www.apache.org/licenses/LICENSE-2.0 * *Unlessrequiredbyapplicablelaworagreedtoinwriting,software *distributedundertheLicenseisdistributedonan"ASIS"BASIS, *WITHOUTWARRANTIESORCONDITIONSOFANYKIND,eitherexpressorimplied. *SeetheLicenseforthespecificlanguagegoverningpermissionsand *limitationsundertheLicense.
*/
/** *@defgroupget_remote_hostRemoteHostResolution *@ingroupAPACHE_CORE_HTTPD *@{
*/ /** REMOTE_HOST returns the hostname, or NULL if the hostname *lookupfails.ItwillforceaDNSlookupaccordingtothe *HostnameLookupssetting.
*/ #define REMOTE_HOST (0)
/** REMOTE_NAME returns the hostname, or the dotted quad if the *hostnamelookupfails.ItwillforceaDNSlookupaccording *totheHostnameLookupssetting.
*/ #define REMOTE_NAME (1)
/** REMOTE_NOLOOKUP is like REMOTE_NAME except that a DNS lookup is *neverforced.
*/ #define REMOTE_NOLOOKUP (2)
/** REMOTE_DOUBLE_REV will always force a DNS lookup, and also force *adoublereverselookup,regardlessoftheHostnameLookups *setting.Theresultisthe(doublereversechecked)hostname, *orNULLifanyofthelookupsfail.
*/ #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.
*/ #define AP_MIN_BYTES_TO_WRITE 8000
/** default maximum of internal redirects */ # define AP_DEFAULT_MAX_INTERNAL_REDIRECTS 10
/** *Checkforadefinitionfromtheservercommandline *@paramnameThedefinetocheckfor *@return1ifdefined,0otherwise
*/
AP_DECLARE(int) ap_exists_config_define(constchar *name); /* FIXME! See STATUS about how */
AP_DECLARE_NONSTD(int) ap_core_translate(request_rec *r);
/* Authentication stuff. This is one of the places where compatibility *withtheoldconfigfiles*really*hurts;theydon'tdiscriminateat *allbetweendifferentauthenticationschemes,meaningthatweneed *tomaintaincommonstateforalloftheminthecore,andmakeit *availabletotheothermodulesthroughinterfaces.
*/
/** *@briefAstructuretokeeptrackofauthorizationrequirements
*/ struct require_line { /** Where the require line is in the config file. */
apr_int64_t method_mask; /** The complete string from the command line */ char *requirement;
};
/** Get the socket from the core network filter. This should be used instead of *accessingthecoreconnectionconfigdirectly. *@paramcTheconnectionrecord *@returnThesocket
*/
AP_DECLARE(apr_socket_t *) ap_get_conn_socket(conn_rec *c);
/** *@briefPer-requestconfiguration
*/ typedefstruct { /** 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 *byIDusingap_get_request_note() *(Useap_register_request_note()duringinitialization *toaddelements)
*/ void **notes;
/** Custom response strings registered via ap_custom_response(), *orNULL;checkper-dirconfigifnothingfoundhere
*/ char **response_code_strings; /* from ap_custom_response(), not from *ErrorDocument
*/
/** per-request document root of the server. This allows mass vhosting *modulesbettercompatibilitywithsomescripts.Normallythe
* context_* info should be used instead */ constchar *document_root;
/* *morefine-grainedcontextinformationwhichissetbymoduleslike *mod_aliasandmod_userdir
*/ /** the context root directory on disk for the current resource, *withouttrailingslash
*/ constchar *context_document_root; /** the URI prefix that corresponds to the context_document_root directory, *withouttrailingslash
*/ constchar *context_prefix;
/** There is a script processor installed on the output filter chain, *soitneedsthedefault_handlertodelivera(script)fileinto *thechainsoitcanprocessit.Normally,default_handleronly *servesfilesonaGETrequest(assumingthefileisactualcontent), *sinceothermethodsarenotcontent-retrieval.Thisflagoverrides *thatbehavior,statingthatthe"content"isactuallyascriptand *won'tactuallybedeliveredastheresponseforthenon-GETmethod.
*/ int deliver_script;
/** Should addition of charset= be suppressed for this request?
*/ int suppress_charset;
} core_request_config;
/* Standard entries that are guaranteed to be accessible via *ap_get_request_note()foreachrequest(additionalentries *canbeaddedwithap_register_request_note())
*/ #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
/** *@briefPer-directoryconfiguration
*/ typedefstruct { /** path of the directory/regex/etc. see also d_is_fnmatch/absolute below */ char *d; /** the number of slashes in d */ unsigned d_components;
/** If (opts & OPT_UNSET) then no absolute assignment to options has *beenmade. *invariant:(opts_add&opts_remove)==0 *Whichsaidanotherwaymeansthatthelastrelative(options+or-) *assignmentmadetoeachbitisrecordedinexactlyoneofopts_add *oropts_remove.
*/
allow_options_t opts;
allow_options_t opts_add;
allow_options_t opts_remove;
overrides_t override;
allow_options_t override_opts;
/* Used to be the custom response config. No longer used. */ char **response_code_strings; /* from ErrorDocument, not from
* ap_custom_response() */
/* since is_fnmatch(conf->d) was being called so frequently in *directory_walk()anditsrelatives,thisfieldwascreatedand *issettotheresultofthatcall.
*/ unsigned d_is_fnmatch : 1;
/* should we force a charset on any outgoing parameterless content-type? *ifso,whichcharset?
*/ #define ADD_DEFAULT_CHARSET_OFF (0) #define ADD_DEFAULT_CHARSET_ON (1) #define ADD_DEFAULT_CHARSET_UNSET (2) unsigned add_default_charset : 2; constchar *add_default_charset_name;
/* System Resource Control */ #ifdef RLIMIT_CPU struct rlimit *limit_cpu; #endif #ifdefined (RLIMIT_DATA) || defined (RLIMIT_VMEM) || defined(RLIMIT_AS) struct rlimit *limit_mem; #endif #ifdef RLIMIT_NPROC struct rlimit *limit_nproc; #endif
apr_off_t limit_req_body; /* limit on bytes in request msg body */ long limit_xml_body; /* limit on bytes in XML request msg body */
/* logging options */
server_signature_e server_signature;
/* Access control */
apr_array_header_t *sec_file;
apr_array_header_t *sec_if;
ap_regex_t *r;
constchar *mime_type; /* forced with ForceType */ constchar *handler; /* forced by something other than SetHandler */ constchar *output_filters; /* forced with SetOutputFilters */ constchar *input_filters; /* forced with SetInputFilters */ int accept_path_info; /* forced with AcceptPathInfo */
/* *Run-timeperformancetuning
*/ #define ENABLE_MMAP_OFF (0) #define ENABLE_MMAP_ON (1) #define ENABLE_MMAP_UNSET (2) unsignedint enable_mmap : 2; /* whether files in this dir can be mmap'ed */
#define ENABLE_SENDFILE_OFF (0) #define ENABLE_SENDFILE_ON (1) #define ENABLE_SENDFILE_UNSET (2) unsignedint enable_sendfile : 2; /* files in this dir can be sendfile'ed */
/** Table of directives allowed per AllowOverrideList */
apr_table_t *override_list;
#define AP_MAXRANGES_UNSET -1 #define AP_MAXRANGES_DEFAULT -2 #define AP_MAXRANGES_UNLIMITED -3 #define AP_MAXRANGES_NORANGES 0 /** Number of Ranges before returning HTTP_OK. **/ int max_ranges; /** Max number of Range overlaps (merges) allowed **/ int max_overlaps; /** Max number of Range reversals (eg: 200-300, 100-125) allowed **/ int max_reversals;
/** Named back references */
apr_array_header_t *refs;
/** Custom response config with expression support. The hash table *containscompiledexpressionskeyedagainstthecustomresponse *code.
*/
apr_hash_t *response_code_exprs;
#define AP_CGI_PASS_AUTH_OFF (0) #define AP_CGI_PASS_AUTH_ON (1) #define AP_CGI_PASS_AUTH_UNSET (2) /** CGIPassAuth: Whether HTTP authorization headers will be passed to *scriptsasCGIvariables;affectsallmodulescalling *ap_add_common_vars(),aswellasanyothersusingthisfieldas *advice
*/ unsignedint cgi_pass_auth : 2; unsignedint qualify_redirect_url :2;
ap_expr_info_t *expr_handler; /* forced with SetHandler */
/** Table of rules for building CGI variables, NULL if none configured */
apr_hash_t *cgi_var_rules;
apr_size_t read_buf_size;
} core_dir_config;
/* macro to implement off by default behaviour */ #define AP_SENDFILE_ENABLED(x) \
((x) == ENABLE_SENDFILE_ON ? APR_SENDFILE_ENABLED : 0)
/* Per-server core configuration */
typedefstruct {
char *gprof_dir;
/* Name translations --- we want the core to be able to do *something* *soit'satleastaminimallyfunctionalwebserveronitsown(and *canbetestedthatway).Butlet'skeepittothebareminimum:
*/ constchar *ap_document_root;
/* recursion backstopper */ int redirect_limit; /* maximum number of internal redirects */ int subreq_limit; /* maximum nesting level of subrequests */
constchar *protocol;
apr_table_t *accf_map;
/* array of ap_errorlog_format_item for error log format string */
apr_array_header_t *error_log_format; /* *twoarraysofarraysofap_errorlog_format_itemforadditionalinformation *loggedtotheerrorlogonceperconnection/request
*/
apr_array_header_t *error_log_conn;
apr_array_header_t *error_log_req;
/* TRACE control */ #define AP_TRACE_UNSET -1 #define AP_TRACE_DISABLE 0 #define AP_TRACE_ENABLE 1 #define AP_TRACE_EXTENDED 2 int trace_enable; #define AP_MERGE_TRAILERS_UNSET 0 #define AP_MERGE_TRAILERS_ENABLE 1 #define AP_MERGE_TRAILERS_DISABLE 2 int merge_trailers;
apr_array_header_t *protocols; int protocols_honor_order;
/** current conn_rec. *Shouldbepreferredoverr->connection
*/ const conn_rec *c;
/** current request_rec. */ const request_rec *r; /** r->main if r is a subrequest, otherwise equal to r */ const request_rec *rmain;
/** pool passed to ap_log_perror, NULL otherwise */
apr_pool_t *pool;
/** name of source file where the log message was produced, NULL if N/A. */ constchar *file; /** line number in the source file, 0 if N/A */ int line;
/** module index of module that produced the log message, APLOG_NO_MODULE if N/A. */ int module_index; /** log level of error message (flags like APLOG_STARTUP have been removed), -1 if N/A */ int level;
/** apr error status related to the log message, 0 if no error */
apr_status_t status;
/** 1 if logging to syslog, 0 otherwise */ int using_syslog; /** 1 if APLOG_STARTUP was set for the log message, 0 otherwise */ int startup;
/** message format */ constchar *format;
} ap_errorlog_info;
typedefstruct ap_errorlog_handler {
ap_errorlog_handler_fn_t *func; int flags; /* for future extensions */
} ap_errorlog_handler;
/** item starts a new field */ #define AP_ERRORLOG_FLAG_FIELD_SEP 1 /** item is the actual error message */ #define AP_ERRORLOG_FLAG_MESSAGE 2 /** skip whole line if item is zero-length */ #define AP_ERRORLOG_FLAG_REQUIRED 4 /** log zero-length item as '-' */ #define AP_ERRORLOG_FLAG_NULL_AS_HYPHEN 8
typedefstruct { /** ap_errorlog_handler function */
ap_errorlog_handler_fn_t *func; /** argument passed to item in {} */ constchar *arg; /** a combination of the AP_ERRORLOG_* flags */ unsignedint flags; /** only log item if the message's log level is higher than this */ unsignedint min_loglevel;
} ap_errorlog_format_item;
/** Query the server for some state information *@paramquery_codeWhichinformationisrequested *@returntherequestedstateinformation
*/
AP_DECLARE(int) ap_state_query(int query_code);
/** current status of the server */ #define AP_SQ_MAIN_STATE 0 /** are we going to serve requests or are we just testing/dumping config */ #define AP_SQ_RUN_MODE 1 /** generation of the top-level apache parent */ #define AP_SQ_CONFIG_GEN 2
/* *returnvaluesforap_state_query()
*/
/** return value for unknown query_code */ #define AP_SQ_NOT_SUPPORTED -1
/* values returned for AP_SQ_MAIN_STATE */ /** before the config preflight */ #define AP_SQ_MS_INITIAL_STARTUP 1 /** initial configuration run for setting up log config, etc. */ #define AP_SQ_MS_CREATE_PRE_CONFIG 2 /** tearing down configuration */ #define AP_SQ_MS_DESTROY_CONFIG 3 /** normal configuration run */ #define AP_SQ_MS_CREATE_CONFIG 4 /** running the MPM */ #define AP_SQ_MS_RUN_MPM 5 /** cleaning up for exit */ #define AP_SQ_MS_EXITING 6
/* values returned for AP_SQ_RUN_MODE */ /** command line not yet parsed */ #define AP_SQ_RM_UNKNOWN 1 /** normal operation (server requests or signal server) */ #define AP_SQ_RM_NORMAL 2 /** config test only */ #define AP_SQ_RM_CONFIG_TEST 3 /** only dump some parts of the config */ #define AP_SQ_RM_CONFIG_DUMP 4
/** Get a apr_pollfd_t populated with descriptor and descriptor type *andthetimeouttouseforit. *@returnAPR_ENOTIMPLifnotsupportedforaconnection.
*/
AP_DECLARE_HOOK(apr_status_t, get_pollfd_from_conn,
(conn_rec *c, struct apr_pollfd_t *pfd,
apr_interval_time_t *ptimeout))
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.