From owner-freebsd-current Sun Dec 15 16:35:47 1996 Return-Path: Received: (from root@localhost) by freefall.freebsd.org (8.8.4/8.8.4) id QAA22617 for current-outgoing; Sun, 15 Dec 1996 16:35:47 -0800 (PST) Received: from skynet.ctr.columbia.edu (skynet.ctr.columbia.edu [128.59.64.70]) by freefall.freebsd.org (8.8.4/8.8.4) with SMTP id QAA22611 for ; Sun, 15 Dec 1996 16:35:37 -0800 (PST) Received: (from wpaul@localhost) by skynet.ctr.columbia.edu (8.6.12/8.6.9) id TAA05740; Sun, 15 Dec 1996 19:33:37 -0500 From: Bill Paul Message-Id: <199612160033.TAA05740@skynet.ctr.columbia.edu> Subject: Re: Plan for integrating Secure RPC -- comments wanted To: joerg_wunsch@uriah.heep.sax.de Date: Sun, 15 Dec 1996 19:33:36 -0500 (EST) Cc: current@freebsd.org In-Reply-To: <199612152315.AAA01712@uriah.heep.sax.de> from "J Wunsch" at Dec 16, 96 00:15:42 am X-Mailer: ELM [version 2.4 PL24] Content-Type: text Sender: owner-current@freebsd.org X-Loop: FreeBSD.org Precedence: bulk Of all the gin joints in all the towns in all the world, J Wunsch had to walk into mine and say: > As Bill Paul wrote: > > > Splitting out the DES code > > --------------------------- > > > Right now, there are several programs in /bin and /sbin which use > > NIS code as a side effect of calling libc functions that have NIS > > support in them. All the executables in these directories are linked > > > The question then is how to seperate out the DES code without actually > > changing any executables. There are actually three ways, all of which > > suck. It's a matter of choosing the least suckiest. > > Why not using explicit dynamic linking for this? (dlopen(3)) Since > you can concentrate on a single library entry point, this should be > not too complicated. The point is that you try to load the shared > lib only if an actual call is made to it, rather then loading every- > thing before the executable starts. Because that would put the dlopen() call in libdesrpc.{so,a} and that in turn would put it inside static binaries in /bin and /sbin, which doesn't currently work since dlopen() doesn't exist in scrt0.o. Putting it in keyserv works because I know keyserv will be dynamically linked. -Bill -- ============================================================================= -Bill Paul (212) 854-6020 | System Manager, Master of Unix-Fu Work: wpaul@ctr.columbia.edu | Center for Telecommunications Research Home: wpaul@skynet.ctr.columbia.edu | Columbia University, New York City ============================================================================= "It is not I who am crazy; it is I who am mad!" - Ren Hoek, "Space Madness" =============================================================================