From: Nick Hengeveld Date: Tue, 27 Sep 2005 17:45:27 +0000 (-0700) Subject: [PATCH] Support for more CURL SSL settings via environment variables X-Git-Tag: v0.99.8~33 X-Git-Url: https://git.verplant.org/?a=commitdiff_plain;h=5acb6de13d7af33abcfcbdc885ec365e6a51c486;p=git.git [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 --- 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;