You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by yl...@apache.org on 2021/09/08 08:27:47 UTC

svn commit: r1893111 - in /httpd/httpd/branches/2.4.x: ./ changes-entries/proxy_nocanon_interpolate.txt modules/proxy/mod_proxy.c

Author: ylavic
Date: Wed Sep  8 08:27:47 2021
New Revision: 1893111

URL: http://svn.apache.org/viewvc?rev=1893111&view=rev
Log:
Merge r1893016 from trunk:


mod_proxy: Don't canonicalize with both nocanon and ProxyPassInterpolateEnv On.

If nocanon is set, we should match the unparsed_uri against the interpolated
alias (not the ProxyPass'ed one) when verifying the resulting length. Otherwise
we falsely restore the canonicalized URL in case of mismatch.  PR 65549.


Submitted by: Joel Self <joelself gmail.com>
Reviewed by: ylavic, covener, rpluem

Added:
    httpd/httpd/branches/2.4.x/changes-entries/proxy_nocanon_interpolate.txt
      - copied unchanged from r1893016, httpd/httpd/trunk/changes-entries/proxy_nocanon_interpolate.txt
Modified:
    httpd/httpd/branches/2.4.x/   (props changed)
    httpd/httpd/branches/2.4.x/modules/proxy/mod_proxy.c

Propchange: httpd/httpd/branches/2.4.x/
------------------------------------------------------------------------------
  Merged /httpd/httpd/trunk:r1893016

Modified: httpd/httpd/branches/2.4.x/modules/proxy/mod_proxy.c
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/modules/proxy/mod_proxy.c?rev=1893111&r1=1893110&r2=1893111&view=diff
==============================================================================
--- httpd/httpd/branches/2.4.x/modules/proxy/mod_proxy.c (original)
+++ httpd/httpd/branches/2.4.x/modules/proxy/mod_proxy.c Wed Sep  8 08:27:47 2021
@@ -943,7 +943,7 @@ PROXY_DECLARE(int) ap_proxy_trans_match(
                               "'%s'; declining", r->uri);
                 return DECLINED;
             }
-            if (nocanon && len != alias_match(r->unparsed_uri, ent->fake)) {
+            if (nocanon && len != alias_match(r->unparsed_uri, fake)) {
                 mismatch = 1;
                 use_uri = r->uri;
             }