Support for more CURL SSL settings via environment variables
PATCH 1/1 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 <[email protected]>
---
http-fetch.c | 19 +++++++++++++++++++ 1 files changed, 19 insertions(+), 0 deletions(-)
8ce3710b0b838d6f4c9813ad3631afced80ce346
http-fetch.c +19 -0
@@ -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 ;