Apache HTTPD
Classes | Macros | Functions | Variables
mod_cgi.c File Reference
module cgi_module
#include "apr.h"
#include "apr_strings.h"
#include "apr_thread_proc.h"
#include "apr_optional.h"
#include "apr_buckets.h"
#include "apr_lib.h"
#include "apr_poll.h"
#include "apr_want.h"
#include "util_filter.h"
#include "ap_config.h"
#include "httpd.h"
#include "http_config.h"
#include "http_request.h"
#include "http_core.h"
#include "http_protocol.h"
#include "http_main.h"
#include "http_log.h"
#include "ap_mpm.h"
#include "mod_core.h"
#include "mod_cgi.h"
#include "cgi_common.h"

Go to the source code of this file.

Classes

struct  cgi_server_conf
 
struct  cgi_dirconf
 

Macros

#define APR_WANT_STRFUNC
 
#define APR_WANT_MEMFUNC
 
#define DEFAULT_LOGBYTES   10385760
 
#define DEFAULT_BUFBYTES   1024
 

Functions

static void discard_script_output (apr_bucket_brigade *bb)
 
static int is_scriptaliased (request_rec *r)
 
static void * create_cgi_config (apr_pool_t *p, server_rec *s)
 
static void * merge_cgi_config (apr_pool_t *p, void *basev, void *overridesv)
 
static void * create_cgi_dirconf (apr_pool_t *p, char *dummy)
 
static const charset_scriptlog (cmd_parms *cmd, void *dummy, const char *arg)
 
static const charset_scriptlog_length (cmd_parms *cmd, void *dummy, const char *arg)
 
static const charset_scriptlog_buffer (cmd_parms *cmd, void *dummy, const char *arg)
 
static const charset_script_timeout (cmd_parms *cmd, void *dummy, const char *arg)
 
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 void add_ssi_vars (request_rec *r)
 
static void cgi_child_errfn (apr_pool_t *pool, apr_status_t err, const char *description)
 
static apr_status_t run_cgi_child (apr_file_t **script_out, apr_file_t **script_in, apr_file_t **script_err, const char *command, const char *const argv[], request_rec *r, apr_pool_t *p, cgi_exec_info_t *e_info)
 
static apr_status_t default_build_command (const char **cmd, const char ***argv, request_rec *r, apr_pool_t *p, cgi_exec_info_t *e_info)
 
static int cgi_handler (request_rec *r)
 
static apr_status_t include_cgi (include_ctx_t *ctx, ap_filter_t *f, apr_bucket_brigade *bb, char *s)
 
static apr_status_t include_cmd (include_ctx_t *ctx, ap_filter_t *f, apr_bucket_brigade *bb, const char *command)
 
static int cgi_post_config (apr_pool_t *p, apr_pool_t *plog, apr_pool_t *ptemp, server_rec *s)
 
static void register_hooks (apr_pool_t *p)
 

Variables

static apr_OFN_ap_cgi_build_command_tcgi_build_command
 
static const command_rec cgi_cmds []
 
static int *const aplog_module_index = &( cgi_module.module_index)
 

Macro Definition Documentation

◆ APR_WANT_MEMFUNC

#define APR_WANT_MEMFUNC

Definition at line 39 of file mod_cgi.c.

◆ APR_WANT_STRFUNC

#define APR_WANT_STRFUNC

Definition at line 38 of file mod_cgi.c.

◆ DEFAULT_BUFBYTES

#define DEFAULT_BUFBYTES   1024

Definition at line 83 of file mod_cgi.c.

◆ DEFAULT_LOGBYTES

#define DEFAULT_LOGBYTES   10385760

Definition at line 82 of file mod_cgi.c.

Function Documentation

◆ add_ssi_vars()

static void add_ssi_vars ( request_rec r)
static

Definition at line 292 of file mod_cgi.c.

◆ cgi_child_errfn()

static void cgi_child_errfn ( apr_pool_t pool,
apr_status_t  err,
const char description 
)
static

Definition at line 322 of file mod_cgi.c.

◆ cgi_handler()

static int cgi_handler ( request_rec r)
static

< Module declines to handle

Definition at line 509 of file mod_cgi.c.

◆ cgi_post_config()

static int cgi_post_config ( apr_pool_t p,
apr_pool_t plog,
apr_pool_t ptemp,
server_rec s 
)
static

< Module has handled this stage.

Definition at line 750 of file mod_cgi.c.

◆ create_cgi_config()

static void * create_cgi_config ( apr_pool_t p,
server_rec s 
)
static

Definition at line 100 of file mod_cgi.c.

◆ create_cgi_dirconf()

