summaryrefslogtreecommitdiffstats
path: root/modules/http
diff options
context:
space:
mode:
authorRyan Bloom <rbb@apache.org>2001-01-22 22:57:57 +0100
committerRyan Bloom <rbb@apache.org>2001-01-22 22:57:57 +0100
commit7bfd9bc68c1f0d7ac64dcbf0ec3bca6d579a32ad (patch)
tree9beb798d88437e9c40ac7f96a37f88f59510de1a /modules/http
parents/LAST/MIDDLE/ (diff)
downloadapache2-7bfd9bc68c1f0d7ac64dcbf0ec3bca6d579a32ad.tar.xz
apache2-7bfd9bc68c1f0d7ac64dcbf0ec3bca6d579a32ad.zip
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
Diffstat (limited to 'modules/http')
-rw-r--r--modules/http/http_protocol.c4
1 files changed, 2 insertions, 2 deletions
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) {