This is sources Bugzilla
Bugzilla Version 2.17.5
Bugzilla Bug 6610
  NSS modules should be dlopen()ed with RTLD_DEEPBIND Last modified: 2010-06-11 14:01
     Query page      Enter new bug
Bug#: 6610   Hardware:   Reporter: Petr Baudis <pasky@suse.cz>
Host: Target: Build:
Product:     Add CC:
Component:   Version:   CC:
Remove selected CCs
Status: RESOLVED   Priority:  
Resolution: WONTFIX   Severity:  
Assigned To: Ulrich Drepper <drepper@redhat.com>   Target Milestone:  
Flags: Requestee:
  backport ()
  examined ()
  testsuite ()
Summary:
Keywords:

Attachment Description Type Created Actions
Create a New Attachment (proposed patch, testcase, etc.) View All

Bug 6610 depends on: Show dependency tree
Show dependency graph
Bug 6610 blocks:

Additional Comments:


Leave as RESOLVED WONTFIX
Reopen bug
Mark bug as VERIFIED

View Bug Activity   |   Format For Printing


Description:   Last confirmed: 0000-00-00 00:00 Opened: 2008-06-09 18:33
nss/nsswitch.c should dlopen() the NSS modules with RTLD_DEEPBIND so that the
application symbols will not interfere with symbols the NSS module is using.

A practical example (pointed out by Michael Meeks) is nss_ldap + Thunderbird
failing, since both use incompatible LDAP libraries with some symbols clashing;
nss_ldap will use the Thunderbird LDAP library symbols in preference to these of
its own library, resulting in a crash. Deepbinding should solve this problem,
and I can think of no bad side-effects (in sane situations).

------- Additional Comment #1 From Mike Frysinger 2008-12-29 20:44 -------
i tried merging this into the Gentoo glibc package, but things went badly for
mozilla users.  feel like having a look ?

http://bugs.gentoo.org/252302

------- Additional Comment #2 From Petr Baudis 2010-06-11 14:01 -------
By now, plenty of bad side-effects popped up mainly due to the fact that custom
malloc() overrides do not work - the NSS module will ignore them, but will try
to free() pointers allocated by glibc using the overriden malloc(). It's
probably best to require NSS modules not to pollute namespace.

     Query page      Enter new bug
Actions: New | Query | bug # | Reports | Requests   New Account | Log In