[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: Pam-list digest, Vol 1 #411 - 7 msgs



James Stevens wrote:
> 
> > Does jsm.so itself linked with -lpam?  (it should be, or else jabberd will be
> > unable to load it, yes?)
> 
> jsm.so is linked with "-lpam" - as it does make PAM calls.
> 
> > Or maybe
> > jabberd loads the jsm.so without adding symbols from it (and it's dependant
> > libs) to the main symbol list (RTDL_something flag for dlopen())?

[ RTLD_GLOBAL ]

> This sound like it could a solution - but, again, only is you have access to
> all the source. Linking "jabberd" with "-lpam", also works, but is a bit of a
> messy solution.

I've recently committed a shared library object to the Linux-PAM source
tree to address this sort of issue. It builds as pam.so. You can
dlopen() it and have it behave as you were expecting libpam.so would.

Look in the 'dynamic' directory:

http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/pam/Linux-PAM/dynamic/

> However, surly, if a PAM module make a call into "libpam" it should be linked
> with "-lpam" ?

The problem with this is that I want the modules to work unchanged with
different PAM like libraries - for example libpamd which has more
debugging information available. By hard linking the library in the way
you indicate, this feature is not available. Finally, when building the
modules, if you want to statically build in a module into libpam.so you
need to build the module before you build the library, and as such
libpam.so isn't available when you build the module in the source tree.

Cheers

Andrew





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index] []