From 5acb6de13d7af33abcfcbdc885ec365e6a51c486 Mon Sep 17 00:00:00 2001 From: Nick Hengeveld Date: Tue, 27 Sep 2005 10:45:27 -0700 Subject: [PATCH] [PATCH] Support for more CURL SSL settings via environment variables 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 Signed-off-by: Junio C Hamano --- http-fetch.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/http-fetch.c b/http-fetch.c index 0caec104..7fc363f8 100644 --- a/http-fetch.c +++ b/http-fetch.c @@ -36,6 +36,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 { @@ -522,6 +526,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; -- 2.11.0