diff --git a/configure b/configure index 91149997283..d9095b568a0 100755 --- a/configure +++ b/configure @@ -13448,13 +13448,15 @@ else fi fi - # Function introduced in OpenSSL 1.0.2. - for ac_func in X509_get_signature_nid + # Functions introduced in OpenSSL 1.0.2. LibreSSL does not have + # SSL_CTX_set_cert_cb(). + for ac_func in X509_get_signature_nid SSL_CTX_set_cert_cb do : - ac_fn_c_check_func "$LINENO" "X509_get_signature_nid" "ac_cv_func_X509_get_signature_nid" -if test "x$ac_cv_func_X509_get_signature_nid" = xyes; then : + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF -#define HAVE_X509_GET_SIGNATURE_NID 1 +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi diff --git a/configure.ac b/configure.ac index d92ec95f405..257c66859bb 100644 --- a/configure.ac +++ b/configure.ac @@ -1373,8 +1373,9 @@ if test "$with_ssl" = openssl ; then AC_SEARCH_LIBS(CRYPTO_new_ex_data, [eay32 crypto], [], [AC_MSG_ERROR([library 'eay32' or 'crypto' is required for OpenSSL])]) AC_SEARCH_LIBS(SSL_new, [ssleay32 ssl], [], [AC_MSG_ERROR([library 'ssleay32' or 'ssl' is required for OpenSSL])]) fi - # Function introduced in OpenSSL 1.0.2. - AC_CHECK_FUNCS([X509_get_signature_nid]) + # Functions introduced in OpenSSL 1.0.2. LibreSSL does not have + # SSL_CTX_set_cert_cb(). + AC_CHECK_FUNCS([X509_get_signature_nid SSL_CTX_set_cert_cb]) # Functions introduced in OpenSSL 1.1.0. We used to check for # OPENSSL_VERSION_NUMBER, but that didn't work with 1.1.0, because LibreSSL # defines OPENSSL_VERSION_NUMBER to claim version 2.0.0, even though it diff --git a/src/include/pg_config.h.in b/src/include/pg_config.h.in index 5ec240d59a5..6d5e1820c9d 100644 --- a/src/include/pg_config.h.in +++ b/src/include/pg_config.h.in @@ -515,6 +515,9 @@ /* Define to 1 if you have spinlocks. */ #undef HAVE_SPINLOCKS +/* Define to 1 if you have the `SSL_CTX_set_cert_cb' function. */ +#undef HAVE_SSL_CTX_SET_CERT_CB + /* Define to 1 if you have the `SSL_CTX_set_num_tickets' function. */ #undef HAVE_SSL_CTX_SET_NUM_TICKETS diff --git a/src/tools/msvc/Solution.pm b/src/tools/msvc/Solution.pm index d92bbbaf7db..6db8a10265f 100644 --- a/src/tools/msvc/Solution.pm +++ b/src/tools/msvc/Solution.pm @@ -364,6 +364,7 @@ sub GenerateFiles HAVE_SHM_OPEN => undef, HAVE_SOCKLEN_T => 1, HAVE_SPINLOCKS => 1, + HAVE_SSL_CTX_SET_CERT_CB => 1, HAVE_SSL_CTX_SET_NUM_TICKETS => undef, HAVE_STDINT_H => 1, HAVE_STDLIB_H => 1,