23#define APR_WANT_STRFUNC
24#define APR_WANT_MEMFUNC
142 "missing argument for exec element in %s",
r->
filename);
176 "for parameter \"%s\" to tag exec in file %s",
198 "\"%s\" to tag exec in %s",
tag,
file);
224#ifdef WANT_CGI_BUCKET
262 "apr_pollset_create(); check system or user limits");
270 fd.client_data = (
void *)1;
274 "apr_pollset_add(); check system or user limits");
279 fd.client_data = (
void *)2;
283 "apr_pollset_add(); check system or user limits");
368 "Timeout waiting for output from CGI script %s",
381 "poll failed waiting for CGI child");
385 for (;
num;
num--, results++) {
386 if (results[0].client_data == (
void *)1) {
408 "CGI", 5, APR_BUCKET_DATA,
428 const char *location;
483 if (location &&
r->
status == 200) {
496 if (location && location[0] ==
'/' &&
r->
status == 200) {
512 else if (location &&
r->
status == 200) {
626 "Error writing request body to script %s",
const char apr_size_t len
APR-UTIL Buckets/Bucket Brigades.
APR general purpose library routines.
APR Standard Headers Support.
static void cgi_optfns_retrieve(void)
static int cgi_handle_response(request_rec *r, int nph, apr_bucket_brigade *bb, apr_interval_time_t timeout, cgi_server_conf *conf, char *logdata, apr_file_t *script_err)
static int log_scripterror(request_rec *r, cgi_server_conf *conf, int ret, apr_status_t rv, const char *logno, const char *error)
static int log_script(request_rec *r, cgi_server_conf *conf, int ret, char *dbuf, const char *sbuf, apr_bucket_brigade *bb, apr_file_t *script_err)
static apr_status_t log_script_err(request_rec *r, apr_file_t *script_err)
static apr_status_t cgi_handle_exec(include_ctx_t *ctx, ap_filter_t *f, apr_bucket_brigade *bb)
static apr_status_t include_cmd(include_ctx_t *ctx, ap_filter_t *f, apr_bucket_brigade *bb, const char *command)
static apr_status_t include_cgi(include_ctx_t *ctx, ap_filter_t *f, apr_bucket_brigade *bb, char *s)
static void discard_script_output(apr_bucket_brigade *bb)
static apr_status_t cgi_handle_request(request_rec *r, apr_file_t *script_out, apr_bucket_brigade *bb, char *logbuf, apr_size_t logbufbytes)
#define ap_get_module_config(v, m)
apr_status_t ap_pass_brigade(ap_filter_t *filter, apr_bucket_brigade *bucket)
apr_status_t ap_get_brigade(ap_filter_t *filter, apr_bucket_brigade *bucket, ap_input_mode_t mode, apr_read_type_e block, apr_off_t readbytes)
#define APLOG_MODULE_INDEX
const unsigned char * buf
void ap_internal_redirect_handler(const char *new_uri, request_rec *r)
int ap_scan_script_header_err_brigade_ex(request_rec *r, apr_bucket_brigade *bb, char *buffer, int module_index)
#define AP_TRUST_CGILIKE_CL_ENVVAR
#define APR_STATUS_IS_EINTR(s)
#define APR_STATUS_IS_TIMEUP(s)
#define APR_STATUS_IS_EOF(s)
#define APR_BUCKET_INIT(e)
#define APR_BUCKET_INSERT_AFTER(a, b)
#define APR_BUCKET_IS_FLUSH(e)
#define APR_BUCKET_NEXT(e)
#define APR_BUCKET_BUFF_SIZE
#define APR_BRIGADE_SENTINEL(b)
#define apr_bucket_delete(e)
#define APR_BUCKET_IS_EOS(e)
apr_brigade_flush void * ctx
apr_bucket apr_bucket_brigade * a
#define APR_BRIGADE_FIRST(b)
#define apr_bucket_read(e, str, len, block)
apr_pool_t const char apr_dbd_t const char ** error
#define APR_RETRIEVE_OPTIONAL_FN(name)
#define APR_OPTIONAL_FN_TYPE(name)
#define HTTP_NOT_MODIFIED
#define HTTP_MOVED_TEMPORARILY
#define HTTP_GATEWAY_TIME_OUT
#define SSI_FLAG_PRINTING
#define SSI_EXPAND_LEAVE_NAME
#define SSI_EXPAND_DROP_NAME
#define SSI_CREATE_ERROR_BUCKET(ctx, f, bb)
#define SSI_VALUE_DECODED
const apr_array_header_t * list
const char apr_file_t * file
apr_interval_time_t apr_int32_t * num
apr_int32_t apr_int32_t apr_int32_t err
apr_int64_t apr_interval_time_t
static void ap_register_include_handler(char *tag, include_handler_fn_t *func)
static void ap_ssi_get_tag_and_value(include_ctx_t *ctx, char **tag, char **tag_val, int dodecode)
static char * ap_ssi_parse_string(include_ctx_t *ctx, const char *in, char *out, apr_size_t length, int leave_name)
static apr_status_t command(sed_eval_t *eval, sed_reptr_t *ipc, step_vars_storage *step_vars)
The representation of a filter chain.
apr_bucket_alloc_t * list
A structure that represents the current request.
struct ap_filter_t * output_filters
struct ap_filter_t * proto_output_filters
struct ap_filter_t * input_filters
apr_table_t * subprocess_env
apr_table_t * headers_out
struct ap_conf_vector_t * module_config
static apr_pollset_t * pollset
apr_status_t apr_ctime(char *date_str, apr_time_t t)