23 lines
831 B
Diff
23 lines
831 B
Diff
|
Use DEEPBIND to load the nss modules. Helps thunderbird (linked against its
|
||
|
own version of the ldap libs) when using nss_ldap (linked against system
|
||
|
libldap) leading to crashes due to incompatibilities.
|
||
|
|
||
|
See https://bugzilla.novell.com/show_bug.cgi?id=157078 and
|
||
|
http://sourceware.org/bugzilla/show_bug.cgi?id=6610
|
||
|
|
||
|
Index: nss/nsswitch.c
|
||
|
===================================================================
|
||
|
--- nss/nsswitch.c.orig
|
||
|
+++ nss/nsswitch.c
|
||
|
@@ -358,7 +358,9 @@ __nss_lookup_function (service_user *ni,
|
||
|
".so"),
|
||
|
__nss_shlib_revision);
|
||
|
|
||
|
- ni->library->lib_handle = __libc_dlopen (shlib_name);
|
||
|
+ ni->library->lib_handle
|
||
|
+ = __libc_dlopen_mode (shlib_name,
|
||
|
+ RTLD_LAZY | __RTLD_DLOPEN | RTLD_DEEPBIND);
|
||
|
if (ni->library->lib_handle == NULL)
|
||
|
{
|
||
|
/* Failed to load the library. */
|