diff --git a/lib/url.c b/lib/url.c index a95426fe6..86a5576c8 100644 --- a/lib/url.c +++ b/lib/url.c @@ -4666,14 +4666,10 @@ static void reuse_conn(struct connectdata *old_conn, old_conn->proxypasswd = NULL; } - /* host can change, when doing keepalive with a proxy ! */ - if(conn->bits.proxy) { - Curl_safefree(conn->host.rawalloc); - conn->host=old_conn->host; - } - else - /* free the newly allocated name buffer */ - Curl_safefree(old_conn->host.rawalloc); + /* host can change, when doing keepalive with a proxy or if the case is + different this time etc */ + Curl_safefree(conn->host.rawalloc); + conn->host=old_conn->host; /* persist connection info in session handle */ Curl_persistconninfo(conn); diff --git a/tests/data/Makefile.am b/tests/data/Makefile.am index 1de2479df..53d94841f 100644 --- a/tests/data/Makefile.am +++ b/tests/data/Makefile.am @@ -81,7 +81,7 @@ test1208 test1209 test1210 test1211 \ test1220 \ test1300 test1301 test1302 test1303 test1304 test1305 \ test1306 test1307 test1308 test1309 test1310 test1311 test1312 test1313 \ -test1314 test1315 test1317 \ +test1314 test1315 test1317 test1318 \ test2000 test2001 test2002 test2003 test2004 EXTRA_DIST = $(TESTCASES) DISABLED diff --git a/tests/data/test1318 b/tests/data/test1318 new file mode 100644 index 000000000..709e08dc3 --- /dev/null +++ b/tests/data/test1318 @@ -0,0 +1,59 @@ + + + +HTTP +HTTP GET + + + +# +# Server-side + + +HTTP/1.1 200 OK +Date: Thu, 09 Nov 2010 14:49:00 GMT +Server: test-server/fake +Content-Length: 0 + + + +HTTP/1.1 200 second version +Date: Thu, 09 Nov 2010 14:49:00 GMT +Server: test-server/fake +Content-Length: 0 + + + + +# +# Client-side + + +http + + +HTTP with same host name using different cases + + +--resolve MiXeDcAsE.cOm:%HTTPPORT:%HOSTIP http://MiXeDcAsE.cOm:%HTTPPORT/1318 http://mixedcase.com:%HTTPPORT/13180001 + + + +# +# Verify data after the test has been "shot" + + +^User-Agent:.* + + +GET /1318 HTTP/1.1 +Host: MiXeDcAsE.cOm:%HTTPPORT +Accept: */* + +GET /13180001 HTTP/1.1 +Host: mixedcase.com:%HTTPPORT +Accept: */* + + + +