diff options
author | Daniel Stenberg <daniel@haxx.se> | 2021-03-23 00:24:59 +0100 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2021-03-23 13:33:49 +0100 |
commit | 3bbf62b5a4af05fc60f67de924c72c576779d560 (patch) | |
tree | 27d83f7faa75f8400e61dc56bfbde824ee34874d | |
parent | 45d1e24b74434e5f337f0c10a9d8d1eb489aac0f (diff) | |
download | curl-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.c | 2 | ||||
-rw-r--r-- | tests/data/test659 | 2 |
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
|