From: Ryan Bloom Date: Mon, 22 Jan 2001 21:57:57 +0000 (+0000) Subject: AP_REQUEST_DONE is bogus and a bad idea. This had the http_header filter X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=7d6e52799cc5439d9aa7c11c31788510cae52caa;p=apache AP_REQUEST_DONE is bogus and a bad idea. This had the http_header filter 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 --- diff --git a/include/util_filter.h b/include/util_filter.h index 1777b1e35d..e01b04a264 100644 --- a/include/util_filter.h +++ b/include/util_filter.h @@ -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 * diff --git a/modules/http/http_protocol.c b/modules/http/http_protocol.c index 09c1c2f8e6..9fbce60513 100644 --- a/modules/http/http_protocol.c +++ b/modules/http/http_protocol.c @@ -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) {