+++ /dev/null
-From 7171396a151a2edb3474c7a321b7ae4ff7e171fc Mon Sep 17 00:00:00 2001
-From: Frank Lichtenheld <frank@lichtenheld.com>
-Date: Wed, 29 Mar 2023 12:44:44 +0200
-Subject: [PATCH] Allow the build to succeed if configured with
- --disable-shared
-
-Do not try to install a file that does not exist.
-
-Signed-off-by: Frank Lichtenheld <frank@lichtenheld.com>
----
- configure.ac | 1 +
- lib/Makefile.am | 2 ++
- 2 files changed, 3 insertions(+)
-
-upstream PR: https://github.com/OpenSC/pkcs11-helper/pull/62
-
-diff --git a/configure.ac b/configure.ac
-index a7e9760..f154ae3 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -581,6 +581,7 @@ AC_SUBST([LIBPKCS11_HELPER_LT_AGE])
- AC_SUBST([LIBPKCS11_HELPER_LT_OLDEST])
- AC_SUBST([WIN_LIBPREFIX])
- AC_SUBST([PKCS11H_FEATURES])
-+AM_CONDITIONAL([ENABLE_SHARED], [test "${enable_shared}" = "yes" ])
- AM_CONDITIONAL([WIN32], [test "${WIN32}" = "yes"])
- AM_CONDITIONAL([CYGWIN], [test "${CYGWIN}" = "yes"])
- AM_CONDITIONAL([ENABLE_DOC], [test "${enable_doc}" = "yes"])
-diff --git a/lib/Makefile.am b/lib/Makefile.am
-index 31b928f..3cba32f 100644
---- a/lib/Makefile.am
-+++ b/lib/Makefile.am
-@@ -128,10 +128,12 @@ if ENABLE_PKCS11H_TOKEN
- endif
-
- if WIN32
-+if ENABLE_SHARED
- mylibdir=$(libdir)
- mylib_DATA=.libs/@WIN_LIBPREFIX@pkcs11-helper-@LIBPKCS11_HELPER_LT_OLDEST@.dll.def
- .libs/@WIN_LIBPREFIX@pkcs11-helper-@LIBPKCS11_HELPER_LT_OLDEST@.dll.def: libpkcs11-helper.la
- endif
-+endif
-
- RCCOMPILE = $(RC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS)
---
-2.34.1
-
+++ /dev/null
-From 934197611dd1260d17ae0f11ae81c1d2e85612d2 Mon Sep 17 00:00:00 2001
-From: Marc Becker <marc.becker@astos.de>
-Date: Fri, 22 Jul 2022 10:33:05 +0200
-Subject: [PATCH] core: add provider property for loader flags
-
-support flags for dynamic loader via provider property
-set original values as defaults, use verbatim (user-supplied) value
----
- include/pkcs11-helper-1.0/pkcs11h-core.h | 11 ++++++++++-
- lib/_pkcs11h-core.h | 2 ++
- lib/pkcs11h-core.c | 13 +++++++++++--
- 3 files changed, 23 insertions(+), 3 deletions(-)
-
-upstream PR: https://github.com/OpenSC/pkcs11-helper/pull/59
-
-diff --git a/include/pkcs11-helper-1.0/pkcs11h-core.h b/include/pkcs11-helper-1.0/pkcs11h-core.h
-index 9028c277..56f87718 100644
---- a/include/pkcs11-helper-1.0/pkcs11h-core.h
-+++ b/include/pkcs11-helper-1.0/pkcs11h-core.h
-@@ -384,8 +384,17 @@ extern "C" {
- */
- #define PKCS11H_PROVIDER_PROPERTY_PROVIDER_DESTRUCT_HOOK_DATA 8
-
-+/**
-+ * @brief Provider loader flags for platform.
-+ * Value type is unsigned.
-+ * Default value is platform dependent:
-+ * win32 -> 0
-+ * dlopen -> RTLD_NOW | RTLD_LOCAL
-+ */
-+#define PKCS11H_PROVIDER_PROPERTY_LOADER_FLAGS 9
-+
- /** @private */
--#define _PKCS11H_PROVIDER_PROPERTY_LAST 9
-+#define _PKCS11H_PROVIDER_PROPERTY_LAST 10
-
- /** @} */
-
-diff --git a/lib/_pkcs11h-core.h b/lib/_pkcs11h-core.h
-index f879c0e8..1c02e35d 100644
---- a/lib/_pkcs11h-core.h
-+++ b/lib/_pkcs11h-core.h
-@@ -134,6 +134,8 @@ struct _pkcs11h_provider_s {
- #if defined(ENABLE_PKCS11H_SLOTEVENT)
- _pkcs11h_thread_t slotevent_thread;
- #endif
-+
-+ unsigned loader_flags;
- };
-
- struct _pkcs11h_session_s {
-diff --git a/lib/pkcs11h-core.c b/lib/pkcs11h-core.c
-index 0bf11e87..409ad9e2 100644
---- a/lib/pkcs11h-core.c
-+++ b/lib/pkcs11h-core.c
-@@ -138,6 +138,7 @@ static const char * __pkcs11h_provider_preperty_names[] = {
- "init_args",
- "provider_destruct_hook",
- "provider_destruct_hook_data",
-+ "provider_loader_flags",
- NULL
- };
-
-@@ -916,6 +917,10 @@ pkcs11h_registerProvider (
- reference
- );
-
-+#if !defined(_WIN32)
-+ provider->loader_flags = RTLD_NOW | RTLD_LOCAL;
-+#endif
-+
- _PKCS11H_DEBUG (
- PKCS11H_LOG_DEBUG2,
- "PKCS#11: pkcs11h_registerProvider Provider '%s'",
-@@ -1001,6 +1006,7 @@ pkcs11h_setProviderPropertyByName (
- case PKCS11H_PROVIDER_PROPERTY_SLOT_EVENT_METHOD:
- case PKCS11H_PROVIDER_PROPERTY_MASK_PRIVATE_MODE:
- case PKCS11H_PROVIDER_PROPERTY_SLOT_POLL_INTERVAL:
-+ case PKCS11H_PROVIDER_PROPERTY_LOADER_FLAGS:
- *(unsigned *)value = (unsigned)strtol(value_str, 0, 0);
- value_size = sizeof(unsigned);
- break;
-@@ -1084,6 +1090,9 @@ __pkcs11h_providerPropertyAddress(
- case PKCS11H_PROVIDER_PROPERTY_PROVIDER_DESTRUCT_HOOK_DATA:
- *value = &provider->destruct_hook_data;
- *value_size = sizeof(provider->destruct_hook_data);
-+ case PKCS11H_PROVIDER_PROPERTY_LOADER_FLAGS:
-+ *value = &provider->loader_flags;
-+ *value_size = sizeof(provider->loader_flags);
- break;
- }
- rv = CKR_OK;
-@@ -1254,9 +1263,9 @@ pkcs11h_initializeProvider (
- }
-
- #if defined(_WIN32)
-- provider->handle = LoadLibraryA (provider->provider_location);
-+ provider->handle = LoadLibraryExA (provider->provider_location, NULL, provider->loader_flags);
- #else
-- provider->handle = dlopen (provider->provider_location, RTLD_NOW | RTLD_LOCAL);
-+ provider->handle = dlopen (provider->provider_location, provider->loader_flags);
- #endif
-
- if (provider->handle == NULL) {