Skip Menu |
 

To: krb5-bugs@MIT.EDU
Subject: Plugins need to use RTLD_GROUP when available, but definitely not RTLD_GLOBAL
Date: Tue, 20 Jun 2006 18:14:09 -0400 (EDT)
From: hartmans@MIT.EDU (Sam Hartman)


You do not want plugins to override symbols in the application when
they pull in dependencies.
Date: Tue, 20 Jun 2006 17:55:12 -0500
From: Nicolas Williams <Nicolas.Williams@sun.com>
To: rt@krbdev.mit.edu
Cc: Sam Hartman <hartmans@mit.edu>
Subject: Re: [krbdev.mit.edu #3909] Plugins need to use RTLD_GROUP when available, but definitely not RTLD_GLOBAL
RT-Send-Cc:
On Tue, Jun 20, 2006 at 06:27:33PM -0400, Sam Hartman via RT wrote:
Show quoted text
> 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
--
From: tlyu@mit.edu
Subject: SVN Commit
* src/util/support/plugins.c (krb5int_open_plugin): Use RTLD_LOCAL
instead of RTLD_GLOBAL. Use RTLD_GROUP if available.

Commit By: tlyu



Revision: 18192
Changed Files:
U trunk/src/util/support/plugins.c
From: tlyu@mit.edu
Subject: SVN Commit
pull up r18192 from trunk

r18192@cathode-dark-space: tlyu | 2006-06-21 23:00:53 -0400
ticket: 3909
tags: pullup

* src/util/support/plugins.c (krb5int_open_plugin): Use RTLD_LOCAL
instead of RTLD_GLOBAL. Use RTLD_GROUP if available.


Commit By: tlyu



Revision: 18217
Changed Files:
U branches/krb5-1-5/src/util/support/plugins.c