From 61825be02ba3d86dcf6ce8c3854d31d212796094 Mon Sep 17 00:00:00 2001 From: Gisle Vanem Date: Wed, 6 Sep 2017 02:22:49 -0400 Subject: [PATCH] vtls: select ssl backend case-insensitive (follow-up) - Do a case-insensitive comparison of CURL_SSL_BACKEND env as well. - Change Curl_strcasecompare calls to strcasecompare (maps to the former but shorter). Follow-up to c290b8f. Bug: https://github.com/curl/curl/commit/c290b8f#commitcomment-24094313 Co-authored-by: Jay Satiro --- lib/vauth/digest_sspi.c | 4 ++-- lib/vtls/vtls.c | 13 ++++++++----- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/lib/vauth/digest_sspi.c b/lib/vauth/digest_sspi.c index f5d619c99..a3f96ed24 100644 --- a/lib/vauth/digest_sspi.c +++ b/lib/vauth/digest_sspi.c @@ -352,8 +352,8 @@ CURLcode Curl_auth_decode_digest_http_message(const char *chlg, if(!Curl_auth_digest_get_pair(p, value, content, &p)) break; - if(Curl_strcasecompare(value, "stale") - && Curl_strcasecompare(content, "true")) { + if(strcasecompare(value, "stale") && + strcasecompare(content, "true")) { stale = true; break; } diff --git a/lib/vtls/vtls.c b/lib/vtls/vtls.c index 3647dff71..f15760342 100644 --- a/lib/vtls/vtls.c +++ b/lib/vtls/vtls.c @@ -1250,12 +1250,14 @@ static int multissl_init(const struct Curl_ssl *backend) if(!env) env = CURL_DEFAULT_SSL_BACKEND; #endif - if(env) - for(i = 0; available_backends[i]; i++) - if(!strcmp(env, available_backends[i]->info.name)) { + if(env) { + for(i = 0; available_backends[i]; i++) { + if(strcasecompare(env, available_backends[i]->info.name)) { Curl_ssl = available_backends[i]; return 0; } + } + } /* Fall back to first available backend */ Curl_ssl = available_backends[0]; @@ -1270,12 +1272,13 @@ CURLsslset curl_global_sslset(curl_sslbackend id, const char *name, if(Curl_ssl != &Curl_ssl_multi) return id == Curl_ssl->info.id ? CURLSSLSET_OK : CURLSSLSET_TOO_LATE; - for(i = 0; available_backends[i]; i++) + for(i = 0; available_backends[i]; i++) { if(available_backends[i]->info.id == id || - (name && Curl_strcasecompare(available_backends[i]->info.name, name))) { + (name && strcasecompare(available_backends[i]->info.name, name))) { multissl_init(available_backends[i]); return CURLSSLSET_OK; } + } if(avail) *avail = (const curl_ssl_backend **)&available_backends;