You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by co...@apache.org on 2018/01/10 00:57:23 UTC

svn commit: r1820716 - in /httpd/httpd/trunk: CHANGES modules/generators/mod_cgi.c

Author: covener
Date: Wed Jan 10 00:57:22 2018
New Revision: 1820716

URL: http://svn.apache.org/viewvc?rev=1820716&view=rev
Log:
PR 61980: AH01215 CGI stderr forwarding msg improvement


*) mod_cgi: Improve AH01215 messages to make it more clear that the message is
  the CGI scripts stderr output. PR 61980. [Hank Ibell <hwibell gmail.com>]

Submitted By: Hank Ibell <hwibell gmail.com>
Commited By: covener




Modified:
    httpd/httpd/trunk/CHANGES
    httpd/httpd/trunk/modules/generators/mod_cgi.c

Modified: httpd/httpd/trunk/CHANGES
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/CHANGES?rev=1820716&r1=1820715&r2=1820716&view=diff
==============================================================================
--- httpd/httpd/trunk/CHANGES [utf-8] (original)
+++ httpd/httpd/trunk/CHANGES [utf-8] Wed Jan 10 00:57:22 2018
@@ -1,6 +1,9 @@
                                                          -*- coding: utf-8 -*-
 Changes with Apache 2.5.1
 
+  *) mod_cgi: Improve AH01215 messages to make it more clear that the message is
+     the CGI scripts stderr output. PR 61980. [Hank Ibell <hwibell gmail.com>]
+
   *) mod_headers: Allow 'Header unset Content-Type' to remove the Content-Type
      header. PR 61983. [Hank Ibell <hwibell gmail.com>]
 

Modified: httpd/httpd/trunk/modules/generators/mod_cgi.c
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/generators/mod_cgi.c?rev=1820716&r1=1820715&r2=1820716&view=diff
==============================================================================
--- httpd/httpd/trunk/modules/generators/mod_cgi.c (original)
+++ httpd/httpd/trunk/modules/generators/mod_cgi.c Wed Jan 10 00:57:22 2018
@@ -167,12 +167,11 @@ static int log_scripterror(request_rec *
     apr_file_t *f = NULL;
     apr_finfo_t finfo;
     char time_str[APR_CTIME_LEN];
-    int log_flags = rv ? APLOG_ERR : APLOG_ERR;
 
     /* Intentional no APLOGNO */
     /* Callee provides APLOGNO in error text */
-    ap_log_rerror(APLOG_MARK, log_flags, rv, r,
-                  "%s%s: %s", logno ? logno : "", error, r->filename);
+    ap_log_rerror(APLOG_MARK, APLOG_ERR, rv, r,
+                  "%sstderr from %s: %s", logno ? logno : "", r->filename, error);
 
     /* XXX Very expensive mainline case! Open, then getfileinfo! */
     if (!conf->logname ||
@@ -209,8 +208,14 @@ static apr_status_t log_script_err(reque
 
     while ((rv = apr_file_gets(argsbuffer, HUGE_STRING_LEN,
                                script_err)) == APR_SUCCESS) {
+
         newline = strchr(argsbuffer, '\n');
         if (newline) {
+            char *prev = newline - 1;
+            if (prev >= argsbuffer && *prev == '\r') {
+                newline = prev;
+            }
+
             *newline = '\0';
         }
         log_scripterror(r, conf, r->status, 0, APLOGNO(01215), argsbuffer);