Support FTP-over-SSL/TLS for regular FTP
Add a boolean http.sslTry option which allows to enable AUTH SSL/TLS and encrypted data transfers when connecting via regular FTP protocol. Default is false since it might trigger certificate verification errors on misconfigured servers. Signed-off-by: Modestas Vainius <modestas@vainius.eu> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
5234b41f68
commit
4bc444eb64
10
http.c
10
http.c
@ -30,6 +30,7 @@ static CURL *curl_default;
|
||||
char curl_errorstr[CURL_ERROR_SIZE];
|
||||
|
||||
static int curl_ssl_verify = -1;
|
||||
static int curl_ssl_try;
|
||||
static const char *ssl_cert;
|
||||
#if LIBCURL_VERSION_NUM >= 0x070903
|
||||
static const char *ssl_key;
|
||||
@ -162,6 +163,10 @@ static int http_options(const char *var, const char *value, void *cb)
|
||||
ssl_cert_password_required = 1;
|
||||
return 0;
|
||||
}
|
||||
if (!strcmp("http.ssltry", var)) {
|
||||
curl_ssl_try = git_config_bool(var, value);
|
||||
return 0;
|
||||
}
|
||||
if (!strcmp("http.minsessions", var)) {
|
||||
min_curl_sessions = git_config_int(var, value);
|
||||
#ifndef USE_CURL_MULTI
|
||||
@ -306,6 +311,11 @@ static CURL *get_curl_handle(void)
|
||||
if (curl_ftp_no_epsv)
|
||||
curl_easy_setopt(result, CURLOPT_FTP_USE_EPSV, 0);
|
||||
|
||||
#ifdef CURLOPT_USE_SSL
|
||||
if (curl_ssl_try)
|
||||
curl_easy_setopt(result, CURLOPT_USE_SSL, CURLUSESSL_TRY);
|
||||
#endif
|
||||
|
||||
if (curl_http_proxy) {
|
||||
curl_easy_setopt(result, CURLOPT_PROXY, curl_http_proxy);
|
||||
curl_easy_setopt(result, CURLOPT_PROXYAUTH, CURLAUTH_ANY);
|
||||
|
Reference in New Issue
Block a user