Print

Print


Hi,

In XrdSysPlugin.cc, dlopen() is only called with the RTLD_NOW option.  This is causing problems for something I'm working on.

I'm currently implementing LCMAPS authorization for GSI which needs to:

1) Load the libXrdLcmaps library (which is linked against liblcmaps) [DONE]
2) Call the lcmaps_init function [DONE]
3) lcmaps then loads its plugins.  For some security reason (which I don't know), the plugins are not linked against liblcmaps itself but use its symbols.

Normally, step (3) is fine because the liblcmaps symbols are in the global namespace.  *However*, since xrootd loads liblcmaps without the RTLD_GLOBAL option, the liblcmaps symbols are not available and the dlopen fails at (3).

What's the reasoning behind not passing RTLD_GLOBAL?  Or has it just never come up?

Brian