mjc 96/07/17 01:33:42
Modified: src http_protocol.c CHANGES
Log:
Submitted by: Paul Sutton
Fix ErrorDocument handling. When ErrorDocument failed it used to
display filename instead of error message. Also handles recursive
ErrorDocuments.
Revision Changes Path
1.28 +23 -3 apache/src/http_protocol.c
Index: http_protocol.c
===================================================================
RCS file: /export/home/cvs/apache/src/http_protocol.c,v
retrieving revision 1.27
retrieving revision 1.28
diff -C3 -r1.27 -r1.28
*** http_protocol.c 1996/06/23 18:05:16 1.27
--- http_protocol.c 1996/07/17 08:33:39 1.28
***************
*** 880,888 ****
if (r->header_only) return;
! if ((custom_response = response_code_string (r, idx)))
! bputs(custom_response, c->client);
! else {
char *title = response_titles[idx];
BUFF *fd = c->client;
--- 880,908 ----
if (r->header_only) return;
! if ((custom_response = response_code_string (r, idx))) {
! /*
! * We have a custom response output. This should only be
! * a text-string to write back. But if the ErrorDocument
! * was a local redirect and the requested resource failed
! * for any reason, the custom_response will still hold the
! * redirect URL. We don't really want to output this URL
! * as a text message, so first check the custom response
! * string to ensure that it is a text-string (using the
! * same test used in die(), i.e. does it start with a
! * "). If it doesn't, we've got a recursive error, so find
! * the original error and output that as well.
! */
! if (custom_response[0] == '\"') {
! bputs(custom_response+1, c->client);
! return;
! }
! /* Redirect failed, so get back the original error
! */
! while (r->prev && r->prev->status != 200)
! r = r->prev;
! }
! {
char *title = response_titles[idx];
BUFF *fd = c->client;
1.43 +3 -0 apache/src/CHANGES
Index: CHANGES
===================================================================
RCS file: /export/home/cvs/apache/src/CHANGES,v
retrieving revision 1.42
retrieving revision 1.43
diff -C3 -r1.42 -r1.43
*** CHANGES 1996/07/16 19:39:10 1.42
--- CHANGES 1996/07/17 08:33:40 1.43
***************
*** 1,5 ****
--- 1,8 ----
Changes with Apache 1.2b1:
+ *) Fix ErrorDocument handling. When ErrorDocument failed it used to
+ display filename instead of error message. [Paul Sutton]
+
*) Graceful restart code added. This allows the server to restart without
losing current connections on receipt of signal 2 (SIGINT). [Ben
Laurie]