]> granicus.if.org Git - apache/commitdiff
AP_REQUEST_DONE is bogus and a bad idea. This had the http_header filter
authorRyan Bloom <rbb@apache.org>
Mon, 22 Jan 2001 21:57:57 +0000 (21:57 +0000)
committerRyan Bloom <rbb@apache.org>
Mon, 22 Jan 2001 21:57:57 +0000 (21:57 +0000)
return -3 for every HEAD request, which in turn made us call ap_die.  Of
course, if we didn't have a 200 status (say we had a 206), then we would
seg fault, because we would end up sending down a second EOS bucket, which
would in turn make us call the byterange filter again, but at this point,
we hadn't cleaned up the byterange ctx structure, because it was never
supposed to be called again.

This was biting us on apache.org, where we had a HEAD request for
bytes=100- for a file.  This was a major seg fault.  We are better off
just returning OK is much safer.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87788 13f79535-47bb-0310-9956-ffa450edef68

include/util_filter.h
modules/http/http_protocol.c

index 1777b1e35de35425120ef720e498407b245dd96b..e01b04a264a26956d70a25af03e7bfcb0c00765e 100644 (file)
@@ -73,7 +73,6 @@ extern "C" {
 
 #define AP_NOBODY_WROTE         -1
 #define AP_NOBODY_READ          -2
-#define AP_REQUEST_DONE         -3
 
 /* ap_input_mode_t - input filtering modes 
  * 
index 09c1c2f8e6f059063604d7bd57c2edcca069d9d9..9fbce6051377b17c0ce11ce496e2d3c1ee4c348e 100644 (file)
@@ -2495,7 +2495,7 @@ AP_CORE_DECLARE_NONSTD(apr_status_t) ap_http_header_filter(ap_filter_t *f, apr_b
 
     if (ctx->headers_sent) {
         apr_brigade_destroy(b);
-        return AP_REQUEST_DONE;
+        return OK;
     }
 
     if (r->assbackwards) {
@@ -2644,7 +2644,7 @@ AP_CORE_DECLARE_NONSTD(apr_status_t) ap_http_header_filter(ap_filter_t *f, apr_b
 
     if (r->header_only) {
         apr_brigade_destroy(b);
-        return AP_REQUEST_DONE;
+        return OK;
     }
 
     if (r->chunked) {