diff --git a/lib/url.c b/lib/url.c index 567f1de90..c2f488280 100644 --- a/lib/url.c +++ b/lib/url.c @@ -4659,13 +4659,12 @@ static CURLcode resolve_server(struct SessionHandle *data, /************************************************************* * Resolve the name of the server or proxy *************************************************************/ - if(conn->bits.reuse) { - /* We're reusing the connection - no need to resolve anything */ + if(conn->bits.reuse) + /* We're reusing the connection - no need to resolve anything, and + fix_hostname() was called already in create_conn() for the re-use + case. */ *async = FALSE; - if(conn->bits.proxy) - fix_hostname(data, conn, &conn->host); - } else { /* this is a fresh connect */ int rc; @@ -5136,6 +5135,10 @@ static CURLcode create_conn(struct SessionHandle *data, free(conn); /* we don't need this anymore */ conn = conn_temp; *in_connect = conn; + + /* set a pointer to the hostname we display */ + fix_hostname(data, conn, &conn->host); + infof(data, "Re-using existing connection! (#%ld) with host %s\n", conn->connectindex, conn->proxy.name?conn->proxy.dispname:conn->host.dispname); diff --git a/tests/data/test1011 b/tests/data/test1011 index 62ba074a1..59829c99c 100644 --- a/tests/data/test1011 +++ b/tests/data/test1011 @@ -10,10 +10,10 @@ followlocation # Server-side -HTTP/1.1 301 OK swsclose +HTTP/1.1 301 OK Location: moo.html&testcase=/10110002 Date: Thu, 09 Nov 2010 14:49:00 GMT -Connection: close +Content-Length: 0 @@ -25,10 +25,10 @@ Connection: close body -HTTP/1.1 301 OK swsclose +HTTP/1.1 301 OK Location: moo.html&testcase=/10110002 Date: Thu, 09 Nov 2010 14:49:00 GMT -Connection: close +Content-Length: 0 HTTP/1.1 200 OK swsclose Location: this should be ignored