From b8e0fe19ec3bd3b673a14043a4b5e656d9c26d06 Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Thu, 21 Sep 2017 23:30:48 +0200 Subject: [PATCH] vtls: provide curl_global_sslset() even in non-SSL builds ... it just returns error: Bug: https://github.com/curl/curl/commit/1328f69d53f2f2e937696ea954c480412b018451#commitcomment-24470367 Reported-by: Marcel Raad Closes #1906 --- docs/libcurl/curl_global_sslset.3 | 7 +++++-- include/curl/curl.h | 3 ++- lib/vtls/vtls.c | 12 +++++++++++- 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/docs/libcurl/curl_global_sslset.3 b/docs/libcurl/curl_global_sslset.3 index b438f8ad0..cee84458f 100644 --- a/docs/libcurl/curl_global_sslset.3 +++ b/docs/libcurl/curl_global_sslset.3 @@ -85,10 +85,13 @@ support for choosing SSL backends at runtime. If this function returns CURLSSLSET_OK, the backend was successfully selected. If the chosen backend is unknown (or support for the chosed backend has not -been compiled into libcurl), the function returns CURLSSLSET_UNKNOWN_BACKEND. +been compiled into libcurl), the function returns \fICURLSSLSET_UNKNOWN_BACKEND\fP. If the backend had been configured previously, or if \fIcurl_global_init(3)\fP -has already been called, the function returns CURLSSLSET_TOO_LATE. +has already been called, the function returns \fICURLSSLSET_TOO_LATE\fP. + +If this libcurl was built completely without SSL support, with no backends at +all, this function returns \fICURLSSLSET_NO_BACKENDS\fP. .SH "SEE ALSO" .BR curl_global_init "(3), " .BR libcurl "(3) " diff --git a/include/curl/curl.h b/include/curl/curl.h index 8b153fef9..501e3d19b 100644 --- a/include/curl/curl.h +++ b/include/curl/curl.h @@ -2370,7 +2370,8 @@ typedef struct { typedef enum { CURLSSLSET_OK = 0, CURLSSLSET_UNKNOWN_BACKEND, - CURLSSLSET_TOO_LATE + CURLSSLSET_TOO_LATE, + CURLSSLSET_NO_BACKENDS /* libcurl was built without any SSL support */ } CURLsslset; CURL_EXTERN CURLsslset curl_global_sslset(curl_sslbackend id, const char *name, diff --git a/lib/vtls/vtls.c b/lib/vtls/vtls.c index 6e230ee22..56eb7ebf1 100644 --- a/lib/vtls/vtls.c +++ b/lib/vtls/vtls.c @@ -1296,4 +1296,14 @@ CURLsslset curl_global_sslset(curl_sslbackend id, const char *name, return CURLSSLSET_UNKNOWN_BACKEND; } -#endif /* USE_SSL */ +#else /* USE_SSL */ +CURLsslset curl_global_sslset(curl_sslbackend id, const char *name, + const curl_ssl_backend ***avail) +{ + (void)id; + (void)name; + (void)avail; + return CURLSSLSET_NO_BACKENDS; +} + +#endif /* !USE_SSL */