Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 27 Jun 2005 15:04:49 +0200
From:      Jeremie Le Hen <jeremie@le-hen.org>
To:        Dag-Erling =?iso-8859-1?Q?Sm=F8rgrav?= <des@des.no>
Cc:        freebsd-current@FreeBSD.org, Jeremie Le Hen <jeremie@le-hen.org>, freebsd-ports@FreeBSD.org
Subject:   Re: OpenPAM Figwort broke PAM modules from ports
Message-ID:  <20050627130449.GQ1283@obiwan.tataz.chchile.org>
In-Reply-To: <86d5q8113a.fsf@xps.des.no>
References:  <20050626211011.GH1283@obiwan.tataz.chchile.org> <86d5q8113a.fsf@xps.des.no>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi Dag-Erling,

> > This prevents PAM modules installed in /usr/local/lib from being
> > dlopen(3)'d.  I'm not sure whether FreeBSD really wants this new
> > ``feature'' or not, but actually I think this needs a note in
> > src/UPDATING to be issued, explaining that PAM modules installed from
> > ports need to be specified with their full path now.
> 
> They always did.

With all respect I owe you you, the last upgrade of my -CURRENT box
constrained me to use the following patch to make pam_alreadyloggedin.so
work again :
%%%
    --- login.old	Mon Jun 27 16:13:34 2005
    +++ login	Mon Jun 27 01:12:30 2005
    @@ -6,7 +6,7 @@
     
     # auth
     auth		required	pam_nologin.so		no_warn
    -auth		sufficient	pam_alreadyloggedin.so	no_root
    +auth		sufficient	/usr/local/lib/pam_alreadyloggedin.so	no_root
     auth		sufficient	pam_self.so		no_warn
     auth		include		system
%%% 

It can be verified by hacking src/contrib/openpam/lib/openpam_dynamic.c
(this trivially reverts the diff I posted in my previous email) :
%%%
    Index: openpam_dynamic.c
    ===================================================================
    RCS file: /nfs/donald/repo/FreeBSD/src/contrib/openpam/lib/openpam_dynamic.c,v
    retrieving revision 1.1.1.8
    diff -u -r1.1.1.8 openpam_dynamic.c
    --- openpam_dynamic.c	17 Jun 2005 08:11:42 -0000	1.1.1.8
    +++ openpam_dynamic.c	27 Jun 2005 14:16:45 -0000
    @@ -71,6 +71,7 @@
     		prefix = OPENPAM_MODULES_DIR;
     	else
     		prefix = "";
    +	prefix = "";
     
     	/* try versioned module first, then unversioned module */
     	if (asprintf(&vpath, "%s%s.%d", prefix, path, LIB_MAJ) < 0)
%%%

Compiling libpam with this patch allows me to use pam_alreadyloggedin.so
without specifying its full path, like it was before the upgrade to
OpenPAM Figwort.  I think this is due to rc.d/ldconfig default settings
which add the content of /usr/local/lib into rtld(1) standard hints file.
Now that the path is fully specified in libpam, this doesn't work any
longer.  It would be nice to have a note in src/UPDATING about this.

Best regards,
-- 
Jeremie Le Hen
< jeremie at le-hen dot org >< ttz at chchile dot org >



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050627130449.GQ1283>