git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH v3 2/2] http: fix the silent ignoring of proxy misconfiguraion

From
Sergey Ryazanov <ryazanov.s.a@gmail.com>
Date
Apr 11, 2017, 17:17 UTC
Message-ID
<20170411171750.18624-3-ryazanov.s.a@gmail.com>
In-Reply-To
<20170411171750.18624-1-ryazanov.s.a@gmail.com>

Earlier, the whole http.proxy option string was passed to curl without any preprocessing so curl could complain about the invalid proxy configuration.

After the commit 372370f167 ("http: use credential API to handle proxy authentication", 2016-01-26), if the user specified an invalid HTTP proxy option in the configuration, then the option parsing is silently fails and NULL will be passed to curl as a proxy. This forces curl to fall back to detecting the proxy configuration from the environment, causing the http.proxy option ignoring.

Fix this issue by checking the proxy option parsing result. If parsing failed then print error message and die. Such behaviour allows user to quickly figure the proxy misconfiguration and correct it.

Helped-by: Jeff King <peff@peff.net>
Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
---
Changes since v2:
  - new patch
 http.c | 3 +++
 1 file changed, 3 insertions(+)
diff --git a/http.c b/http.c
index 8be75b2..82664dd 100644
--- a/http.c
+++ b/http.c
@@ -867,6 +867,9 @@ static CURL *get_curl_handle(void)
 			strbuf_release(&url);
 		}
 
+		if (!proxy_auth.host)
+			die("Invalid proxy URL '%s'", curl_http_proxy);
+
 		curl_easy_setopt(result, CURLOPT_PROXY, proxy_auth.host);
 #if LIBCURL_VERSION_NUM >= 0x071304
 		var_override(&curl_no_proxy, getenv("NO_PROXY"));
-- 
2.10.2
Previous: Sergey RyazanovNext: Jeff King
Message 2 of 5 in “http: few fixes for the proxy configuration handling”
  1. 0/2 http: few fixes for the proxy configuration handlingSergey Ryazanov, Apr 11, 2017
  2. 2/2 http: fix the silent ignoring of proxy misconfiguraionSergey Ryazanov, Apr 11, 2017
  3. Jeff KingApr 11, 2017
  4. Sergey RyazanovApr 11, 2017
  5. 1/2 http: honor empty http.proxy option to bypass proxySergey Ryazanov, Apr 11, 2017

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.