You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by rp...@apache.org on 2006/04/08 23:43:25 UTC

svn commit: r392613 - in /httpd/httpd/trunk: CHANGES modules/proxy/proxy_util.c

Author: rpluem
Date: Sat Apr  8 14:43:24 2006
New Revision: 392613

URL: http://svn.apache.org/viewcvs?rev=392613&view=rev
Log:
* Check for an existing socket independant of an existing connection record.
  This ensures that requests handled by the '*' worker are sent to the correct
  backend server.

PR: 39253

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

Modified: httpd/httpd/trunk/CHANGES
URL: http://svn.apache.org/viewcvs/httpd/httpd/trunk/CHANGES?rev=392613&r1=392612&r2=392613&view=diff
==============================================================================
--- httpd/httpd/trunk/CHANGES [utf-8] (original)
+++ httpd/httpd/trunk/CHANGES [utf-8] Sat Apr  8 14:43:24 2006
@@ -2,6 +2,9 @@
 Changes with Apache 2.3.0
   [Remove entries to the current 2.0 and 2.2 section below, when backported]
 
+  *) mod_proxy: Forward proxy requests created by mod_rewrite to the correct
+     backend server. PR 39253. [Ruediger Pluem]
+
   *) Default handler: Don't return output filter apr_status_t values.
      PR 31759.  [Jeff Trawick, Ruediger Pluem, Joe Orton]
 

Modified: httpd/httpd/trunk/modules/proxy/proxy_util.c
URL: http://svn.apache.org/viewcvs/httpd/httpd/trunk/modules/proxy/proxy_util.c?rev=392613&r1=392612&r2=392613&view=diff
==============================================================================
--- httpd/httpd/trunk/modules/proxy/proxy_util.c (original)
+++ httpd/httpd/trunk/modules/proxy/proxy_util.c Sat Apr  8 14:43:24 2006
@@ -1870,11 +1870,11 @@
             conn->hostname = apr_pstrdup(conn->pool, uri->hostname);
             conn->port = uri->port;
         }
+        if (conn->sock) {
+            apr_socket_close(conn->sock);
+            conn->sock = NULL;
+        }
         if (conn->connection) {
-            if (conn->sock) {
-                apr_socket_close(conn->sock);
-                conn->sock = NULL;
-            }
             apr_pool_cleanup_kill(conn->connection->pool, conn, connection_cleanup);
             conn->connection = NULL;
         }