postgres.git / summary / log / commit / refs
commit 13c98bdfc41eefb75da24fd2a886b0ef5314b7f6
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: Wed Mar 25 23:37:30 2020 +0000
First released in: 13.0
Fix assorted portability issues in commit 896fcdb23.
Some platforms require libssl to be linked explicitly in the new
SSL test module. Borrow contrib/sslinfo's code for that.
Since src/test/modules/Makefile now has a variable SUBDIRS list,
it needs to follow the ALWAYS_SUBDIRS protocol for that (cf.
comments in Makefile.global.in).
Blindly try to fix MSVC build failures by adding PGDLLIMPORT.
src/include/libpq/libpq-be.h | 2 +-
src/include/libpq/libpq.h | 4 ++--
src/test/modules/Makefile | 4 +++-
src/test/modules/ssl_passphrase_callback/Makefile | 2 ++
4 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/src/include/libpq/libpq-be.h b/src/include/libpq/libpq-be.h
index ee57fdc301b..67697836baf 100644
--- a/src/include/libpq/libpq-be.h
+++ b/src/include/libpq/libpq-be.h
@@ -289,7 +289,7 @@ extern char *be_tls_get_certificate_hash(Port *port, size_t *len);
/* init hook for SSL, the default sets the password callback if appropriate */
typedef void(* openssl_tls_init_hook_typ)(SSL_CTX *context, bool isServerStart);
-extern openssl_tls_init_hook_typ openssl_tls_init_hook;
+extern PGDLLIMPORT openssl_tls_init_hook_typ openssl_tls_init_hook;
#endif /* USE_SSL */
diff --git a/src/include/libpq/libpq.h b/src/include/libpq/libpq.h
index 4d3a0bef63e..b1152475ace 100644
--- a/src/include/libpq/libpq.h
+++ b/src/include/libpq/libpq.h
@@ -83,8 +83,8 @@ extern char *ssl_key_file;
extern char *ssl_ca_file;
extern char *ssl_crl_file;
extern char *ssl_dh_params_file;
-extern char *ssl_passphrase_command;
-extern bool ssl_passphrase_command_supports_reload;
+extern PGDLLIMPORT char *ssl_passphrase_command;
+extern PGDLLIMPORT bool ssl_passphrase_command_supports_reload;
#ifdef USE_SSL
extern bool ssl_loaded_verify_locations;
#endif
diff --git a/src/test/modules/Makefile b/src/test/modules/Makefile
index 5f975ebcbac..29de73c0606 100644
--- a/src/test/modules/Makefile
+++ b/src/test/modules/Makefile
@@ -27,7 +27,9 @@ SUBDIRS = \
ifeq ($(with_openssl),yes)
SUBDIRS += ssl_passphrase_callback
+else
+ALWAYS_SUBDIRS += ssl_passphrase_callback
endif
-
$(recurse)
+$(recurse_always)
diff --git a/src/test/modules/ssl_passphrase_callback/Makefile b/src/test/modules/ssl_passphrase_callback/Makefile
index e2d19f131a6..1c4f79807e2 100644
--- a/src/test/modules/ssl_passphrase_callback/Makefile
+++ b/src/test/modules/ssl_passphrase_callback/Makefile
@@ -17,6 +17,8 @@ include $(top_builddir)/src/Makefile.global
include $(top_srcdir)/contrib/contrib-global.mk
endif
+SHLIB_LINK += $(filter -lssl -lcrypto -lssleay32 -leay32, $(LIBS))
+
check: prove-check
prove-check: ssl_passphrase_func$(DLSUFFIX) | temp-install
[parent: 896fcdb230e7]