diff options
author | Jan Kaluža <jkaluza@apache.org> | 2014-09-23 13:14:09 +0200 |
---|---|---|
committer | Jan Kaluža <jkaluza@apache.org> | 2014-09-23 13:14:09 +0200 |
commit | 84d85f62bb11e610b84ee64705077ddeafd1920c (patch) | |
tree | 097fcf1d1bde1da2c76a2f8db2d5761524ece5ac /modules/generators | |
parent | ab: try all destination socket addresses returned by apr_sockaddr_info_get (diff) | |
download | apache2-84d85f62bb11e610b84ee64705077ddeafd1920c.tar.xz apache2-84d85f62bb11e610b84ee64705077ddeafd1920c.zip |
mod_cgi: log cgi script stderr to ScriptLog, use APLOGNO for log_scripterror
errors.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1626978 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'modules/generators')
-rw-r--r-- | modules/generators/mod_cgi.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/modules/generators/mod_cgi.c b/modules/generators/mod_cgi.c index 25175dd119..0602867cdf 100644 --- a/modules/generators/mod_cgi.c +++ b/modules/generators/mod_cgi.c @@ -162,7 +162,7 @@ AP_INIT_TAKE1("ScriptLogBuffer", set_scriptlog_buffer, NULL, RSRC_CONF, }; static int log_scripterror(request_rec *r, cgi_server_conf * conf, int ret, - apr_status_t rv, char *error) + apr_status_t rv, char *logno, char *error) { apr_file_t *f = NULL; apr_finfo_t finfo; @@ -170,7 +170,7 @@ static int log_scripterror(request_rec *r, cgi_server_conf * conf, int ret, int log_flags = rv ? APLOG_ERR : APLOG_ERR; ap_log_rerror(APLOG_MARK, log_flags, rv, r, - "%s: %s", error, r->filename); + "%s%s: %s", logno ? logno : "", error, r->filename); /* XXX Very expensive mainline case! Open, then getfileinfo! */ if (!conf->logname || @@ -203,6 +203,7 @@ static apr_status_t log_script_err(request_rec *r, apr_file_t *script_err) char argsbuffer[HUGE_STRING_LEN]; char *newline; apr_status_t rv; + cgi_server_conf *conf = ap_get_module_config(r->server->module_config, &cgi_module); while ((rv = apr_file_gets(argsbuffer, HUGE_STRING_LEN, script_err)) == APR_SUCCESS) { @@ -210,8 +211,7 @@ static apr_status_t log_script_err(request_rec *r, apr_file_t *script_err) if (newline) { *newline = '\0'; } - ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r, APLOGNO(01215) - "%s", argsbuffer); + log_scripterror(r, conf, r->status, 0, APLOGNO(01215), argsbuffer); } return rv; @@ -774,24 +774,24 @@ static int cgi_handler(request_rec *r) conf = ap_get_module_config(r->server->module_config, &cgi_module); if (!(ap_allow_options(r) & OPT_EXECCGI) && !is_scriptaliased(r)) - return log_scripterror(r, conf, HTTP_FORBIDDEN, 0, + return log_scripterror(r, conf, HTTP_FORBIDDEN, 0, APLOGNO(02809), "Options ExecCGI is off in this directory"); if (nph && is_included) - return log_scripterror(r, conf, HTTP_FORBIDDEN, 0, + return log_scripterror(r, conf, HTTP_FORBIDDEN, 0, APLOGNO(02810), "attempt to include NPH CGI script"); if (r->finfo.filetype == APR_NOFILE) - return log_scripterror(r, conf, HTTP_NOT_FOUND, 0, + return log_scripterror(r, conf, HTTP_NOT_FOUND, 0, APLOGNO(02811), "script not found or unable to stat"); if (r->finfo.filetype == APR_DIR) - return log_scripterror(r, conf, HTTP_FORBIDDEN, 0, + return log_scripterror(r, conf, HTTP_FORBIDDEN, 0, APLOGNO(02812), "attempt to invoke directory as script"); if ((r->used_path_info == AP_REQ_REJECT_PATH_INFO) && r->path_info && *r->path_info) { /* default to accept */ - return log_scripterror(r, conf, HTTP_NOT_FOUND, 0, + return log_scripterror(r, conf, HTTP_NOT_FOUND, 0, APLOGNO(02813), "AcceptPathInfo off disallows user's path"); } /* |