From bb7b54c59f29d22a1fa5e9f39070cfacca4c89ec Mon Sep 17 00:00:00 2001 From: Ruediger Pluem Date: Sat, 8 Apr 2006 21:43:24 +0000 Subject: [PATCH] * 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 git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@392613 13f79535-47bb-0310-9956-ffa450edef68 --- CHANGES | 3 +++ modules/proxy/proxy_util.c | 8 ++++---- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/CHANGES b/CHANGES index 5389147370..5b22308f15 100644 --- a/CHANGES +++ b/CHANGES @@ -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] diff --git a/modules/proxy/proxy_util.c b/modules/proxy/proxy_util.c index e28687ec25..104b465e68 100644 --- a/modules/proxy/proxy_util.c +++ b/modules/proxy/proxy_util.c @@ -1870,11 +1870,11 @@ ap_proxy_determine_connection(apr_pool_t *p, request_rec *r, 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; }