From ed8748369863dc2c1dfccbc6a2e60880a4e612e3 Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Tue, 23 Mar 2021 00:24:59 +0100 Subject: 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 #[fill in] --- lib/http.c | 2 +- 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 -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 -- cgit v1.2.1