[krbdev.mit.edu #3909] Plugins need to use RTLD_GROUP when available, but definitely not RTLD_GLOBAL

Nicolas Williams via RT rt-comment at krbdev.mit.edu
Tue Jun 20 18:55:27 EDT 2006


On Tue, Jun 20, 2006 at 06:27:33PM -0400, Sam Hartman via RT wrote:
> You do not want plugins to override symbols in the application when
> they pull in dependencies.

That means RTLD_LOCAL.  You do also want RTLD_GROUP, of course.

RTLD_GROUP is a modifier of RTLD_LOCAL/RTLD_GLOBAL, though it may not be
supported on all platforms that MIT krb5 supports.

If the plug-ins need glue functions from the plug-in framework then they
should either have an explicit dependency on the framework shared object
or related shared object or filter thereof (or they could be dlopen()ed
with the RTLD_PARENT modifier, which also may not be supported on all
platforms that MIT krb5 supports, and which wouldn't allow filtering
what symbols the framework provides to the plug-ins).

Nico
-- 




More information about the krb5-bugs mailing list