+++ /dev/null
-From b0b00385bf7564fa39f711f958b90512559f7f70 Mon Sep 17 00:00:00 2001
-From: babak sarashki <babak.sarashki@windriver.com>
-Date: Sun, 3 Nov 2019 14:45:27 -0800
-Subject: [PATCH 11/20] openldap switch to t_dlopenadvise to get RTLD_GLOBAL
- set
-
-From-stx-1901: openldap-switch-to-t_dlopenadvise-to-get-RTLD_GLOBAL-set.patch
-
-From: Jan-Marek Glogowski <jan-marek.glogowski@muenchen.de>
-Date: Tue, 18 May 2010 17:47:05 +0200
-Subject: [PATCH] Switch to lt_dlopenadvise() to get RTLD_GLOBAL set.
-
-Proof of concept for fixing http://bugs.debian.org/327585
-(patch ported from freeradius bug http://bugs.debian.org/416266)
-
-Resolves: #960048
----
- servers/slapd/module.c | 16 +++++++++++++++-
- 1 file changed, 15 insertions(+), 1 deletion(-)
-
-diff --git a/servers/slapd/module.c b/servers/slapd/module.c
-index 2a8aa0a..994b885 100644
---- a/servers/slapd/module.c
-+++ b/servers/slapd/module.c
-@@ -117,6 +117,20 @@ int module_unload( const char *file_name )
- return -1; /* not found */
- }
-
-+static lt_dlhandle slapd_lt_dlopenext_global( const char *filename )
-+{
-+ lt_dlhandle handle = 0;
-+ lt_dladvise advise;
-+
-+ if (!lt_dladvise_init (&advise) && !lt_dladvise_ext (&advise)
-+ && !lt_dladvise_global (&advise))
-+ handle = lt_dlopenadvise (filename, advise);
-+
-+ lt_dladvise_destroy (&advise);
-+
-+ return handle;
-+}
-+
- int module_load(const char* file_name, int argc, char *argv[])
- {
- module_loaded_t *module;
-@@ -180,7 +194,7 @@ int module_load(const char* file_name, int argc, char *argv[])
- * to calling Debug. This is because Debug is a macro that expands
- * into multiple function calls.
- */
-- if ((module->lib = lt_dlopenext(file)) == NULL) {
-+ if ((module->lib = slapd_lt_dlopenext_global(file)) == NULL) {
- error = lt_dlerror();
- #ifdef HAVE_EBCDIC
- strcpy( ebuf, error );
---
-2.17.1
-