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...