httpd-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From cove...@apache.org
Subject svn commit: r721679 - in /httpd/httpd/trunk: CHANGES server/config.c
Date Sat, 29 Nov 2008 13:09:36 GMT
Author: covener
Date: Sat Nov 29 05:09:36 2008
New Revision: 721679

URL: http://svn.apache.org/viewvc?rev=721679&view=rev
Log:
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


Modified:
    httpd/httpd/trunk/CHANGES
    httpd/httpd/trunk/server/config.c

Modified: httpd/httpd/trunk/CHANGES
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/CHANGES?rev=721679&r1=721678&r2=721679&view=diff
==============================================================================
--- httpd/httpd/trunk/CHANGES [utf-8] (original)
+++ httpd/httpd/trunk/CHANGES [utf-8] Sat Nov 29 05:09:36 2008
@@ -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]

Modified: httpd/httpd/trunk/server/config.c
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/server/config.c?rev=721679&r1=721678&r2=721679&view=diff
==============================================================================
--- httpd/httpd/trunk/server/config.c (original)
+++ httpd/httpd/trunk/server/config.c Sat Nov 29 05:09:36 2008
@@ -382,6 +382,7 @@
             "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?)



Mime
View raw message