‰PNG  IHDRèèÂÁC³×IDATxÚíÖ1 À°ù7 89šTÁ®5<'wÀ¸€qŒ;`ÜÀ¸Æ0î`ÜãÆ0î€qãwÀ¸€qŒ; wÀ¸€qŒ;`ÜÀ¸Æ0î`ÜãÆ0î€qãwÀ¸€qŒ;`ÜÀ¸ÆŒ;`ÜãÆ0î€qãw0î€qŒ;wÀ¸ÆŒ;`ÜãÆ0î`Üãw0î€qŒ;wÀ¸€qŒ;`ÜÀ¸Æ0î`Üãw0î€qãwÀ¸€qŒ;`ÜÀ¸ÆŒ;`ÜãÆ0î€qãwÀ¸€qŒ;wÀ¸ÆŒ;`ÜãÆ0î`Üãw0î€qŒ;wÀ¸ÆŒ;`ÜÀ¸Æ0î`Üãw0î€qãwÀ¸€qŒ;`ÜÀ¸Æ0î`ÜãÆ0î€qãwÀ¸€qŒ;wÀ¸ÆŒ;`ÜãÆ0î€qãw0î€qŒ;wÀ¸ÆŒ;`ÜÀ¸Æ0î`Üãw0î€qŒ;wÀ¸€qŒ;`ÜÀ¸Æ0î`ÜãÆ0î€qãwÀ¸€qŒ;`ÜÀ¸ÆŒ;`ÜãÆ0î€qãw0î€qŒ;wÀ¸ÆŒ;`ÜãÆ0î`Üãw0î€qŒ;wÀ¸€qŒ;`ÜÀ¸Æ0î`Üãw0î€qãwÀ¸€qŒ;`ÜÀ¸ÆŒ»`ÜãÆ0î€qãwÀ¸€qŒ;wÀ¸ÆŒ;`ÜãÆ0î€`ÜãÆ0î€qãwÀ¸€qŒ;wÀ¸ÆŒ;`ÜãÆ0î€`ÜãÆ0î€qãwÀ¸€qŒ;wÀ¸ÆŒ;`ÜãÆ0î€qãw0î€qŒ;wÀ¸ÆŒ;`ÜÀ¸Æ0î`Üãw0î€qŒ;wÀ¸€qŒ;`ÜÀ¸Æ0î`ÜãÆ0î€qãwÀ¸€qŒ;`ÜÀ¸ÆŒ;`ÜãÆ0î€qãw0î€qŒ;wÀ¸ÆŒ;`ÜãÆ0î`Üãw0î€qŒ;wÀ¸€qŒ;`ÜÀ¸Æ0î`Üãw0î€qãwÀ¸€qŒ;`ÜÀ¸ÆŒ;`ÜãÆ0î€qãwÀ¸€qŒ;wÀ¸ÆŒ;`ÜãÆ0î`Üãw0î€qŒ;wÀ¸ÆŒ;`ÜÀ¸Æ0î`Üãw0î€qãwÀ¸€qŒ;`ÜÀ¸Æ0î`ÜãÆ0î€qãwÀ¸€qŒ;wÀ¸ÆŒ;`ÜãÆ0î€qãw0î€qŒ;wÀ¸ÆŒ;`ÜÀ¸Æ0î`Üãw0î€qŒ;wÀ¸€qŒ;`ÜÀ¸Æ0î`ÜãÆ0î€qãwÀ¸€qŒ;`ÜÀ¸ÆŒ;`ÜãÆ0î€qãw0î€qŒ;wÀ¸ÆŒ;`ÜãÆ0î`Üãw0î€qŒ;wÀ¸€qŒ;wÀ¸ÆŒ;`ÜãÆ0î`Üãw0î€qŒ;wÀ¸€qŒ;wÀ¸ÆŒ;`ÜãÆ0î`Üãw0î€qŒ;wÀ¸ÆŒ;`ÜÀ¸Æ0î`Üãw0î€qãwÀ¸€qŒ;`ÜÀ¸Æ0î`ÜãÆ0î€qãwÀ¸€qŒ;wÀ¸ÆŒ;`ÜãÆ0î€qãw0î€qŒ;wÀ¸ÆŒ;`ÜÀ¸Æ0î`Üãw0î€qŒ;wÀ¸€qŒ;`ÜÀ¸Æ0î`ÜãÆ0î€qãwÀ¸€qŒ;`ÜÀ¸ÆŒ;`ÜãÆ0î€qãw0î€qŒ;wÀ¸ÆŒ;`ÜãÆ0î`Üãw0î€qŒ;wÀ¸€qŒ;`ÜÀ¸Æ0î`Üãw0î€qãwÀ¸€qŒ;`ÜÀ¸ÆŒ;`ÜãÆ0î€qãwÀ¸€qŒ;wÀ¸ÆŒ;`ÜãÆ0î`Üãw0î€qŒ;wÀ¸ÆŒ;`ÜÀ¸Æ0î`Üãw0î€qãwÀ¸€qŒ;`ÜÀ¸Æ0î`ÜãÆ0î€qãwÀ¸€qŒ;wÀ¸ÆŒ;`ÜãÆ0î€qãw0î€qŒ;wÀ¸ÆŒ;`ÜÀ¸KÆ0î`Üãw0î€qŒ;wÀ¸€qŒ;`ÜÀ¸Æ0î`ÜãHÆ0î`Üãw0î€qŒ;wÀ¸€qŒ;`ÜÀ¸Æ0î`ÜãHÆ0î`Üãw0î€qŒ;wÀ¸€qŒ;`ÜÀ¸Æ0î`Üãw0î€qãwÀ¸€qŒ;`ÜÀ¸ÆŒ;`ÜãÆ0î€qãwÀ¸€qŒ;wÀ¸ÆŒ;`ÜãÆ0î`Üãw0î€qŒ;wÀ¸ÆŒ;`ÜÀ¸Æ0î`Üãw0î€qãwÀ¸€qŒ;`ÜÀ¸Æ0î`ÜãÆ0î€qãwÀ¸€qŒ;wÀ¸ÆŒ;`ÜãÆ0î€qãw0î€qŒ;wÀ¸ÆŒ;`ÜÀ¸Æ0î`Üãw0î€qŒ;wÀ¸€qŒ;`ÜÀ¸Æ0î`ÜãÆ0î€qãwÀ¸€qŒ;`ÜÀ¸ÆŒ;`ÜãÆ0î€qãw0î€qŒ;wÀ¸ÆŒ;`ÜãÆ0î`Üãw0î€qŒ;wÀ¸€qŒ;`ÜÀ¸Æ0î`Üãw0î€qãwÀ¸€qŒ;`ÜÀ¸ÆŒ;`ÜãÆ0î€qãwÀ¸€qŒ;wÀ¸ÆŒ;`ÜãÆ0î`Üãw0î€qŽºÆá¾d“é­IEND®B`‚ FM / apache2
/usr/include/apache2
NameSizeModeActions
.mmn140644editdlrm
apache_noprobes.h159680644editdlrm
ap_compat.h10750644editdlrm
ap_config.h66060644editdlrm
ap_config_auto.h103190644editdlrm
ap_config_layout.h25810644editdlrm
ap_expr.h141980644editdlrm
ap_hooks.h59880644editdlrm
ap_listen.h63390644editdlrm
ap_mmn.h405360644editdlrm
ap_mpm.h107640644editdlrm
ap_provider.h35370644editdlrm
ap_regex.h115270644editdlrm
ap_regkey.h91830644editdlrm
ap_release.h31440644editdlrm
ap_slotmem.h72350644editdlrm
ap_socache.h94000644editdlrm
cache_common.h20170644editdlrm
heartbeat.h15950644editdlrm
httpd.h995260644editdlrm
http_config.h577180644editdlrm
http_connection.h71390644editdlrm
http_core.h372700644editdlrm
http_log.h368710644editdlrm
http_main.h32450644editdlrm
http_protocol.h423990644editdlrm
http_request.h263350644editdlrm
http_ssl.h149750644editdlrm
http_vhost.h45930644editdlrm
mod_auth.h45230644editdlrm
mod_cache.h72560644editdlrm
mod_cgi.h24960644editdlrm
mod_core.h34060644editdlrm
mod_dav.h1002020644editdlrm
mod_dbd.h41540644editdlrm
mod_http2.h46960644editdlrm
mod_include.h40680644editdlrm
mod_log_config.h24850644editdlrm
mod_proxy.h673750644editdlrm
mod_request.h16280644editdlrm
mod_rewrite.h13970644editdlrm
mod_session.h67680644editdlrm
mod_so.h12260644editdlrm
mod_ssl.h49890644editdlrm
mod_ssl_openssl.h49110644editdlrm
mod_status.h24410644editdlrm
mod_unixd.h11140644editdlrm
mod_watchdog.h75180644editdlrm
mod_xml2enc.h23070644editdlrm
mpm_common.h174990644editdlrm
os.h16700644editdlrm
scoreboard.h101780644editdlrm
unixd.h42360644editdlrm
util_cfgtree.h31530644editdlrm
util_charset.h22670644editdlrm
util_cookies.h49610644editdlrm
util_ebcdic.h27520644editdlrm
util_fcgi.h99840644editdlrm
util_filter.h264590644editdlrm
util_ldap.h183750644editdlrm
util_md5.h21670644editdlrm
util_mutex.h92920644editdlrm
util_script.h98600644editdlrm
util_time.h42950644editdlrm
util_varbuf.h82860644editdlrm
util_xml.h13410644editdlrm
Edit: /usr/include/apache2/util_fcgi.h (9984B)
/* Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /** * @file util_fcgi.h * @brief FastCGI protocol definitions and support routines * * @defgroup APACHE_CORE_FASTCGI FastCGI Tools * @ingroup APACHE_CORE * @{ */ #ifndef APACHE_UTIL_FCGI_H #define APACHE_UTIL_FCGI_H #ifdef __cplusplus extern "C" { #endif #include "httpd.h" /** * @brief A structure that represents the fixed header fields * at the beginning of a "FastCGI record" (i.e., the data prior * to content data and padding). */ typedef struct { /** See values for version, below */ unsigned char version; /** See values for type, below */ unsigned char type; /** request id, in two parts */ unsigned char requestIdB1; unsigned char requestIdB0; /** content length, in two parts */ unsigned char contentLengthB1; unsigned char contentLengthB0; /** padding length */ unsigned char paddingLength; /** 8-bit reserved field */ unsigned char reserved; } ap_fcgi_header; /* * Number of bytes in the header portion of a FastCGI record * (i.e., ap_fcgi_header structure). Future versions of the * protocol may increase the size. */ #define AP_FCGI_HEADER_LEN 8 /* * Maximum number of bytes in the content portion of a FastCGI record. */ #define AP_FCGI_MAX_CONTENT_LEN 65535 /** * Possible values for the version field of ap_fcgi_header */ #define AP_FCGI_VERSION_1 1 /** * Possible values for the type field of ap_fcgi_header */ #define AP_FCGI_BEGIN_REQUEST 1 #define AP_FCGI_ABORT_REQUEST 2 #define AP_FCGI_END_REQUEST 3 #define AP_FCGI_PARAMS 4 #define AP_FCGI_STDIN 5 #define AP_FCGI_STDOUT 6 #define AP_FCGI_STDERR 7 #define AP_FCGI_DATA 8 #define AP_FCGI_GET_VALUES 9 #define AP_FCGI_GET_VALUES_RESULT 10 #define AP_FCGI_UNKNOWN_TYPE 11 #define AP_FCGI_MAXTYPE (AP_FCGI_UNKNOWN_TYPE) /** * Offsets of the various fields of ap_fcgi_header */ #define AP_FCGI_HDR_VERSION_OFFSET 0 #define AP_FCGI_HDR_TYPE_OFFSET 1 #define AP_FCGI_HDR_REQUEST_ID_B1_OFFSET 2 #define AP_FCGI_HDR_REQUEST_ID_B0_OFFSET 3 #define AP_FCGI_HDR_CONTENT_LEN_B1_OFFSET 4 #define AP_FCGI_HDR_CONTENT_LEN_B0_OFFSET 5 #define AP_FCGI_HDR_PADDING_LEN_OFFSET 6 #define AP_FCGI_HDR_RESERVED_OFFSET 7 /** * @brief This represents the content data of the FastCGI record when * the type is AP_FCGI_BEGIN_REQUEST. */ typedef struct { /** * role, in two parts * See values for role, below */ unsigned char roleB1; unsigned char roleB0; /** * flags * See values for flags bits, below */ unsigned char flags; /** reserved */ unsigned char reserved[5]; } ap_fcgi_begin_request_body; /* * Values for role component of ap_fcgi_begin_request_body */ #define AP_FCGI_RESPONDER 1 #define AP_FCGI_AUTHORIZER 2 #define AP_FCGI_FILTER 3 /* * Values for flags bits of ap_fcgi_begin_request_body */ #define AP_FCGI_KEEP_CONN 1 /* otherwise the application closes */ /** * Offsets of the various fields of ap_fcgi_begin_request_body */ #define AP_FCGI_BRB_ROLEB1_OFFSET 0 #define AP_FCGI_BRB_ROLEB0_OFFSET 1 #define AP_FCGI_BRB_FLAGS_OFFSET 2 #define AP_FCGI_BRB_RESERVED0_OFFSET 3 #define AP_FCGI_BRB_RESERVED1_OFFSET 4 #define AP_FCGI_BRB_RESERVED2_OFFSET 5 #define AP_FCGI_BRB_RESERVED3_OFFSET 6 #define AP_FCGI_BRB_RESERVED4_OFFSET 7 /** * Pack ap_fcgi_header * @param h The header to read from * @param a The array to write to, of size AP_FCGI_HEADER_LEN */ AP_DECLARE(void) ap_fcgi_header_to_array(ap_fcgi_header *h, unsigned char a[]); /** * Unpack header of FastCGI record into ap_fcgi_header * @param h The header to write to * @param a The array to read from, of size AP_FCGI_HEADER_LEN */ AP_DECLARE(void) ap_fcgi_header_from_array(ap_fcgi_header *h, unsigned char a[]); /** * Unpack header of FastCGI record into individual fields * @param version The version, on output * @param type The type, on output * @param request_id The request id, on output * @param content_len The content length, on output * @param padding_len The amount of padding following the content, on output * @param a The array to read from, of size AP_FCGI_HEADER_LEN */ AP_DECLARE(void) ap_fcgi_header_fields_from_array(unsigned char *version, unsigned char *type, apr_uint16_t *request_id, apr_uint16_t *content_len, unsigned char *padding_len, unsigned char a[]); /** * Pack ap_fcgi_begin_request_body * @param h The begin-request body to read from * @param a The array to write to, of size AP_FCGI_HEADER_LEN */ AP_DECLARE(void) ap_fcgi_begin_request_body_to_array(ap_fcgi_begin_request_body *h, unsigned char a[]); /** * Fill in a FastCGI request header with the required field values. * @param header The header to fill in * @param type The type of record * @param request_id The request id * @param content_len The amount of content which follows the header * @param padding_len The amount of padding which follows the content * * The header array must be at least AP_FCGI_HEADER_LEN bytes long. */ AP_DECLARE(void) ap_fcgi_fill_in_header(ap_fcgi_header *header, unsigned char type, apr_uint16_t request_id, apr_uint16_t content_len, unsigned char padding_len); /** * Fill in a FastCGI begin request body with the required field values. * @param brb The begin-request-body to fill in * @param role AP_FCGI_RESPONDER or other roles * @param flags 0 or a combination of flags like AP_FCGI_KEEP_CONN */ AP_DECLARE(void) ap_fcgi_fill_in_request_body(ap_fcgi_begin_request_body *brb, int role, unsigned char flags); /** * Compute the buffer size needed to encode the next portion of * the provided environment table. * @param env The environment table * @param maxlen The maximum buffer size allowable, capped at * AP_FCGI_MAX_CONTENT_LEN. * @param starting_elem On input, the next element of the table array * to process in this FastCGI record. On output, the next element to * process on the *next* FastCGI record. * @return Size of buffer needed to encode the next part, or 0 * if no more can be encoded. When 0 is returned: If starting_elem * has reached the end of the table array, all has been encoded; * otherwise, the next envvar can't be encoded within the specified * limit. * @note If an envvar can't be encoded within the specified limit, * the caller can log a warning and increment starting_elem and try * again or increase the limit or fail, as appropriate for the module. */ AP_DECLARE(apr_size_t) ap_fcgi_encoded_env_len(apr_table_t *env, apr_size_t maxlen, int *starting_elem); /** * Encode the next portion of the provided environment table using * a buffer previously allocated. * @param r The request, for logging * @param env The environment table * @param buffer A buffer to contain the encoded environment table * @param buflen The length of the buffer, previously computed by * ap_fcgi_encoded_env_len(). * @param starting_elem On input, the next element of the table array * to process in this FastCGI record. On output, the next element to * process on the *next* FastCGI record. * @return APR_SUCCESS if a section could be encoded or APR_ENOSPC * otherwise. * @note The output starting_elem from ap_fcgi_encoded_env_len * shouldn't be used as input to ap_fcgi_encode_env when building the * same FastCGI record. */ AP_DECLARE(apr_status_t) ap_fcgi_encode_env(request_rec *r, apr_table_t *env, void *buffer, apr_size_t buflen, int *starting_elem); /** * String forms for the value of the FCGI_ROLE envvar */ #define AP_FCGI_RESPONDER_STR "RESPONDER" #define AP_FCGI_AUTHORIZER_STR "AUTHORIZER" #define AP_FCGI_FILTER_STR "FILTER" /** * FastCGI implementations that implement the AUTHORIZER role * for Apache httpd and allow the application to participate in * any of the Apache httpd AAA phases typically set the variable * FCGI_APACHE_ROLE to one of these strings to indicate the * specific AAA phase. */ #define AP_FCGI_APACHE_ROLE_AUTHENTICATOR_STR "AUTHENTICATOR" #define AP_FCGI_APACHE_ROLE_AUTHORIZER_STR "AUTHORIZER" #define AP_FCGI_APACHE_ROLE_ACCESS_CHECKER_STR "ACCESS_CHECKER" #ifdef __cplusplus } #endif #endif /* !APACHE_UTIL_FCGI_H */ /** @} */