Subject: Re: PAM and su -K
To: Joerg Sonnenberger <joerg@britannica.bec.de>
From: Jason Thorpe <thorpej@shagadelic.org>
List: tech-userlevel
Date: 01/25/2005 09:17:30
On Jan 25, 2005, at 7:14 AM, Joerg Sonnenberger wrote:

> This would be solved by
> allowing dlopen from static applications and I'm pretty sure it can be
> done within certain limits, but I didn't have time to do it yet, nor
> seems anyone else having done it already.

This is incredibly difficult, for a number of reasons.

Here's one major hurdle... Consider that many shared libraries use 
functions from libc.  A statically-linked binary is only going to pull 
in the minimum set of functions from libc at link time.  What if a 
plugin then needed a function that the program didn't use?  Where does 
it get it from?  Does it implicitly dynamically load its down libc, 
with private bindings?  How does that interact with, say, malloc(), 
that has global state?

This is just the tip of the iceberg.  In my opinion, "allowing dlopen 
from static applications" is a non-starter.

         -- Jason R. Thorpe <thorpej@shagadelic.org>