[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 <nickh@reactrix.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
parent
49c188fa8f
commit
5acb6de13d
19
http-fetch.c
19
http-fetch.c
@ -36,6 +36,10 @@ static int local;
|
|||||||
static int zret;
|
static int zret;
|
||||||
|
|
||||||
static int curl_ssl_verify;
|
static int curl_ssl_verify;
|
||||||
|
static char *ssl_cert;
|
||||||
|
static char *ssl_key;
|
||||||
|
static char *ssl_capath;
|
||||||
|
static char *ssl_cainfo;
|
||||||
|
|
||||||
struct buffer
|
struct buffer
|
||||||
{
|
{
|
||||||
@ -522,6 +526,21 @@ int main(int argc, char **argv)
|
|||||||
curl_easy_setopt(curl, CURLOPT_NETRC, CURL_NETRC_OPTIONAL);
|
curl_easy_setopt(curl, CURLOPT_NETRC, CURL_NETRC_OPTIONAL);
|
||||||
#endif
|
#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 = xmalloc(sizeof(*alt));
|
||||||
alt->base = url;
|
alt->base = url;
|
||||||
alt->got_indices = 0;
|
alt->got_indices = 0;
|
||||||
|
Loading…
Reference in New Issue
Block a user