You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by el...@apache.org on 2016/07/18 08:02:23 UTC

svn commit: r1753167 - in /httpd/httpd/trunk: CHANGES modules/proxy/mod_proxy_fcgi.c

Author: elukey
Date: Mon Jul 18 08:02:23 2016
New Revision: 1753167

URL: http://svn.apache.org/viewvc?rev=1753167&view=rev
Log:
mod_proxy_fcgi: avoid loops serving proxied error documents

This commit should solve the issue indicated in PR 55415.
Httpd loops while serving a error document if:
1) The error document's content is proxied.
2) ProxyErrorOverride is set.
The solution proposed is to limit the use of ap_die only
to the initial request. I tested the change with very basic
scenarios but I am not sure if I got all the use cases,
feedback is really welcome.


Modified:
    httpd/httpd/trunk/CHANGES
    httpd/httpd/trunk/modules/proxy/mod_proxy_fcgi.c

Modified: httpd/httpd/trunk/CHANGES
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/CHANGES?rev=1753167&r1=1753166&r2=1753167&view=diff
==============================================================================
--- httpd/httpd/trunk/CHANGES [utf-8] (original)
+++ httpd/httpd/trunk/CHANGES [utf-8] Mon Jul 18 08:02:23 2016
@@ -1,6 +1,9 @@
                                                          -*- coding: utf-8 -*-
 Changes with Apache 2.5.0
 
+  *) mod_proxy_fcgi: avoid loops when ProxyErrorOverride is enabled
+     and the error documents are proxied. PR 55415. [Luca Toscano]
+
   *) mod_proxy_fcgi: read the whole FCGI response even when the content has
      not been modified (HTTP 304) to avoid subsequent bogus reads and
      confusing error messages logged. [Luca Toscano]

Modified: httpd/httpd/trunk/modules/proxy/mod_proxy_fcgi.c
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/proxy/mod_proxy_fcgi.c?rev=1753167&r1=1753166&r2=1753167&view=diff
==============================================================================
--- httpd/httpd/trunk/modules/proxy/mod_proxy_fcgi.c (original)
+++ httpd/httpd/trunk/modules/proxy/mod_proxy_fcgi.c Mon Jul 18 08:02:23 2016
@@ -678,8 +678,8 @@ recv_again:
                                 }
                             }
 
-                            if (conf->error_override &&
-                                ap_is_HTTP_ERROR(r->status)) {
+                            if (conf->error_override
+                                && ap_is_HTTP_ERROR(r->status) && ap_is_initial_req(r)) {
                                 /*
                                  * set script_error_status to discard
                                  * everything after the headers



Re: svn commit: r1753167 - in /httpd/httpd/trunk: CHANGES modules/proxy/mod_proxy_fcgi.c

Posted by Luca Toscano <to...@gmail.com>.
2016-07-18 10:54 GMT+02:00 Ruediger Pluem <rp...@apache.org>:

Hi Ruediger,


>
> On 07/18/2016 10:02 AM, elukey@apache.org wrote:
> > Author: elukey
> > Date: Mon Jul 18 08:02:23 2016
> > New Revision: 1753167
> >
> > URL: http://svn.apache.org/viewvc?rev=1753167&view=rev
> > Log:
> > mod_proxy_fcgi: avoid loops serving proxied error documents
> >
> > This commit should solve the issue indicated in PR 55415.
> > Httpd loops while serving a error document if:
> > 1) The error document's content is proxied.
> > 2) ProxyErrorOverride is set.
> > The solution proposed is to limit the use of ap_die only
> > to the initial request. I tested the change with very basic
> > scenarios but I am not sure if I got all the use cases,
> > feedback is really welcome.
> >
> >
>
> Does this only affect mod_proxy_fcgi or does it affect the other proxy
> modules as well?
>

the bugzilla report was only for mod_proxy_fcgi. I checked mod_proxy_http
and the issue has already been fixed in the past (in a different way since
it doesn't use ap_die at all afaiu). I am not sure about all the proxy
modules but we could make a quick check to all of them.

Regards,

Luca

Re: svn commit: r1753167 - in /httpd/httpd/trunk: CHANGES modules/proxy/mod_proxy_fcgi.c

Posted by Ruediger Pluem <rp...@apache.org>.

On 07/18/2016 10:02 AM, elukey@apache.org wrote:
> Author: elukey
> Date: Mon Jul 18 08:02:23 2016
> New Revision: 1753167
> 
> URL: http://svn.apache.org/viewvc?rev=1753167&view=rev
> Log:
> mod_proxy_fcgi: avoid loops serving proxied error documents
> 
> This commit should solve the issue indicated in PR 55415.
> Httpd loops while serving a error document if:
> 1) The error document's content is proxied.
> 2) ProxyErrorOverride is set.
> The solution proposed is to limit the use of ap_die only
> to the initial request. I tested the change with very basic
> scenarios but I am not sure if I got all the use cases,
> feedback is really welcome.
> 
> 

Does this only affect mod_proxy_fcgi or does it affect the other proxy modules as well?

Regards

R�diger