diff --git a/configure b/configure index 56c4aaa95b..3d9bd0bdf8 100755 --- a/configure +++ b/configure @@ -12094,13 +12094,13 @@ else fi fi - for ac_func in SSL_clear_options X509_get_signature_nid + # Function introduced in OpenSSL 1.0.2. + for ac_func in X509_get_signature_nid do : - 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 : + 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 : cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +#define HAVE_X509_GET_SIGNATURE_NID 1 _ACEOF fi diff --git a/configure.in b/configure.in index 9fd9c390e6..34aea0b4ac 100644 --- a/configure.in +++ b/configure.in @@ -1186,7 +1186,8 @@ if test "$with_openssl" = yes ; 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 - AC_CHECK_FUNCS([SSL_clear_options X509_get_signature_nid]) + # Function introduced in OpenSSL 1.0.2. + AC_CHECK_FUNCS([X509_get_signature_nid]) # 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 0d77f2aafd..050c48b108 100644 --- a/src/include/pg_config.h.in +++ b/src/include/pg_config.h.in @@ -512,9 +512,6 @@ /* Define to 1 if you have the `srandom' function. */ #undef HAVE_SRANDOM -/* Define to 1 if you have the `SSL_clear_options' function. */ -#undef HAVE_SSL_CLEAR_OPTIONS - /* Define to 1 if stdbool.h conforms to C99. */ #undef HAVE_STDBOOL_H diff --git a/src/include/pg_config.h.win32 b/src/include/pg_config.h.win32 index 467fb89ee6..09cedd0bda 100644 --- a/src/include/pg_config.h.win32 +++ b/src/include/pg_config.h.win32 @@ -370,9 +370,6 @@ /* Define to 1 if you have the `srandom' function. */ /* #undef HAVE_SRANDOM */ -/* Define to 1 if you have the `SSL_clear_options' function. */ -#define HAVE_SSL_CLEAR_OPTIONS 1 - /* Define to 1 if stdbool.h conforms to C99. */ #define HAVE_STDBOOL_H 1 diff --git a/src/interfaces/libpq/fe-secure-openssl.c b/src/interfaces/libpq/fe-secure-openssl.c index cba81f63c0..c71da75cfd 100644 --- a/src/interfaces/libpq/fe-secure-openssl.c +++ b/src/interfaces/libpq/fe-secure-openssl.c @@ -1198,17 +1198,8 @@ initialize_SSL(PGconn *conn) #ifdef SSL_OP_NO_COMPRESSION if (conn->sslcompression && conn->sslcompression[0] == '0') SSL_set_options(conn->ssl, SSL_OP_NO_COMPRESSION); - - /* - * Mainline OpenSSL introduced SSL_clear_options() before - * SSL_OP_NO_COMPRESSION, so this following #ifdef should not be - * necessary, but some old NetBSD version have a locally modified libssl - * that has SSL_OP_NO_COMPRESSION but not SSL_clear_options(). - */ -#ifdef HAVE_SSL_CLEAR_OPTIONS else SSL_clear_options(conn->ssl, SSL_OP_NO_COMPRESSION); -#endif #endif return 0;