{"thread":{"id":"1959","subject":"[PATCH] Support for more CURL SSL settings via environment variables","startedAt":"2005-09-27T17:45:27Z","lastAt":"2005-09-27T17:45:27Z","messageCount":1,"participants":["Nick Hengeveld"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"9403","messageId":"20050927174526.GD1377@reactrix.com","threadId":"1959","inReplyTo":null,"subject":"[PATCH] Support for more CURL SSL settings via environment variables","fromName":"Nick Hengeveld","fromEmail":"nickh@reactrix.com","sentAt":"2005-09-27T17:45:27Z","receivedAt":"2005-09-27T17:45:27Z","isPatch":true,"sender":{"key":"nickh@reactrix.com","avatar":null},"body":"Added support for additional CURL SSL settings via environment variables.\nClient certificate/key files can be specified as well as alternate CA\ninformation.\n\nSigned-off-by: Nick Hengeveld <nickh@reactrix.com>\n\n\n---\n\n http-fetch.c |   19 +++++++++++++++++++\n 1 files changed, 19 insertions(+), 0 deletions(-)\n\n8ce3710b0b838d6f4c9813ad3631afced80ce346\ndiff --git a/http-fetch.c b/http-fetch.c\n--- a/http-fetch.c\n+++ b/http-fetch.c\n@@ -35,6 +35,10 @@ static int local;\n static int zret;\n \n static int curl_ssl_verify;\n+static char *ssl_cert;\n+static char *ssl_key;\n+static char *ssl_capath;\n+static char *ssl_cainfo;\n \n struct buffer\n {\n@@ -512,6 +516,21 @@ int main(int argc, char **argv)\n \tcurl_easy_setopt(curl, CURLOPT_NETRC, CURL_NETRC_OPTIONAL);\n #endif\n \n+\tif ((ssl_cert = getenv(\"GIT_SSL_CERT\")) != NULL) {\n+\t\tcurl_easy_setopt(curl, CURLOPT_SSLCERT, ssl_cert);\n+\t}\n+\tif ((ssl_key = getenv(\"GIT_SSL_KEY\")) != NULL) {\n+\t\tcurl_easy_setopt(curl, CURLOPT_SSLKEY, ssl_key);\n+\t}\n+#if LIBCURL_VERSION_NUM >= 0x070908\n+\tif ((ssl_capath = getenv(\"GIT_SSL_CAPATH\")) != NULL) {\n+\t\tcurl_easy_setopt(curl, CURLOPT_CAPATH, ssl_capath);\n+\t}\n+#endif\n+\tif ((ssl_cainfo = getenv(\"GIT_SSL_CAINFO\")) != NULL) {\n+\t\tcurl_easy_setopt(curl, CURLOPT_CAINFO, ssl_cainfo);\n+\t}\n+\n \talt = xmalloc(sizeof(*alt));\n \talt->base = url;\n \talt->got_indices = 0;\n"}]}