Lighttpd has a bunch of loadable modules, one of which provides all 
authentication services. If we build Lighttpd with ldap support, the 
authentication module mod_auth.so is linked with not only libldap, but 
with many/all of the libraries that libldap links with.

When we enable mod_auth in the Lighttpd config file, Lighttpd fails to 
load the module with the following error (it then bails out):

2008-03-07 18:00:27: (plugin.c.205) ld.so.1: lighttpd: fatal: 
nspr_use_zone_allocator: can't find symbol
2008-03-07 18:00:27: (server.c.621) loading plugins finally failed

This is a result of lighttpd dlopen()'ing mod_auth.so and then calling 
dlsym() to lookup an as yet unknown symbol. We are aware of some issues 
with Solaris LDAP with Apache and PHP, and we maybe running into 
something similar with this issue, although we've looked on Sunsolve 
(and googled) and while there is a similar issue with Firefox there is 
no resolution and seemingly nothing we can apply.

We've used LD_DEBUG but it's tough to use it to drill down into an 
issue. If that will help then we may need guidance on how best to use it.

We don't know how best to move this forward. Anyone have any suggestions 
on where to look?

We is the "royal we" meaning me, and I admit that I'm on a pretty steep 
learning curve.

ldd on mod_auth.so gives the following:

root at grond# ldd /usr/lighttpd/1.4/lib/mod_auth.so
    libsendfile.so.1 =>     /lib/libsendfile.so.1
    libldap.so.5 =>     /usr/lib/libldap.so.5
    libresolv.so.2 =>     /lib/libresolv.so.2
    libnsl.so.1 =>     /lib/libnsl.so.1
    libsocket.so.1 =>     /lib/libsocket.so.1
    libc.so.1 =>     /lib/libc.so.1
    libsasl.so.1 =>     /usr/lib/libsasl.so.1
    libmd.so.1 =>     /lib/libmd.so.1
    libnspr4.so =>     /usr/lib/mps/libnspr4.so
    libplc4.so =>     /usr/lib/mps/libplc4.so
    libnss3.so =>     /usr/lib/mps/libnss3.so
    libssl3.so =>     /usr/lib/mps/libssl3.so
    libmp.so.2 =>     /lib/libmp.so.2
    libscf.so.1 =>     /lib/libscf.so.1
    libpthread.so.1 =>     /lib/libpthread.so.1
    libthread.so.1 =>     /lib/libthread.so.1
    librt.so.1 =>     /lib/librt.so.1
    libdl.so.1 =>     /lib/libdl.so.1
    libsoftokn3.so =>     /usr/lib/mps/libsoftokn3.so
    libplds4.so =>     /usr/lib/mps/libplds4.so
    libuutil.so.1 =>     /lib/libuutil.so.1
    libgen.so.1 =>     /lib/libgen.so.1
    libbsm.so.1 =>     /lib/libbsm.so.1
    libsecdb.so.1 =>     /lib/libsecdb.so.1
    libtsol.so.2 =>     /lib/libtsol.so.2
    libm.so.2 =>     /lib/libm.so.2

Thanks

Amanda


Reply via email to