Index: strongswan-5.2.0dr4/src/libstrongswan/plugins/plugin_loader.c
===================================================================
--- strongswan-5.2.0dr4.orig/src/libstrongswan/plugins/plugin_loader.c
+++ strongswan-5.2.0dr4/src/libstrongswan/plugins/plugin_loader.c
@@ -354,7 +354,7 @@ static plugin_entry_t *load_plugin(priva
return NULL;
}
}
- handle = dlopen(file, RTLD_LAZY);
+ handle = dlopen(file, RTLD_NOW|RTLD_GLOBAL);
if (handle == NULL)
{
DBG1(DBG_LIB, "plugin '%s' failed to load: %s", name, dlerror());
Index: strongswan-5.2.0dr4/src/libstrongswan/Makefile.am
===================================================================
--- strongswan-5.2.0dr4.orig/src/libstrongswan/Makefile.am
+++ strongswan-5.2.0dr4/src/libstrongswan/Makefile.am
@@ -106,7 +106,7 @@ AM_CFLAGS = \
@COVERAGE_CFLAGS@
AM_LDFLAGS = \
- -no-undefined
+ -no-undefined -rdynamic
AM_YFLAGS = -v -d
Index: strongswan-5.2.0dr4/src/libstrongswan/plugins/cmac/Makefile.am
===================================================================
--- strongswan-5.2.0dr4.orig/src/libstrongswan/plugins/cmac/Makefile.am
+++ strongswan-5.2.0dr4/src/libstrongswan/plugins/cmac/Makefile.am
@@ -13,4 +13,5 @@ endif
libstrongswan_cmac_la_SOURCES = \
cmac_plugin.h cmac_plugin.c cmac.h cmac.c
-libstrongswan_cmac_la_LDFLAGS = -module -avoid-version
+libstrongswan_cmac_la_LDFLAGS = -no-undefined -module -avoid-version
+libstrongswan_cmac_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
\ No newline at end of file
Index: strongswan-5.2.0dr4/src/libstrongswan/plugins/constraints/Makefile.am
===================================================================
--- strongswan-5.2.0dr4.orig/src/libstrongswan/plugins/constraints/Makefile.am
+++ strongswan-5.2.0dr4/src/libstrongswan/plugins/constraints/Makefile.am
@@ -14,4 +14,5 @@ libstrongswan_constraints_la_SOURCES = \
constraints_plugin.h constraints_plugin.c \
constraints_validator.h constraints_validator.c
-libstrongswan_constraints_la_LDFLAGS = -module -avoid-version
+libstrongswan_constraints_la_LDFLAGS = -no-undefined -module -avoid-version
+libstrongswan_constraints_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
Index: strongswan-5.2.0dr4/src/libstrongswan/plugins/hmac/Makefile.am
===================================================================
--- strongswan-5.2.0dr4.orig/src/libstrongswan/plugins/hmac/Makefile.am
+++ strongswan-5.2.0dr4/src/libstrongswan/plugins/hmac/Makefile.am
@@ -13,4 +13,5 @@ endif
libstrongswan_hmac_la_SOURCES = \
hmac_plugin.h hmac_plugin.c hmac.h hmac.c
-libstrongswan_hmac_la_LDFLAGS = -module -avoid-version
+libstrongswan_hmac_la_LDFLAGS = -no-undefined -module -avoid-version
+libstrongswan_hmac_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
Index: strongswan-5.2.0dr4/src/libstrongswan/plugins/nonce/Makefile.am
===================================================================
--- strongswan-5.2.0dr4.orig/src/libstrongswan/plugins/nonce/Makefile.am
+++ strongswan-5.2.0dr4/src/libstrongswan/plugins/nonce/Makefile.am
@@ -14,4 +14,5 @@ libstrongswan_nonce_la_SOURCES = \
nonce_plugin.h nonce_plugin.c \
nonce_nonceg.c nonce_nonceg.h
-libstrongswan_nonce_la_LDFLAGS = -module -avoid-version
+libstrongswan_nonce_la_LDFLAGS = -no-undefined -module -avoid-version
+libstrongswan_nonce_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
Index: strongswan-5.2.0dr4/src/libstrongswan/plugins/openssl/Makefile.am
===================================================================
--- strongswan-5.2.0dr4.orig/src/libstrongswan/plugins/openssl/Makefile.am
+++ strongswan-5.2.0dr4/src/libstrongswan/plugins/openssl/Makefile.am
@@ -31,5 +31,6 @@ libstrongswan_openssl_la_SOURCES = \
openssl_hmac.c openssl_hmac.h \
openssl_gcm.c openssl_gcm.h
-libstrongswan_openssl_la_LDFLAGS = -module -avoid-version
-libstrongswan_openssl_la_LIBADD = -lcrypto
+libstrongswan_openssl_la_LDFLAGS = -no-undefined -module -avoid-version
+libstrongswan_openssl_la_LIBADD = -lcrypto \
+ $(top_builddir)/src/libstrongswan/libstrongswan.la
Index: strongswan-5.2.0dr4/src/libstrongswan/plugins/pem/Makefile.am
===================================================================
--- strongswan-5.2.0dr4.orig/src/libstrongswan/plugins/pem/Makefile.am
+++ strongswan-5.2.0dr4/src/libstrongswan/plugins/pem/Makefile.am
@@ -15,4 +15,5 @@ libstrongswan_pem_la_SOURCES = \
pem_builder.c pem_builder.h \
pem_encoder.c pem_encoder.h
-libstrongswan_pem_la_LDFLAGS = -module -avoid-version
+libstrongswan_pem_la_LDFLAGS = -no-undefined -module -avoid-version
+libstrongswan_pem_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
Index: strongswan-5.2.0dr4/src/libstrongswan/plugins/pgp/Makefile.am
===================================================================
--- strongswan-5.2.0dr4.orig/src/libstrongswan/plugins/pgp/Makefile.am
+++ strongswan-5.2.0dr4/src/libstrongswan/plugins/pgp/Makefile.am
@@ -17,4 +17,5 @@ libstrongswan_pgp_la_SOURCES = \
pgp_encoder.h pgp_encoder.c \
pgp_builder.h pgp_builder.c
-libstrongswan_pgp_la_LDFLAGS = -module -avoid-version
+libstrongswan_pgp_la_LDFLAGS = -no-undefined -module -avoid-version
+libstrongswan_pgp_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
Index: strongswan-5.2.0dr4/src/libstrongswan/plugins/random/Makefile.am
===================================================================
--- strongswan-5.2.0dr4.orig/src/libstrongswan/plugins/random/Makefile.am
+++ strongswan-5.2.0dr4/src/libstrongswan/plugins/random/Makefile.am
@@ -16,4 +16,5 @@ libstrongswan_random_la_SOURCES = \
random_plugin.h random_plugin.c \
random_rng.c random_rng.h
-libstrongswan_random_la_LDFLAGS = -module -avoid-version
+libstrongswan_random_la_LDFLAGS = -no-undefined -module -avoid-version
+libstrongswan_random_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
Index: strongswan-5.2.0dr4/src/libstrongswan/plugins/revocation/Makefile.am
===================================================================
--- strongswan-5.2.0dr4.orig/src/libstrongswan/plugins/revocation/Makefile.am
+++ strongswan-5.2.0dr4/src/libstrongswan/plugins/revocation/Makefile.am
@@ -14,4 +14,5 @@ libstrongswan_revocation_la_SOURCES = \
revocation_plugin.h revocation_plugin.c \
revocation_validator.h revocation_validator.c
-libstrongswan_revocation_la_LDFLAGS = -module -avoid-version
+libstrongswan_revocation_la_LDFLAGS = -no-undefined -module -avoid-version
+libstrongswan_revocation_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
Index: strongswan-5.2.0dr4/src/libstrongswan/plugins/sqlite/Makefile.am
===================================================================
--- strongswan-5.2.0dr4.orig/src/libstrongswan/plugins/sqlite/Makefile.am
+++ strongswan-5.2.0dr4/src/libstrongswan/plugins/sqlite/Makefile.am
@@ -14,5 +14,6 @@ libstrongswan_sqlite_la_SOURCES = \
sqlite_plugin.h sqlite_plugin.c \
sqlite_database.h sqlite_database.c
-libstrongswan_sqlite_la_LDFLAGS = -module -avoid-version
-libstrongswan_sqlite_la_LIBADD = -lsqlite3
+libstrongswan_sqlite_la_LDFLAGS = -no-undefined -module -avoid-version
+libstrongswan_sqlite_la_LIBADD = -lsqlite3 \
+ $(top_builddir)/src/libstrongswan/libstrongswan.la
Index: strongswan-5.2.0dr4/src/libstrongswan/plugins/x509/Makefile.am
===================================================================
--- strongswan-5.2.0dr4.orig/src/libstrongswan/plugins/x509/Makefile.am
+++ strongswan-5.2.0dr4/src/libstrongswan/plugins/x509/Makefile.am
@@ -19,4 +19,5 @@ libstrongswan_x509_la_SOURCES = \
x509_ocsp_request.h x509_ocsp_request.c \
x509_ocsp_response.h x509_ocsp_response.c
-libstrongswan_x509_la_LDFLAGS = -module -avoid-version
+libstrongswan_x509_la_LDFLAGS = -no-undefined -module -avoid-version
+libstrongswan_x509_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
Index: strongswan-5.2.0dr4/src/libstrongswan/plugins/xcbc/Makefile.am
===================================================================
--- strongswan-5.2.0dr4.orig/src/libstrongswan/plugins/xcbc/Makefile.am
+++ strongswan-5.2.0dr4/src/libstrongswan/plugins/xcbc/Makefile.am
@@ -13,4 +13,5 @@ endif
libstrongswan_xcbc_la_SOURCES = \
xcbc_plugin.h xcbc_plugin.c xcbc.h xcbc.c
-libstrongswan_xcbc_la_LDFLAGS = -module -avoid-version
+libstrongswan_xcbc_la_LDFLAGS = -no-undefined -module -avoid-version
+libstrongswan_xcbc_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la