Nicolas Williams wrote:

> But I think I just figured out the reason for the indirection: libgss
> lives in /usr/lib, and libnsl lives in /lib, so to fold rpcsec.so.1 into
> libnsl might mean either moving libgss into /lib or using weak symbols
> in rpc_gss_*() to determine if libgss is available and return NULL (or
> whatever) if it is not.

I don't have any concrete recommendations as to where things live in
the file system, other folks determine those issues :-).  Moving things
into /lib has occurred over and over again, so I don't see why you
couldn't float the idea of moving libgss into /lib.

> Which do you recommend then:
> 
> a) turning rpcsec_gss_if.c into auxfilters;

This is easy to do, and allows the libs to remain in their same location.

> b) folding rpcsec.so.1 into libnsl and use weak syms to determine if
>    libgss is available

The folding part is fine, but I don't get the weak symbols part.  If you
have to determine whether libgss exists, then you've the same problem as you
are presently investigating with rpcsec_gss_if.c.  Seems that this would
just make the calling mechanism from libnsl/rpcsec_gss to libgss more
complicated, no?

> b) folding rpcsec.so.1 into libnsl and moving libgss into /lib

This sounds feasible too, and would simplify and improve the performance
of the system as a whole.  Don't forget, filtees are another object ld.so.1
has to load - the less the better.

Why not fold rpcsec.so.1 and libgss into libnsl :-)

-- 

Rod.

Reply via email to