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

[PATCH v3 2/2] http: add environment variable for HTTPS proxy.

From
JGJorge Lopez Silva via GitGitGadget <gitgitgadget@gmail.com>
Date
Mar 4, 2020, 18:40 UTC
Message-ID
<086c5e59fb2a94249fc42129222baf22d9f093b2.1583347206.git.gitgitgadget@gmail.com>
In-Reply-To
<pull.559.v3.git.1583347206.gitgitgadget@gmail.com>
From: Jorge Lopez Silva <jalopezsilva@gmail.com>

This commit adds four environment variables that can be used to configure the proxy cert, proxy ssl key, the proxy cert password protected flag, and the CA info for the proxy.

Documentation for the options was also updated.
Signed-off-by: Jorge Lopez Silva <jalopezsilva@gmail.com>
---
 Documentation/config/http.txt | 12 ++++++++----
 http.c                        |  7 +++++++
 2 files changed, 15 insertions(+), 4 deletions(-)
diff --git a/Documentation/config/http.txt b/Documentation/config/http.txt
index 7d398f9afba..3968fbb697a 100644
--- a/Documentation/config/http.txt
+++ b/Documentation/config/http.txt
@@ -31,20 +31,24 @@ http.proxyAuthMethod::
 
 http.proxySSLCert::
 	The pathname of a file that stores a client certificate to use to authenticate
-	with an HTTPS proxy.
+	with an HTTPS proxy. Can be overridden by the `GIT_PROXY_SSL_CERT` environment
+	variable.
 
 http.proxySSLKey::
 	The pathname of a file that stores a private key to use to authenticate with
-	an HTTPS proxy.
+	an HTTPS proxy. Can be overridden by the `GIT_PROXY_SSL_KEY` environment
+	variable.
 
 http.proxySSLCertPasswordProtected::
 	Enable Git's password prompt for the proxy SSL certificate.  Otherwise OpenSSL
 	will prompt the user, possibly many times, if the certificate or private key
-	is encrypted.
+	is encrypted. Can be overriden by the `GIT_PROXY_SSL_CERT_PASSWORD_PROTECTED`
+	environment variable.
 
 http.proxySSLCAInfo::
 	Pathname to the file containing the certificate bundle that should be used to
-	verify the proxy with when using an HTTPS proxy.
+	verify the proxy with when using an HTTPS proxy. Can be overriden by the
+	`GIT_PROXY_SSL_CAINFO` environment variable.
 
 http.emptyAuth::
 	Attempt authentication without seeking a username or password.  This
diff --git a/http.c b/http.c
index 8d616b5d60e..4283be9479b 100644
--- a/http.c
+++ b/http.c
@@ -1211,6 +1211,13 @@ void http_init(struct remote *remote, const char *url, int proactive_auth)
 		max_requests = DEFAULT_MAX_REQUESTS;
 #endif
 
+	set_from_env(&http_proxy_ssl_cert, "GIT_PROXY_SSL_CERT");
+	set_from_env(&http_proxy_ssl_key, "GIT_PROXY_SSL_KEY");
+	set_from_env(&http_proxy_ssl_ca_info, "GIT_PROXY_SSL_CAINFO");
+
+	if (getenv("GIT_PROXY_SSL_CERT_PASSWORD_PROTECTED"))
+		proxy_ssl_cert_password_required = 1;
+
 	if (getenv("GIT_CURL_FTP_NO_EPSV"))
 		curl_ftp_no_epsv = 1;
 
-- 
gitgitgadget
Previous: Jorge Lopez Silva via GitGitGadget
Message 15 of 15 in “Add HTTPS proxy SSL options (cert, key, cainfo)”
  1. 0/2 Add HTTPS proxy SSL options (cert, key, cainfo)Jorge via GitGitGadget, Feb 21, 2020
  2. 1/2 http: add client cert for HTTPS proxies.Jorge Lopez Silva via GitGitGadget, Feb 21, 2020
  3. Eric SunshineFeb 21, 2020
  4. Jorge A López SilvaFeb 26, 2020
  5. 2/2 config: documentation for HTTPS proxy client cert.Jorge Lopez Silva via GitGitGadget, Feb 21, 2020
  6. 0/2 Add HTTPS proxy SSL options (cert, key, cainfo)Jorge via GitGitGadget, Feb 26, 2020
  7. 2/2 config: documentation for HTTPS proxy client cert.Jorge Lopez Silva via GitGitGadget, Feb 26, 2020
  8. Junio C HamanoFeb 27, 2020
  9. Jorge A López SilvaMar 3, 2020
  10. 1/2 http: add client cert for HTTPS proxies.Jorge Lopez Silva via GitGitGadget, Feb 26, 2020
  11. Junio C HamanoFeb 27, 2020
  12. Jorge A López SilvaMar 3, 2020
  13. 0/2 Add HTTPS proxy SSL options (cert, key, cainfo)Jorge via GitGitGadget, Mar 4, 2020
  14. 1/2 http: add client cert for HTTPS proxies.Jorge Lopez Silva via GitGitGadget, Mar 4, 2020
  15. 2/2 http: add environment variable for HTTPS proxy.Jorge Lopez Silva via GitGitGadget, Mar 4, 2020

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.