From: Christian Schmitz Date: Sun, 15 Apr 2018 08:35:06 +0000 (+0200) Subject: curl_global_sslset: always provide available backends X-Git-Tag: curl-7_60_0~72 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=d0394de152ec85fac2e4bb05f97035af3a8d7918;p=thirdparty%2Fcurl.git curl_global_sslset: always provide available backends Closes #2499 --- diff --git a/docs/libcurl/curl_global_sslset.3 b/docs/libcurl/curl_global_sslset.3 index efac0f91f9..48686ab9ee 100644 --- a/docs/libcurl/curl_global_sslset.3 +++ b/docs/libcurl/curl_global_sslset.3 @@ -5,7 +5,7 @@ .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * -.\" * Copyright (C) 1998 - 2017, Daniel Stenberg, , et al. +.\" * Copyright (C) 1998 - 2018, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms @@ -64,6 +64,9 @@ CURLSSLSET_UNKNOWN_BACKEND and set the \fIavail\fP pointer to the NULL-terminated list of available backends. The available backends are those that this particular build of libcurl supports. +Since libcurl 7.60.0, the \fIavail\fP pointer will always be set to the list +of alternatives if non-NULL. + Upon success, the function returns CURLSSLSET_OK. If the specified SSL backend is not available, the function returns diff --git a/lib/vtls/vtls.c b/lib/vtls/vtls.c index 7ad18a3df8..07054f39d2 100644 --- a/lib/vtls/vtls.c +++ b/lib/vtls/vtls.c @@ -1304,6 +1304,9 @@ CURLsslset curl_global_sslset(curl_sslbackend id, const char *name, { int i; + if(avail) + *avail = (const curl_ssl_backend **)&available_backends; + if(Curl_ssl != &Curl_ssl_multi) return id == Curl_ssl->info.id ? CURLSSLSET_OK : CURLSSLSET_TOO_LATE; @@ -1315,8 +1318,6 @@ CURLsslset curl_global_sslset(curl_sslbackend id, const char *name, } } - if(avail) - *avail = (const curl_ssl_backend **)&available_backends; return CURLSSLSET_UNKNOWN_BACKEND; }