diff options
author | Eric Covener <covener@apache.org> | 2008-11-29 14:09:36 +0100 |
---|---|---|
committer | Eric Covener <covener@apache.org> | 2008-11-29 14:09:36 +0100 |
commit | 46afcfe011335877ee542db35b943d2e10178a97 (patch) | |
tree | 87a35542d6602cc41c953f5e64ed0369e73b93fb | |
parent | correct syntax of DirectoryIndex feature, CHANGES only (diff) | |
download | apache2-46afcfe011335877ee542db35b943d2e10178a97.tar.xz apache2-46afcfe011335877ee542db35b943d2e10178a97.zip |
allow ap_invoke_handler() to pass-through AP_FILTER_ERROR as if it were
a reserved status code (OK/DECLINED/SUSPENDED). Prevents ap_die() from
seeing a 500 error when the http header filter has already taken
care of the proper error response
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@721679 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r-- | CHANGES | 5 | ||||
-rw-r--r-- | server/config.c | 1 |
2 files changed, 6 insertions, 0 deletions
@@ -2,6 +2,11 @@ Changes with Apache 2.3.0 [ When backported to 2.2.x, remove entry from this file ] + *) core: Error responses set by filters were being coerced into 500 errors, + sometimes appended to the original error response. Log entry of: + 'Handler for (null) returned invalid result code -3' + [Eric Covener] + *) mod_buffer: Honour the flush bucket and flush the buffer in the input filter. Make sure that metadata buckets are written to the buffer, not to the final brigade. [Graham Leggett] diff --git a/server/config.c b/server/config.c index 9dbeb25efb..ddf31734f6 100644 --- a/server/config.c +++ b/server/config.c @@ -382,6 +382,7 @@ AP_CORE_DECLARE(int) ap_invoke_handler(request_rec *r) "handler \"%s\" not found for: %s", r->handler, r->filename); } if ((result != OK) && (result != DONE) && (result != DECLINED) && (result != SUSPENDED) + && (result != AP_FILTER_ERROR) /* ap_die() knows about this specifically */ && !ap_is_HTTP_VALID_RESPONSE(result)) { /* If a module is deliberately returning something else * (request_rec in non-HTTP or proprietary extension?) |