@@ -148,7 +148,13 @@ static char *cached_accept_language;
148
148
149
149
static char * http_ssl_backend ;
150
150
151
- static int http_schannel_check_revoke = 1 ;
151
+ static long http_schannel_check_revoke_mode =
152
+ #ifdef CURLSSLOPT_REVOKE_BEST_EFFORT
153
+ CURLSSLOPT_REVOKE_BEST_EFFORT ;
154
+ #else
155
+ CURLSSLOPT_NO_REVOKE ;
156
+ #endif
157
+
152
158
/*
153
159
* With the backend being set to `schannel`, setting sslCAinfo would override
154
160
* the Certificate Store in cURL v7.60.0 and later, which is not what we want
@@ -423,7 +429,19 @@ static int http_options(const char *var, const char *value,
423
429
}
424
430
425
431
if (!strcmp ("http.schannelcheckrevoke" , var )) {
426
- http_schannel_check_revoke = git_config_bool (var , value );
432
+ if (value && !strcmp (value , "best-effort" )) {
433
+ http_schannel_check_revoke_mode =
434
+ #ifdef CURLSSLOPT_REVOKE_BEST_EFFORT
435
+ CURLSSLOPT_REVOKE_BEST_EFFORT ;
436
+ #else
437
+ CURLSSLOPT_NO_REVOKE ;
438
+ warning (_ ("%s=%s unsupported by current cURL" ),
439
+ var , value );
440
+ #endif
441
+ } else
442
+ http_schannel_check_revoke_mode =
443
+ (git_config_bool (var , value ) ?
444
+ 0 : CURLSSLOPT_NO_REVOKE );
427
445
return 0 ;
428
446
}
429
447
@@ -1057,8 +1075,8 @@ static CURL *get_curl_handle(void)
1057
1075
#endif
1058
1076
1059
1077
if (http_ssl_backend && !strcmp ("schannel" , http_ssl_backend ) &&
1060
- ! http_schannel_check_revoke ) {
1061
- curl_easy_setopt (result , CURLOPT_SSL_OPTIONS , ( long ) CURLSSLOPT_NO_REVOKE );
1078
+ http_schannel_check_revoke_mode ) {
1079
+ curl_easy_setopt (result , CURLOPT_SSL_OPTIONS , http_schannel_check_revoke_mode );
1062
1080
}
1063
1081
1064
1082
if (http_proactive_auth != PROACTIVE_AUTH_NONE )
0 commit comments