static void * create_cgi_dirconf ( apr_pool_t p,
char dummy 
)
static

Definition at line 120 of file mod_cgi.c.

◆ default_build_command()

static apr_status_t default_build_command ( const char **  cmd,
const char ***  argv,
request_rec r,
apr_pool_t p,
cgi_exec_info_t e_info 
)
static

Definition at line 463 of file mod_cgi.c.

◆ discard_script_output()

static void discard_script_output ( apr_bucket_brigade bb)
static

◆ include_cgi()

static apr_status_t include_cgi ( include_ctx_t ctx,
ap_filter_t f,
apr_bucket_brigade bb,
char s 
)
static

Definition at line 645 of file mod_cgi.c.

◆ include_cmd()

static apr_status_t include_cmd ( include_ctx_t ctx,
ap_filter_t f,
apr_bucket_brigade bb,
const char command 
)
static

Definition at line 699 of file mod_cgi.c.

◆ is_scriptaliased()

static int is_scriptaliased ( request_rec r)
static

Definition at line 74 of file mod_cgi.c.

◆ log_script()

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

< Size of the file

< Append to the end of the file

<

Deprecated:
See also
APR_FOPEN_APPEND

< Open the file for writing

<

Deprecated:
See also
APR_FOPEN_WRITE

< Create the file if not there

<

Deprecated:
See also
APR_FOPEN_CREATE

< use OS's default permissions

<

Deprecated:
See also
APR_FPROT_OS_DEFAULT

Definition at line 189 of file mod_cgi.c.

◆ merge_cgi_config()

static void * merge_cgi_config ( apr_pool_t p,
void *  basev,
void *  overridesv 
)
static

Definition at line 112 of file mod_cgi.c.

◆ register_hooks()

static void register_hooks ( apr_pool_t p)
static

Definition at line 763 of file mod_cgi.c.

◆ run_cgi_child()

static apr_status_t run_cgi_child ( apr_file_t **  script_out,
apr_file_t **  script_in,
apr_file_t **  script_err,
const char command,
const char *const  argv[],
request_rec r,
apr_pool_t p,
cgi_exec_info_t e_info 
)
static

Definition at line 345 of file mod_cgi.c.

◆ set_script_timeout()

static const char * set_script_timeout ( cmd_parms cmd,
void *  dummy,
const char arg 
)
static

Definition at line 164 of file mod_cgi.c.

◆ set_scriptlog()

static const char * set_scriptlog ( cmd_parms cmd,
void *  dummy,
const char arg 
)
static

Definition at line 126 of file mod_cgi.c.

◆ set_scriptlog_buffer()

static const char * set_scriptlog_buffer ( cmd_parms cmd,
void *  dummy,
const char arg 
)
static

Definition at line 153 of file mod_cgi.c.

◆ set_scriptlog_length()

static const char * set_scriptlog_length ( cmd_parms cmd,
void *  dummy,
const char arg 
)
static

Definition at line 142 of file mod_cgi.c.

Variable Documentation

◆ aplog_module_index

int* const aplog_module_index = &( cgi_module.module_index)
static

Definition at line 771 of file mod_cgi.c.

◆ cgi_build_command

apr_OFN_ap_cgi_build_command_t* cgi_build_command
static

Definition at line 63 of file mod_cgi.c.

◆ cgi_cmds

const command_rec cgi_cmds[]
static
Initial value:
=
{
{ "ScriptLog" , set_scriptlog , NULL , 128 , TAKE1, "the name of a log for script debugging info" },
{ "ScriptLogLength" , set_scriptlog_length , NULL , 128 , TAKE1, "the maximum length (in bytes) of the script debug log" },
{ "ScriptLogBuffer" , set_scriptlog_buffer , NULL , 128 , TAKE1, "the maximum size (in bytes) to record of a POST request" },
{ "CGIScriptTimeout" , set_script_timeout , NULL , 128 | 64 , TAKE1, "The amount of time to wait between successful reads from " "the CGI script, in seconds." },
{NULL}
}
@ TAKE1
Definition http_config.h:51
static const char * set_scriptlog_length(cmd_parms *cmd, void *dummy, const char *arg)
Definition mod_cgi.c:142
static const char * set_script_timeout(cmd_parms *cmd, void *dummy, const char *arg)
Definition mod_cgi.c:164
static const char * set_scriptlog_buffer(cmd_parms *cmd, void *dummy, const char *arg)
Definition mod_cgi.c:153
static const char * set_scriptlog(cmd_parms *cmd, void *dummy, const char *arg)
Definition mod_cgi.c:126
return NULL
Definition mod_so.c:359

Definition at line 175 of file mod_cgi.c.