| 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) |
| |
| + |