From: Mladen Turk Date: Mon, 13 Sep 2004 11:30:22 +0000 (+0000) Subject: No need to allocate hostname on each request for X-Git-Tag: 2.1.1~274 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=925dcf456d40f624c325b16b3e51a39210a0173b;p=thirdparty%2Fapache%2Fhttpd.git No need to allocate hostname on each request for persistent connections. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@105109 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/modules/proxy/proxy_util.c b/modules/proxy/proxy_util.c index 397d9225c7f..eddc08384cc 100644 --- a/modules/proxy/proxy_util.c +++ b/modules/proxy/proxy_util.c @@ -1569,17 +1569,20 @@ ap_proxy_determine_connection(apr_pool_t *p, request_rec *r, */ /* are we connecting directly, or via a proxy? */ if (proxyname) { - conn->hostname = apr_pstrdup(conn->pool, proxyname); - conn->port = proxyport; - } else { - conn->hostname = apr_pstrdup(conn->pool, uri->hostname); - conn->port = uri->port; *url = apr_pstrcat(p, uri->path, uri->query ? "?" : "", uri->query ? uri->query : "", uri->fragment ? "#" : "", uri->fragment ? uri->fragment : "", NULL); } - + if (!conn->hostname) { + if (proxyname) { + conn->hostname = apr_pstrdup(conn->pool, proxyname); + conn->port = proxyport; + } else { + conn->hostname = apr_pstrdup(conn->pool, uri->hostname); + conn->port = uri->port; + } + } /* TODO: add address cache for forward proxies */ conn->addr = worker->cp->addr; if (r->proxyreq == PROXYREQ_PROXY) {