21#define APR_WANT_STRFUNC
53#undef APLOG_MODULE_INDEX
54#define APLOG_MODULE_INDEX AP_CORE_MODULE_INDEX
68 while ((
c = *w++) != 0) {
78 "Not exporting header with invalid name as envvar: %s",
137 while (*
whack !=
'=') {
204#ifndef SECURITY_HOLE_PASS_PROXY
214#ifndef SECURITY_HOLE_PASS_AUTHORIZATION
243#elif defined(__HPUX__)
274 rport =
c->client_addr->port;
313 if (!
uri->hostname) {
334 int lu = strlen(
uri);
335 int lp = strlen(path_info);
338 if (path_info[
lp] ==
'/') {
459#define HTTP_UNSET (-HTTP_OK)
460#define SCRIPT_LOG_MARK __FILE__,__LINE__,module_index
463 int (*
getsfunc) (
char *,
int,
void *),
497 const char *msg =
"Premature end of script headers";
499 msg =
"End of script output before headers";
509 "Script timed out before returning headers: %s",
521 if (
p > 0 && w[
p - 1] ==
'\n') {
522 if (
p > 1 && w[
p - 2] ==
CR) {
573 "Headers from script '%s':",
580#if APR_CHARSET_EBCDIC
584 if (!(l =
strchr(w,
':'))) {
586 unsigned char *cp,
native;
589 for (cp = w; *cp !=
'\0'; ++cp) {
598 APLOGNO(02660)
"CGI Interface Error: "
599 "Script headers apparently ASCII: (CGI = %s)",
607 if (!(l =
strchr(w,
':'))) {
617 "malformed header from script '%s': Bad header: %.30s",
632 char *endp = l + strlen(l) - 1;
650 "Invalid status line from script '%s': %.30s",
655 "Status line from script '%s': %.30s",
703 "The Last-Modified header value %s (%s) "
704 "has been replaced with '%s'", l,
715 "The Last-Modified header value is not set "
716 "within the GMT timezone (as required)");
722 "Ignored invalid header value: Last-Modified: '%s'", l);
738 int (*
getsfunc) (
char *,
int,
void *),
759 char *
buffer,
int module_index)
795 else if (*
src !=
'\r') {
842 if (!
strs->curpos || !*
strs->curpos) {
856 if (!
strs->curpos[
t]) {
883 (
void *) &
strs, module_index);
Symbol export macros and hook functions.
#define AP_DECLARE_NONSTD(type)
const char apr_size_t len
APR general purpose library routines.
APR Standard Headers Support.
#define ap_http_scheme(r)
const char * ap_get_server_banner(void)
apr_port_t ap_get_server_port(const request_rec *r)
#define ap_get_core_module_config(v)
const char * ap_document_root(request_rec *r)
const char * ap_get_remote_logname(request_rec *r)
#define AP_CORE_CONFIG_ON
const char * ap_get_server_name_for_url(request_rec *r)
#define APLOG_R_MODULE_IS_LEVEL(r, module_index, level)
const unsigned char * buf
int ap_meets_conditions(request_rec *r)
void ap_set_last_modified(request_rec *r)
void ap_set_content_type(request_rec *r, const char *ct)
request_rec * ap_sub_req_lookup_uri(const char *new_uri, const request_rec *r, ap_filter_t *next_filter)
void ap_destroy_sub_req(request_rec *r)
void ap_update_mtime(request_rec *r, apr_time_t dependency_mtime)
void ap_add_common_vars(request_rec *r)
int ap_scan_script_header_err_brigade_ex(request_rec *r, apr_bucket_brigade *bb, char *buffer, int module_index)
int ap_find_path_info(const char *uri, const char *path_info)
char ** ap_create_environment(apr_pool_t *p, apr_table_t *t)
void ap_add_cgi_vars(request_rec *r)
int ap_scan_script_header_err_ex(request_rec *r, apr_file_t *f, char *buffer, int module_index)
int ap_scan_script_header_err_brigade(request_rec *r, apr_bucket_brigade *bb, char *buffer)
int ap_scan_script_header_err_core_ex(request_rec *r, char *buffer, int(*getsfunc)(char *, int, void *), void *getsfunc_data, int module_index)
int ap_scan_script_header_err_core(request_rec *r, char *buffer, int(*getsfunc)(char *, int, void *), void *getsfunc_data)
int ap_scan_script_header_err(request_rec *r, apr_file_t *f, char *buffer)
int ap_scan_script_header_err_strs_ex(request_rec *r, char *buffer, int module_index, const char **termch, int *termarg,...)
void ap_args_to_table(request_rec *r, apr_table_t **table)
int ap_scan_script_header_err_strs(request_rec *r, char *buffer, const char **termch, int *termarg,...)
#define APR_STATUS_IS_TIMEUP(s)
#define apr_bucket_split(e, point)
#define APR_BUCKET_NEXT(e)
#define APR_BRIGADE_SENTINEL(b)
#define apr_bucket_delete(e)
#define APR_BUCKET_IS_EOS(e)
#define APR_BRIGADE_FIRST(b)
#define apr_bucket_read(e, str, len, block)
apr_pool_t apr_dbd_t apr_dbd_results_t ** res
const char apr_size_t * inbytes_left
const char apr_size_t char apr_size_t * outbytes_left
#define ap_is_HTTP_VALID_RESPONSE(x)
#define HTTP_INTERNAL_SERVER_ERROR
#define HTTP_GATEWAY_TIME_OUT
int ap_cstr_casecmp(const char *s1, const char *s2)
const char * ap_psignature(const char *prefix, request_rec *r)
char * ap_escape_logitem(apr_pool_t *p, const char *str)
#define ap_escape_uri(ppool, path)
#define ap_strchr_c(s, c)
const char * ap_context_prefix(request_rec *r)
const char * ap_context_document_root(request_rec *r)
void ap_content_type_tolower(char *s)
#define ap_escape_html(p, s)
int ap_unescape_url(char *url)
#define APR_FILEPATH_NATIVE
#define APR_HASH_KEY_STRING
apr_vformatter_buff_t * c
char const *const char const *const ** env
#define apr_pcalloc(p, size)
#define APR_OVERLAP_TABLES_MERGE
#define APR_OVERLAP_TABLES_SET
const apr_array_header_t * first
const char * ap_get_useragent_host(request_rec *req, int type, int *str_is_ip)
#define AP_CGI_PASS_AUTH_ON
Structure to store things which are per connection.
Per-directory configuration.
apr_hash_t * cgi_var_rules
unsigned int qualify_redirect_url
unsigned int cgi_pass_auth
A structure that represents the current request.
apr_table_t * err_headers_out
apr_table_t * subprocess_env
struct ap_conf_vector_t * per_dir_config
apr_table_t * headers_out
A structure to store information for each virtual server.
Utilities for EBCDIC conversion.
static void add_unless_null(apr_table_t *table, const char *name, const char *val)
static char * http2env(request_rec *r, const char *w)
static void argstr_to_table(char *str, apr_table_t *parms)
static int getsfunc_FILE(char *buf, int len, void *f)
static char * original_uri(request_rec *r)
static void env2env(apr_table_t *dest, request_rec *r, const char *name, const char *fallback)
static int getsfunc_STRING(char *w, int len, void *pvastrs)
static int getsfunc_BRIGADE(char *buf, int len, void *arg)
#define APLOG_MODULE_INDEX
static int set_cookie_doo_doo(void *v, const char *key, const char *val)