Currently, when the map-to-storage handler for TRACE returns DONE, the
caller -- ap_process_request_internal() -- catches that and returns
OK to its caller -- ap_process_request(). But ap_process_request(),
seeing OK, tries to run a handler. It needs to skip that if the
request was completed in ap_process_request_internal().
So what am I missing :)
Index: modules/http/http_request.c
===================================================================
RCS file: /home/cvspublic/httpd-2.0/modules/http/http_request.c,v
retrieving revision 1.114
diff -u -r1.114 http_request.c
--- modules/http/http_request.c 2001/09/19 05:52:42 1.114
+++ modules/http/http_request.c 2001/09/20 17:26:35
@@ -284,6 +284,10 @@
access_status = ap_process_request_internal(r);
if (access_status == OK)
access_status = ap_invoke_handler(r);
+ else if (access_status == DONE) {
+ /* e.g., something not in storage like TRACE */
+ access_status = OK;
+ }
}
if (access_status == OK) {
Index: server/request.c
===================================================================
RCS file: /home/cvspublic/httpd-2.0/server/request.c,v
retrieving revision 1.50
diff -u -r1.50 request.c
--- server/request.c 2001/09/06 17:58:28 1.50
+++ server/request.c 2001/09/20 17:26:38
@@ -162,10 +162,7 @@
if ((access_status = ap_run_map_to_storage(r))) {
/* This request wasn't in storage (e.g. TRACE) */
- if (access_status == DONE)
- return OK;
- else
- return access_status;
+ return access_status;
}
if ((access_status = ap_location_walk(r))) {
--
Jeff Trawick | [EMAIL PROTECTED] | PGP public key at web site:
http://www.geocities.com/SiliconValley/Park/9289/
Born in Roswell... married an alien...