From: Ruediger Pluem Date: Sat, 8 Apr 2006 21:43:24 +0000 (+0000) Subject: * Check for an existing socket independant of an existing connection record. X-Git-Tag: 2.3.0~2465 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=bb7b54c59f29d22a1fa5e9f39070cfacca4c89ec;p=thirdparty%2Fapache%2Fhttpd.git * 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 --- diff --git a/CHANGES b/CHANGES index 5389147370d..5b22308f15f 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 e28687ec258..104b465e685 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; }