diff options
Diffstat (limited to 'lib/conncache.c')
-rw-r--r-- | lib/conncache.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/lib/conncache.c b/lib/conncache.c index 2cdfd34d9..88463354b 100644 --- a/lib/conncache.c +++ b/lib/conncache.c @@ -163,9 +163,12 @@ static void hashkey(struct connectdata *conn, char *buf, const char **hostp) { const char *hostname; + long port = conn->remote_port; - if(conn->bits.httpproxy && !conn->bits.tunnel_proxy) + if(conn->bits.httpproxy && !conn->bits.tunnel_proxy) { hostname = conn->http_proxy.host.name; + port = conn->port; + } else if(conn->bits.conn_to_host) hostname = conn->conn_to_host.name; else @@ -178,7 +181,7 @@ static void hashkey(struct connectdata *conn, char *buf, DEBUGASSERT(len > 32); /* put the number first so that the hostname gets cut off if too long */ - msnprintf(buf, len, "%ld%s", conn->port, hostname); + msnprintf(buf, len, "%ld%s", port, hostname); } void Curl_conncache_unlock(struct Curl_easy *data) |