coar 98/09/03 15:40:43
Modified: src CHANGES src/main util_script.c src/modules/standard mod_cgi.c Log: Put an explanation of *why* the "500 Server Error" condition occurred during CGI processing into the *ERROR_NOTES envariable so ErrorDocument scripts can be more descriptive if they so desire. PR: 1291 Revision Changes Path 1.1045 +5 -0 apache-1.3/src/CHANGES Index: CHANGES =================================================================== RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v retrieving revision 1.1044 retrieving revision 1.1045 diff -u -r1.1044 -r1.1045 --- CHANGES 1998/09/02 21:04:40 1.1044 +++ CHANGES 1998/09/03 22:40:39 1.1045 @@ -1,5 +1,10 @@ Changes with Apache 1.3.2 + *) Problems encountered during .htaccess parsing or CGI execution + that lead to a "500 Server Error" condition now provide explanatory + text (in the *ERROR_NOTES envariable) to ErrorDocument 500 scripts. + [Ken Coar] PR#1291 + *) Add NameWidth keyword to IndexOptions directive so that the width of the filename column is customisable. [Ken Coar, Dean Gaudet] PR#1949, 2324. 1.130 +8 -4 apache-1.3/src/main/util_script.c Index: util_script.c =================================================================== RCS file: /export/home/cvs/apache-1.3/src/main/util_script.c,v retrieving revision 1.129 retrieving revision 1.130 diff -u -r1.129 -r1.130 --- util_script.c 1998/08/14 02:49:51 1.129 +++ util_script.c 1998/09/03 22:40:41 1.130 @@ -457,8 +457,10 @@ if ((*getsfunc) (w, MAX_STRING_LEN - 1, getsfunc_data) == 0) { ap_kill_timeout(r); ap_log_rerror(APLOG_MARK, APLOG_NOERRNO|APLOG_ERR, r, - "Premature end of script headers: %s", r->filename); - return SERVER_ERROR; + "Premature end of script headers: %s", r->filename); + ap_table_setn(r->notes, "error-notes", + "Premature end of script headers"); + return HTTP_INTERNAL_SERVER_ERROR; } /* Delete terminal (CR?)LF */ @@ -519,8 +521,10 @@ ap_kill_timeout(r); ap_log_rerror(APLOG_MARK, APLOG_NOERRNO|APLOG_ERR, r, - "%s: %s", malformed, r->filename); - return SERVER_ERROR; + "%s: %s", malformed, r->filename); + ap_table_setn(r->notes, "error-notes", + ap_pstrdup(r->pool, malformed)); + return HTTP_INTERNAL_SERVER_ERROR; } *l++ = '\0'; 1.85 +2 -1 apache-1.3/src/modules/standard/mod_cgi.c Index: mod_cgi.c =================================================================== RCS file: /export/home/cvs/apache-1.3/src/modules/standard/mod_cgi.c,v retrieving revision 1.84 retrieving revision 1.85 diff -u -r1.84 -r1.85 --- mod_cgi.c 1998/08/06 17:30:57 1.84 +++ mod_cgi.c 1998/09/03 22:40:42 1.85 @@ -433,7 +433,8 @@ &script_out, &script_in, &script_err)) { ap_log_rerror(APLOG_MARK, APLOG_ERR, r, "couldn't spawn child process: %s", r->filename); - return SERVER_ERROR; + ap_table_setn(r->notes, "error-notes", "Couldn't spawn child process"); + return HTTP_INTERNAL_SERVER_ERROR; } /* Transfer any put/post args, CERN style...