[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: libldap and _r-functions



>Simply put, the NSS (and PAM) architecture is problematic in
>that all kinds of code which conflicts with the program can
>be linked in at run time.  The program has little protection
>from the module and the module has little protection from the
>program.  I don't view this as a OpenLDAP-specific problem,
>as there simply is little we can do to prevent program/module
>conflicts at the library level.  (Not to say that we couldn't
>use separate symbols in libldap and libldap_r, but more to
>say that use of separate symbols won't do all that much to
>prevent program/module conflicts that are inherit in the
>NSS (and PAM) architecture).

Probably the only way to avoid conflicts (unfortunately) is to
statically link libldap{_r} into nss_ldap, and ensure that its
symbols are not exported.

Of course, if we had have adopted a client/server architecture
for nss_ldap this could have been avoided...

-- Luke

--