The existing code triggers whenever GIT_SSL_CERT_PASSWORD_PROTECTED
is defined. Setting GIT_SSL_CERT_PASSWORD_PROTECTED to a false
value could not be used to override the http.sslCertPasswordProtected
setting once it had been turned on.
Signed-off-by: Kyle J. McKay <redacted>
---
http.c | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/http.c b/http.c
index e65661e..9542a59 100644
--- a/http.c
+++ b/http.c
@@ -403,11 +403,10 @@ void http_init(struct remote *remote, const char *url, int proactive_auth)
curl_ftp_no_epsv = 1;
if (url) {
+ int pwdreq = git_env_bool("GIT_SSL_CERT_PASSWORD_PROTECTED", -1);
credential_from_url(&http_auth, url);
- if (!ssl_cert_password_required &&
- getenv("GIT_SSL_CERT_PASSWORD_PROTECTED") &&
- !prefixcmp(url, "https://"))
- ssl_cert_password_required = 1;
+ if (pwdreq != -1 && !prefixcmp(url, "https://"))
+ ssl_cert_password_required = pwdreq;
}
#ifndef NO_CURL_EASY_DUPHANDLE--
1.8.3