From ad5e7e2e0e9ba4dae88d6adbd86df31927f50c5c Mon Sep 17 00:00:00 2001 From: Viktor Szakats Date: Fri, 18 Jul 2025 20:05:31 +0200 Subject: [PATCH] catch !ssl + ssls_export combination in source, convert error to warning in builds To make it build-system agnostic. -DCURL_ENABLE_SSL=OFF -DUSE_SSLS_EXPORT=ON --- CMakeLists.txt | 2 +- configure.ac | 2 +- lib/easy.c | 4 ++-- lib/vtls/vtls_spack.c | 4 ++-- lib/vtls/vtls_spack.h | 4 ++-- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 10b4bd89cd..334b5c3865 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1068,7 +1068,7 @@ if(USE_SSLS_EXPORT) if(_ssl_enabled) message(STATUS "SSL export enabled.") else() - message(FATAL_ERROR "SSL session export requires SSL enabled") + message(WARNING "SSL session export requires SSL enabled") endif() endif() diff --git a/configure.ac b/configure.ac index af52dbc433..2d04f91051 100644 --- a/configure.ac +++ b/configure.ac @@ -5146,7 +5146,7 @@ if test "x$want_ssls_export" != "xno"; then SSLS_EXPORT_SUPPORT='' if test "x$SSL_ENABLED" != "x1"; then - AC_MSG_ERROR([--enable-ssls-export ignored: No SSL support]) + AC_MSG_WARN([--enable-ssls-export ignored: No SSL support]) else SSLS_EXPORT_ENABLED=1 AC_DEFINE(USE_SSLS_EXPORT, 1, [if SSL session export support is available]) diff --git a/lib/easy.c b/lib/easy.c index 377c57b60a..c67bedfca2 100644 --- a/lib/easy.c +++ b/lib/easy.c @@ -1328,7 +1328,7 @@ CURLcode curl_easy_ssls_import(CURL *d, const char *session_key, const unsigned char *shmac, size_t shmac_len, const unsigned char *sdata, size_t sdata_len) { -#ifdef USE_SSLS_EXPORT +#if defined(USE_SSL) && defined(USE_SSLS_EXPORT) struct Curl_easy *data = d; if(!GOOD_EASY_HANDLE(data)) return CURLE_BAD_FUNCTION_ARGUMENT; @@ -1349,7 +1349,7 @@ CURLcode curl_easy_ssls_export(CURL *d, curl_ssls_export_cb *export_fn, void *userptr) { -#ifdef USE_SSLS_EXPORT +#if defined(USE_SSL) && defined(USE_SSLS_EXPORT) struct Curl_easy *data = d; if(!GOOD_EASY_HANDLE(data)) return CURLE_BAD_FUNCTION_ARGUMENT; diff --git a/lib/vtls/vtls_spack.c b/lib/vtls/vtls_spack.c index 152fad7eb3..10d16f213d 100644 --- a/lib/vtls/vtls_spack.c +++ b/lib/vtls/vtls_spack.c @@ -24,7 +24,7 @@ #include "../curl_setup.h" -#ifdef USE_SSLS_EXPORT +#if defined(USE_SSL) && defined(USE_SSLS_EXPORT) #include "../urldata.h" #include "../curl_trc.h" @@ -343,4 +343,4 @@ out: return r; } -#endif /* USE_SSLS_EXPORT */ +#endif /* USE_SSL && USE_SSLS_EXPORT */ diff --git a/lib/vtls/vtls_spack.h b/lib/vtls/vtls_spack.h index 4cdabae30e..86796ee62e 100644 --- a/lib/vtls/vtls_spack.h +++ b/lib/vtls/vtls_spack.h @@ -25,7 +25,7 @@ ***************************************************************************/ #include "../curl_setup.h" -#ifdef USE_SSLS_EXPORT +#if defined(USE_SSL) && defined(USE_SSLS_EXPORT) struct dynbuf; struct Curl_ssl_session; @@ -38,6 +38,6 @@ CURLcode Curl_ssl_session_unpack(struct Curl_easy *data, const void *bufv, size_t buflen, struct Curl_ssl_session **ps); -#endif /* USE_SSLS_EXPORT */ +#endif /* USE_SSL && USE_SSLS_EXPORT */ #endif /* HEADER_CURL_VTLS_SPACK_H */