From 9d96a5f0b58a31f481be229b19496728d3c55cbb Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Fri, 18 Aug 2017 08:51:24 +0200 Subject: [PATCH] version: add the CURL_VERSION_MULTI_SSL feature flag This new feature flag reports When cURL was built with multiple SSL backends. Signed-off-by: Johannes Schindelin --- configure.ac | 19 +++++++++++++++---- docs/libcurl/curl_version_info.3 | 6 +++++- docs/libcurl/symbols-in-versions | 1 + include/curl/curl.h | 1 + lib/version.c | 3 +++ packages/OS400/curl.inc.in | 2 ++ src/tool_help.c | 3 ++- 7 files changed, 29 insertions(+), 6 deletions(-) diff --git a/configure.ac b/configure.ac index a84974b7b..5c0747653 100755 --- a/configure.ac +++ b/configure.ac @@ -2420,14 +2420,25 @@ if test -z "$ssl_backends" -o "x$OPT_AXTLS" != xno; then test -z "$ssl_msg" || ssl_backends="${ssl_backends:+$ssl_backends, }$ssl_msg" fi -if test "x$OPENSSL_ENABLED$GNUTLS_ENABLED$NSS_ENABLED$POLARSSL_ENABLED$MBEDTLS_ENABLED$AXTLS_ENABLED$CYASSL_ENABLED$WINSSL_ENABLED$DARWINSSL_ENABLED" = "x"; then +case "x$OPENSSL_ENABLED$GNUTLS_ENABLED$NSS_ENABLED$POLARSSL_ENABLED$MBEDTLS_ENABLED$AXTLS_ENABLED$CYASSL_ENABLED$WINSSL_ENABLED$DARWINSSL_ENABLED" in +x) AC_MSG_WARN([SSL disabled, you will not be able to use HTTPS, FTPS, NTLM and more.]) AC_MSG_WARN([Use --with-ssl, --with-gnutls, --with-polarssl, --with-cyassl, --with-nss, --with-axtls, --with-winssl, or --with-darwinssl to address this.]) -else - # SSL is enabled, genericly + ;; +x1) + # one SSL backend is enabled AC_SUBST(SSL_ENABLED) SSL_ENABLED="1" -fi + ;; +*) + # more than one SSL backend is enabled + AC_SUBST(SSL_ENABLED) + SSL_ENABLED="1" + AC_SUBST(CURL_WITH_MULTI_SSL) + CURL_WITH_MULTI_SSL="1" + AC_DEFINE(CURL_WITH_MULTI_SSL, 1, [built with multiple SSL backends]) + ;; +esac if test -n "$ssl_backends"; then curl_ssl_msg="enabled ($ssl_backends)" diff --git a/docs/libcurl/curl_version_info.3 b/docs/libcurl/curl_version_info.3 index ebb11c33b..26af1c277 100644 --- a/docs/libcurl/curl_version_info.3 +++ b/docs/libcurl/curl_version_info.3 @@ -5,7 +5,7 @@ .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * -.\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. +.\" * Copyright (C) 1998 - 2017, 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 @@ -156,6 +156,10 @@ libcurl ignore cookies with a domain that's on the list. .IP CURL_VERSION_HTTPS_PROXY libcurl was built with support for HTTPS-proxy. (Added in 7.52.0) +.IP CURL_VERSION_MULTI_SSL +libcurl was built with multiple SSL backends. For details, see +\fIcurl_global_sslset(3)\fP. +(Added in 7.56.0) .RE \fIssl_version\fP is an ASCII string for the OpenSSL version used. If libcurl has no SSL support, this is NULL. diff --git a/docs/libcurl/symbols-in-versions b/docs/libcurl/symbols-in-versions index b9fdfe2a0..1a539d440 100644 --- a/docs/libcurl/symbols-in-versions +++ b/docs/libcurl/symbols-in-versions @@ -840,6 +840,7 @@ CURL_VERSION_KERBEROS4 7.10 7.33.0 CURL_VERSION_KERBEROS5 7.40.0 CURL_VERSION_LARGEFILE 7.11.1 CURL_VERSION_LIBZ 7.10 +CURL_VERSION_MULTI_SSL 7.56.0 CURL_VERSION_NTLM 7.10.6 CURL_VERSION_NTLM_WB 7.22.0 CURL_VERSION_PSL 7.47.0 diff --git a/include/curl/curl.h b/include/curl/curl.h index 3936d1e43..710e4beff 100644 --- a/include/curl/curl.h +++ b/include/curl/curl.h @@ -2487,6 +2487,7 @@ typedef struct { #define CURL_VERSION_PSL (1<<20) /* Mozilla's Public Suffix List, used for cookie domain verification */ #define CURL_VERSION_HTTPS_PROXY (1<<21) /* HTTPS-proxy support built-in */ +#define CURL_VERSION_MULTI_SSL (1<<22) /* Multiple SSL backends available */ /* * NAME curl_version_info() diff --git a/lib/version.c b/lib/version.c index b1959dee1..ebd600635 100644 --- a/lib/version.c +++ b/lib/version.c @@ -323,6 +323,9 @@ static curl_version_info_data version_info = { #endif #if defined(USE_LIBPSL) | CURL_VERSION_PSL +#endif +#if defined(CURL_WITH_MULTI_SSL) + | CURL_VERSION_MULTI_SSL #endif , NULL, /* ssl_version */ diff --git a/packages/OS400/curl.inc.in b/packages/OS400/curl.inc.in index 41b6be190..ff5e28eec 100644 --- a/packages/OS400/curl.inc.in +++ b/packages/OS400/curl.inc.in @@ -129,6 +129,8 @@ d c X'00100000' d CURL_VERSION_HTTPS_PROXY... d c X'00200000' + d CURL_VERSION_MULTI_SSL... + d c X'00400000' * d CURL_HTTPPOST_FILENAME... d c X'00000001' diff --git a/src/tool_help.c b/src/tool_help.c index 04d84dd7a..7b982aa96 100644 --- a/src/tool_help.c +++ b/src/tool_help.c @@ -503,7 +503,8 @@ static const struct feat feats[] = { {"TLS-SRP", CURL_VERSION_TLSAUTH_SRP}, {"HTTP2", CURL_VERSION_HTTP2}, {"UnixSockets", CURL_VERSION_UNIX_SOCKETS}, - {"HTTPS-proxy", CURL_VERSION_HTTPS_PROXY} + {"HTTPS-proxy", CURL_VERSION_HTTPS_PROXY}, + {"MultiSSL", CURL_VERSION_MULTI_SSL} }; void tool_help(void)