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

[PATCH] Support for more CURL SSL settings via environment variables

From
NHNick Hengeveld <nickh@reactrix.com>
Date
Sep 27, 2005, 17:45 UTC
Message-ID
<20050927174526.GD1377@reactrix.com>

Added support for additional CURL SSL settings via environment variables. Client certificate/key files can be specified as well as alternate CA information.

Signed-off-by: Nick Hengeveld <nickh@reactrix.com>
---
 http-fetch.c |   19 +++++++++++++++++++
 1 files changed, 19 insertions(+), 0 deletions(-)
8ce3710b0b838d6f4c9813ad3631afced80ce346
diff --git a/http-fetch.c b/http-fetch.c
--- a/http-fetch.c
+++ b/http-fetch.c
@@ -35,6 +35,10 @@ static int local;
 static int zret;
 
 static int curl_ssl_verify;
+static char *ssl_cert;
+static char *ssl_key;
+static char *ssl_capath;
+static char *ssl_cainfo;
 
 struct buffer
 {
@@ -512,6 +516,21 @@ int main(int argc, char **argv)
 	curl_easy_setopt(curl, CURLOPT_NETRC, CURL_NETRC_OPTIONAL);
 #endif
 
+	if ((ssl_cert = getenv("GIT_SSL_CERT")) != NULL) {
+		curl_easy_setopt(curl, CURLOPT_SSLCERT, ssl_cert);
+	}
+	if ((ssl_key = getenv("GIT_SSL_KEY")) != NULL) {
+		curl_easy_setopt(curl, CURLOPT_SSLKEY, ssl_key);
+	}
+#if LIBCURL_VERSION_NUM >= 0x070908
+	if ((ssl_capath = getenv("GIT_SSL_CAPATH")) != NULL) {
+		curl_easy_setopt(curl, CURLOPT_CAPATH, ssl_capath);
+	}
+#endif
+	if ((ssl_cainfo = getenv("GIT_SSL_CAINFO")) != NULL) {
+		curl_easy_setopt(curl, CURLOPT_CAINFO, ssl_cainfo);
+	}
+
 	alt = xmalloc(sizeof(*alt));
 	alt->base = url;
 	alt->got_indices = 0;
Message 1 of 1 in “Support for more CURL SSL settings via environment variables”
  1. Support for more CURL SSL settings via environment variablesNick Hengeveld, Sep 27, 2005

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.