git.postgresql.org Git - postgresql.git/commitdiff

git projects / postgresql.git / commitdiff
? search:
summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 9b14280)
Define OPENSSL_API_COMPAT
2020年7月19日 10:14:42 +0000 (12:14 +0200)
2020年7月19日 10:14:42 +0000 (12:14 +0200)
This avoids deprecation warnings from newer OpenSSL versions (3.0.0 in
particular).

Discussion: https://www.postgresql.org/message-id/flat/FEF81714-D479-4512-839B-C769D2605F8A%40yesql.se


diff --git a/configure b/configure
index 9907637e3176ed9a56f541d8c3be65be8ebb8f3e..cb8fbe1051144d14ac7a0fd6904be1bb36f5c021 100755 (executable)
--- a/configure
+++ b/configure
@@ -12174,7 +12174,11 @@ fi
fi
if test "$with_openssl" = yes ; then
- if test "$PORTNAME" != "win32"; then
+ # Minimum required OpenSSL version is 1.0.1
+
+$as_echo "#define OPENSSL_API_COMPAT 0x10001000L" >>confdefs.h
+
+ if test "$PORTNAME" != "win32"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for CRYPTO_new_ex_data in -lcrypto" >&5
$as_echo_n "checking for CRYPTO_new_ex_data in -lcrypto... " >&6; }
if ${ac_cv_lib_crypto_CRYPTO_new_ex_data+:} false; then :
diff --git a/configure.in b/configure.in
index 2e05ce2e4d69915dcdbe6b9da9e6f2439f7a2510..e91e49a579ee9f84da3894f2dc94b8b6a8881af1 100644 (file)
--- a/configure.in
+++ b/configure.in
@@ -1206,6 +1206,9 @@ fi
if test "$with_openssl" = yes ; then
dnl Order matters!
+ # Minimum required OpenSSL version is 1.0.1
+ AC_DEFINE(OPENSSL_API_COMPAT, [0x10001000L],
+ [Define to the OpenSSL API version in use. This avoids deprecation warnings from newer OpenSSL versions.])
if test "$PORTNAME" != "win32"; then
AC_CHECK_LIB(crypto, CRYPTO_new_ex_data, [], [AC_MSG_ERROR([library 'crypto' is required for OpenSSL])])
AC_CHECK_LIB(ssl, SSL_new, [], [AC_MSG_ERROR([library 'ssl' is required for OpenSSL])])
diff --git a/src/include/pg_config.h.in b/src/include/pg_config.h.in
index c199cd46d2da3da235577a6a966e7f3a42fb6f49..73aa61816694286fe405e73c06b4877ddbbd635f 100644 (file)
--- a/src/include/pg_config.h.in
+++ b/src/include/pg_config.h.in
@@ -749,6 +749,10 @@
/* Define bytes to use libc memset(). */
#undef MEMSET_LOOP_LIMIT
+/* Define to the OpenSSL API version in use. This avoids deprecation warnings
+ from newer OpenSSL versions. */
+#undef OPENSSL_API_COMPAT
+
/* Define to the address where bug reports for this package should be sent. */
#undef PACKAGE_BUGREPORT
diff --git a/src/tools/msvc/Solution.pm b/src/tools/msvc/Solution.pm
index a13ca6e02e8faa40dd85366ed7eb04d1f2a1b6c7..023da623826fc4dc5d1848673fe22698a5dc8523 100644 (file)
--- a/src/tools/msvc/Solution.pm
+++ b/src/tools/msvc/Solution.pm
@@ -152,6 +152,8 @@ sub GenerateFiles
my $package_bugreport;
my $package_url;
my ($majorver, $minorver);
+ my $ac_define_openssl_api_compat_found = 0;
+ my $openssl_api_compat;
# Parse configure.in to get version numbers
open(my $c, '<', "configure.in")
@@ -176,10 +178,15 @@ sub GenerateFiles
$majorver = sprintf("%d", 1ドル);
$minorver = sprintf("%d", 2ドル ? 2ドル : 0);
}
+ elsif (/\bAC_DEFINE\(OPENSSL_API_COMPAT, \[([0-9xL]+)\]/)
+ {
+ $ac_define_openssl_api_compat_found = 1;
+ $openssl_api_compat = 1ドル;
+ }
}
close($c);
confess "Unable to parse configure.in for all variables!"
- unless $ac_init_found;
+ unless $ac_init_found && $ac_define_openssl_api_compat_found;
if (IsNewer("src/include/pg_config_os.h", "src/include/port/win32.h"))
{
@@ -433,6 +440,7 @@ sub GenerateFiles
LOCALE_T_IN_XLOCALE => undef,
MAXIMUM_ALIGNOF => 8,
MEMSET_LOOP_LIMIT => 1024,
+ OPENSSL_API_COMPAT => $openssl_api_compat,
PACKAGE_BUGREPORT => qq{"$package_bugreport"},
PACKAGE_NAME => qq{"$package_name"},
PACKAGE_STRING => qq{"$package_name $package_version"},
This is the main PostgreSQL git repository.
RSS Atom

AltStyle によって変換されたページ (->オリジナル) /