blob: 48f5cea557b2d21ac936ebccabc0f2f69f169f7f [file] [log] [blame]
diff --git a/lib/tls/CMakeLists.txt b/lib/tls/CMakeLists.txt
index fb9a75fe..84f30d57 100644
--- a/lib/tls/CMakeLists.txt
+++ b/lib/tls/CMakeLists.txt
@@ -318,58 +318,54 @@ if (NOT VARIA)
set(VARIA "")
endif()
-CHECK_FUNCTION_EXISTS(${VARIA}SSL_CTX_set1_param LWS_HAVE_SSL_CTX_set1_param PARENT_SCOPE)
-CHECK_FUNCTION_EXISTS(${VARIA}SSL_set_info_callback LWS_HAVE_SSL_SET_INFO_CALLBACK PARENT_SCOPE)
-CHECK_FUNCTION_EXISTS(${VARIA}X509_VERIFY_PARAM_set1_host LWS_HAVE_X509_VERIFY_PARAM_set1_host PARENT_SCOPE)
-CHECK_SYMBOL_EXISTS(${VARIA}X509_VERIFY_PARAM_set1_host LWS_HAVE_X509_VERIFY_PARAM_set1_host_sym PARENT_SCOPE)
+set(LWS_HAVE_SSL_CTX_set1_param 1 CACHE BOOL x)
+set(LWS_HAVE_SSL_SET_INFO_CALLBACK 1 CACHE BOOL x)
+set(LWS_HAVE_X509_VERIFY_PARAM_set1_host 1 CACHE BOOL x)
+set(LWS_HAVE_X509_VERIFY_PARAM_set1_host_sym 1 CACHE BOOL x)
if (LWS_HAVE_X509_VERIFY_PARAM_set1_host_sym)
set(LWS_HAVE_X509_VERIFY_PARAM_set1_host 1 PARENT_SCOPE)
endif()
-CHECK_FUNCTION_EXISTS(${VARIA}RSA_set0_key LWS_HAVE_RSA_SET0_KEY PARENT_SCOPE)
-CHECK_FUNCTION_EXISTS(${VARIA}X509_get_key_usage LWS_HAVE_X509_get_key_usage PARENT_SCOPE)
-CHECK_FUNCTION_EXISTS(${VARIA}SSL_CTX_EVP_PKEY_new_raw_private_key LWS_HAVE_SSL_CTX_EVP_PKEY_new_raw_private_key PARENT_SCOPE)
-CHECK_FUNCTION_EXISTS(${VARIA}SSL_CTX_get0_certificate LWS_HAVE_SSL_CTX_get0_certificate PARENT_SCOPE)
-CHECK_FUNCTION_EXISTS(${VARIA}SSL_get0_alpn_selected LWS_HAVE_SSL_get0_alpn_selected PARENT_SCOPE)
-CHECK_FUNCTION_EXISTS(${VARIA}SSL_set_alpn_protos LWS_HAVE_SSL_set_alpn_protos PARENT_SCOPE)
-CHECK_FUNCTION_EXISTS(${VARIA}EVP_aes_128_cfb8 LWS_HAVE_EVP_aes_128_cfb8 PARENT_SCOPE)
-CHECK_FUNCTION_EXISTS(${VARIA}EVP_aes_128_cfb128 LWS_HAVE_EVP_aes_128_cfb128 PARENT_SCOPE)
-CHECK_FUNCTION_EXISTS(${VARIA}EVP_aes_192_cfb8 LWS_HAVE_EVP_aes_192_cfb8 PARENT_SCOPE)
-CHECK_FUNCTION_EXISTS(${VARIA}EVP_aes_192_cfb128 LWS_HAVE_EVP_aes_192_cfb128 PARENT_SCOPE)
-CHECK_FUNCTION_EXISTS(${VARIA}EVP_aes_256_cfb8 LWS_HAVE_EVP_aes_256_cfb8 PARENT_SCOPE)
-CHECK_FUNCTION_EXISTS(${VARIA}EVP_aes_256_cfb128 LWS_HAVE_EVP_aes_256_cfb128 PARENT_SCOPE)
-CHECK_FUNCTION_EXISTS(${VARIA}EVP_aes_128_xts LWS_HAVE_EVP_aes_128_xts PARENT_SCOPE)
-CHECK_FUNCTION_EXISTS(${VARIA}EVP_aes_128_ofb LWS_HAVE_EVP_aes_128_ofb PARENT_SCOPE)
-CHECK_FUNCTION_EXISTS(${VARIA}EVP_aes_128_ecb LWS_HAVE_EVP_aes_128_ecb PARENT_SCOPE)
-CHECK_FUNCTION_EXISTS(${VARIA}EVP_aes_128_ctr LWS_HAVE_EVP_aes_128_ctr PARENT_SCOPE)
-
-
-CHECK_FUNCTION_EXISTS(${VARIA}EVP_aes_128_xts LWS_HAVE_EVP_aes_128_xts PARENT_SCOPE)
-CHECK_FUNCTION_EXISTS(${VARIA}RSA_verify_pss_mgf1 LWS_HAVE_RSA_verify_pss_mgf1 PARENT_SCOPE)
-CHECK_FUNCTION_EXISTS(${VARIA}HMAC_CTX_new LWS_HAVE_HMAC_CTX_new PARENT_SCOPE)
-CHECK_SYMBOL_EXISTS(${VARIA}SSL_CTX_set_ciphersuites LWS_HAVE_SSL_CTX_set_ciphersuites PARENT_SCOPE)
-CHECK_FUNCTION_EXISTS(${VARIA}EVP_PKEY_new_raw_private_key LWS_HAVE_EVP_PKEY_new_raw_private_key PARENT_SCOPE)
-CHECK_FUNCTION_EXISTS(${VARIA}SSL_SESSION_set_time LWS_HAVE_SSL_SESSION_set_time PARENT_SCOPE)
-CHECK_SYMBOL_EXISTS(${VARIA}SSL_SESSION_up_ref LWS_HAVE_SSL_SESSION_up_ref PARENT_SCOPE)
+set(LWS_HAVE_RSA_SET0_KEY 1 CACHE BOOL x)
+set(LWS_HAVE_X509_get_key_usage 1 CACHE BOOL x)
+set(LWS_HAVE_SSL_CTX_EVP_PKEY_new_raw_private_key 1 CACHE BOOL x)
+set(LWS_HAVE_SSL_CTX_get0_certificate 1 CACHE BOOL x)
+set(LWS_HAVE_SSL_get0_alpn_selected 1 CACHE BOOL x)
+set(LWS_HAVE_SSL_set_alpn_protos 1 CACHE BOOL x)
+set(LWS_HAVE_EVP_aes_128_cfb8 1 CACHE BOOL x)
+set(LWS_HAVE_EVP_aes_128_cfb128 1 CACHE BOOL x)
+set(LWS_HAVE_EVP_aes_192_cfb8 1 CACHE BOOL x)
+set(LWS_HAVE_EVP_aes_192_cfb128 1 CACHE BOOL x)
+set(LWS_HAVE_EVP_aes_256_cfb8 1 CACHE BOOL x)
+set(LWS_HAVE_EVP_aes_256_cfb128 1 CACHE BOOL x)
+set(LWS_HAVE_EVP_aes_128_xts 1 CACHE BOOL x)
+set(LWS_HAVE_EVP_aes_128_ofb 1 CACHE BOOL x)
+set(LWS_HAVE_EVP_aes_128_ecb 1 CACHE BOOL x)
+set(LWS_HAVE_EVP_aes_128_ctr 1 CACHE BOOL x)
+
+
+set(LWS_HAVE_EVP_aes_128_xts 1 CACHE BOOL x)
+set(LWS_HAVE_RSA_verify_pss_mgf1 1 CACHE BOOL x)
+set(LWS_HAVE_HMAC_CTX_new 1 CACHE BOOL x)
+set(LWS_HAVE_SSL_CTX_set_ciphersuites 1 CACHE BOOL x)
+set(LWS_HAVE_EVP_PKEY_new_raw_private_key 1 CACHE BOOL x)
+set(LWS_HAVE_SSL_SESSION_set_time 1 CACHE BOOL x)
+set(LWS_HAVE_SSL_SESSION_up_ref 1 CACHE BOOL x)
# deprecated in openssl v3
-CHECK_FUNCTION_EXISTS(${VARIA}EC_KEY_new_by_curve_name LWS_HAVE_EC_KEY_new_by_curve_name PARENT_SCOPE)
+set(LWS_HAVE_EC_KEY_new_by_curve_name 0 CACHE BOOL x)
if (LWS_WITH_SSL AND NOT LWS_WITH_MBEDTLS)
- # we don't want to confuse what's in or out of the wrapper with
- # what's in an openssl also installed on the build host
-CHECK_C_SOURCE_COMPILES("#include <openssl/ssl.h>\nint main(void) { STACK_OF(X509) *c = NULL; SSL_CTX *ctx = NULL; return (int)SSL_CTX_get_extra_chain_certs_only(ctx, &c); }\n" LWS_HAVE_SSL_EXTRA_CHAIN_CERTS)
-CHECK_C_SOURCE_COMPILES("#include <openssl/ssl.h>\nint main(void) { EVP_MD_CTX *md_ctx = NULL; EVP_MD_CTX_free(md_ctx); return 0; }\n" LWS_HAVE_EVP_MD_CTX_free)
-CHECK_C_SOURCE_COMPILES("#include <openssl/ssl.h>\nint main(void) { OPENSSL_STACK *x = NULL; return !x; } \n" LWS_HAVE_OPENSSL_STACK)
-set(LWS_HAVE_SSL_EXTRA_CHAIN_CERTS ${LWS_HAVE_SSL_EXTRA_CHAIN_CERTS} PARENT_SCOPE)
-set(LWS_HAVE_EVP_MD_CTX_free ${LWS_HAVE_EVP_MD_CTX_free} PARENT_SCOPE)
-CHECK_FUNCTION_EXISTS(${VARIA}ECDSA_SIG_set0 LWS_HAVE_ECDSA_SIG_set0 PARENT_SCOPE)
-CHECK_FUNCTION_EXISTS(${VARIA}BN_bn2binpad LWS_HAVE_BN_bn2binpad PARENT_SCOPE)
-CHECK_FUNCTION_EXISTS(${VARIA}EVP_aes_128_wrap LWS_HAVE_EVP_aes_128_wrap PARENT_SCOPE)
-CHECK_FUNCTION_EXISTS(${VARIA}EC_POINT_get_affine_coordinates LWS_HAVE_EC_POINT_get_affine_coordinates PARENT_SCOPE)
-CHECK_SYMBOL_EXISTS(${VARIA}SSL_CTX_load_verify_file LWS_HAVE_SSL_CTX_load_verify_file PARENT_SCOPE)
-CHECK_SYMBOL_EXISTS(${VARIA}SSL_CTX_load_verify_dir LWS_HAVE_SSL_CTX_load_verify_dir PARENT_SCOPE)
+set(LWS_HAVE_OPENSSL_STACK 1 CACHE BOOL x)
+set(LWS_HAVE_SSL_EXTRA_CHAIN_CERTS 1 CACHE BOOL x)
+set(LWS_HAVE_EVP_MD_CTX_free 1 CACHE BOOL x)
+set(LWS_HAVE_ECDSA_SIG_set0 1 CACHE BOOL x)
+set(LWS_HAVE_BN_bn2binpad 1 CACHE BOOL x)
+set(LWS_HAVE_EVP_aes_128_wrap 1 CACHE BOOL x)
+set(LWS_HAVE_EC_POINT_get_affine_coordinates 1 CACHE BOOL x)
+set(LWS_HAVE_SSL_CTX_load_verify_file 1 CACHE BOOL x)
+set(LWS_HAVE_SSL_CTX_load_verify_dir 1 CACHE BOOL x)
endif()
if (LWS_WITH_MBEDTLS)
@@ -412,8 +408,8 @@ if (LWS_WITH_MBEDTLS)
CHECK_FUNCTION_EXISTS(mbedtls_internal_aes_encrypt LWS_HAVE_mbedtls_internal_aes_encrypt PARENT_SCOPE) # not on xenial 2.2
endif()
else()
-CHECK_FUNCTION_EXISTS(${VARIA}TLS_client_method LWS_HAVE_TLS_CLIENT_METHOD PARENT_SCOPE)
-CHECK_FUNCTION_EXISTS(${VARIA}TLSv1_2_client_method LWS_HAVE_TLSV1_2_CLIENT_METHOD PARENT_SCOPE)
+set(LWS_HAVE_TLS_CLIENT_METHOD 1 CACHE BOOL x)
+set(LWS_HAVE_TLSV1_2_CLIENT_METHOD 1 CACHE BOOL x)
endif()
# Generate self-signed SSL certs for the test-server.
@@ -572,3 +568,4 @@ set(TEST_SERVER_SSL_KEY "${TEST_SERVER_SSL_KEY}" PARENT_SCOPE)
set(TEST_SERVER_SSL_CERT "${TEST_SERVER_SSL_CERT}" PARENT_SCOPE)
set(TEST_SERVER_DATA ${TEST_SERVER_DATA} PARENT_SCOPE)
+