httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ruediger Pluem <rpl...@apache.org>
Subject Re: svn commit: r912063 - in /httpd/httpd/trunk: CHANGES modules/proxy/mod_proxy_http.c
Date Sat, 20 Feb 2010 12:14:39 GMT
On 20.02.2010 02:54, niq@apache.org wrote:
> Author: niq
> Date: Sat Feb 20 01:54:15 2010
> New Revision: 912063
> 
> URL: http://svn.apache.org/viewvc?rev=912063&view=rev
> Log:
> mod_proxy_http: get the headers right in a HEAD request with ProxyErrorOverride.PR 41646
> Analysis by Stuart Children; patch by niq
> 
> Modified:
>     httpd/httpd/trunk/CHANGES
>     httpd/httpd/trunk/modules/proxy/mod_proxy_http.c
> 
> Modified: httpd/httpd/trunk/CHANGES
> URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/CHANGES?rev=912063&r1=912062&r2=912063&view=diff
> ==============================================================================
> --- httpd/httpd/trunk/CHANGES [utf-8] (original)
> +++ httpd/httpd/trunk/CHANGES [utf-8] Sat Feb 20 01:54:15 2010
> @@ -2,6 +2,12 @@
>  
>  Changes with Apache 2.3.7
>  
> +  *) Proxy: get the headers right in a HEAD request with
> +     ProxyErrorOverride, by checking for an overridden error
> +     before not after going into a catch-all code path.
> +     PR 41646.
> +     Patch by Nick Kew, based on detailed analysis by Stuart Children.
> +
>    *) support/rotatelogs: Support the simplest log rotation case, log
>       truncation. Useful when the log is being processed in real time
>       using a command like tail. [Graham Leggett]

We are handling a lot more conf->error_override in the code that is now not used
any longer. So I am a litte worried that we now miss some cases.
Isn't below the better patch?

Index: mod_proxy_http.c
===================================================================
--- mod_proxy_http.c    (Revision 911511)
+++ mod_proxy_http.c    (Arbeitskopie)
@@ -1839,13 +1839,15 @@
             ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, r->server,
                          "proxy: header only");

-            /* Pass EOS bucket down the filter chain. */
-            e = apr_bucket_eos_create(c->bucket_alloc);
-            APR_BRIGADE_INSERT_TAIL(bb, e);
-            if (ap_pass_brigade(r->output_filters, bb) != APR_SUCCESS
-                || c->aborted) {
-                /* Ack! Phbtt! Die! User aborted! */
-                backend->close = 1;  /* this causes socket close below */
+            if (!conf->error_override) {
+                /* Pass EOS bucket down the filter chain. */
+                e = apr_bucket_eos_create(c->bucket_alloc);
+                APR_BRIGADE_INSERT_TAIL(bb, e);
+                if (ap_pass_brigade(r->output_filters, bb) != APR_SUCCESS
+                    || c->aborted) {
+                    /* Ack! Phbtt! Die! User aborted! */
+                    backend->close = 1;  /* this causes socket close below */
+                }
             }

             apr_brigade_cleanup(bb);


Regards

RĂ¼diger

Mime
View raw message