summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2021-03-23 00:24:59 +0100
committerDaniel Stenberg <daniel@haxx.se>2021-03-23 13:33:49 +0100
commit3bbf62b5a4af05fc60f67de924c72c576779d560 (patch)
tree27d83f7faa75f8400e61dc56bfbde824ee34874d
parent45d1e24b74434e5f337f0c10a9d8d1eb489aac0f (diff)
downloadcurl-3bbf62b5a4af05fc60f67de924c72c576779d560.tar.gz
http: strip default port from URL sent to proxy
To make sure the Host: header and the URL provide the same authority portion when sent to the proxy, strip the default port number from the URL if one was provided. Reported-by: Michael Brown Fixes #6769 Closes #6778
-rw-r--r--lib/http.c2
-rw-r--r--tests/data/test6592
2 files changed, 2 insertions, 2 deletions
diff --git a/lib/http.c b/lib/http.c
index 7ec03e9bd..cb065ed58 100644
--- a/lib/http.c
+++ b/lib/http.c
@@ -2189,7 +2189,7 @@ CURLcode Curl_http_target(struct Curl_easy *data,
/* Extract the URL to use in the request. Store in STRING_TEMP_URL for
clean-up reasons if the function returns before the free() further
down. */
- uc = curl_url_get(h, CURLUPART_URL, &url, 0);
+ uc = curl_url_get(h, CURLUPART_URL, &url, CURLU_NO_DEFAULT_PORT);
if(uc) {
curl_url_cleanup(h);
return CURLE_OUT_OF_MEMORY;
diff --git a/tests/data/test659 b/tests/data/test659
index 476edcc4c..ef7cf12ef 100644
--- a/tests/data/test659
+++ b/tests/data/test659
@@ -43,7 +43,7 @@ proxy
<verify>
<protocol>
-GET http://www.example.com:80/ HTTP/1.1
+GET http://www.example.com/ HTTP/1.1
Host: www.example.com
Accept: */*
Proxy-Connection: Keep-Alive