diff options
author | jdp <jdp@FreeBSD.org> | 1999-01-20 21:55:30 +0000 |
---|---|---|
committer | jdp <jdp@FreeBSD.org> | 1999-01-20 21:55:30 +0000 |
commit | cf32a03bc9556d6c3dc927d7eb9d276d21d43d41 (patch) | |
tree | 2676314f5ae37c6b0cc69d8819e10f023fafccbd /lib/libpam | |
parent | ef01c22e1080a19283f19943021d45e9ad3a711f (diff) | |
download | FreeBSD-src-cf32a03bc9556d6c3dc927d7eb9d276d21d43d41.zip FreeBSD-src-cf32a03bc9556d6c3dc927d7eb9d276d21d43d41.tar.gz |
Make it possible to use PAM in statically-linked applications.
Diffstat (limited to 'lib/libpam')
-rw-r--r-- | lib/libpam/Makefile | 5 | ||||
-rw-r--r-- | lib/libpam/libpam/Makefile | 39 | ||||
-rw-r--r-- | lib/libpam/modules/Makefile.inc | 28 | ||||
-rw-r--r-- | lib/libpam/modules/pam_cleartext_pass_ok/Makefile | 11 | ||||
-rw-r--r-- | lib/libpam/modules/pam_cleartext_pass_ok/pam_cleartext_pass_ok.c | 2 | ||||
-rw-r--r-- | lib/libpam/modules/pam_kerberosIV/Makefile | 13 | ||||
-rw-r--r-- | lib/libpam/modules/pam_kerberosIV/pam_kerberosIV.c | 2 | ||||
-rw-r--r-- | lib/libpam/modules/pam_radius/Makefile | 13 | ||||
-rw-r--r-- | lib/libpam/modules/pam_radius/pam_radius.c | 2 | ||||
-rw-r--r-- | lib/libpam/modules/pam_skey/Makefile | 13 | ||||
-rw-r--r-- | lib/libpam/modules/pam_skey/pam_skey.c | 2 | ||||
-rw-r--r-- | lib/libpam/modules/pam_tacplus/Makefile | 13 | ||||
-rw-r--r-- | lib/libpam/modules/pam_tacplus/pam_tacplus.c | 2 | ||||
-rw-r--r-- | lib/libpam/modules/pam_unix/Makefile | 13 | ||||
-rw-r--r-- | lib/libpam/modules/pam_unix/pam_unix.c | 2 |
15 files changed, 86 insertions, 74 deletions
diff --git a/lib/libpam/Makefile b/lib/libpam/Makefile index 2a30b90..8e99888 100644 --- a/lib/libpam/Makefile +++ b/lib/libpam/Makefile @@ -24,7 +24,8 @@ # # $FreeBSD$ -SUBDIR+= libpam -SUBDIR+= modules +# The modules must be built first, because they are built into the +# static version of libpam. +SUBDIR+= modules libpam .include <bsd.subdir.mk> diff --git a/lib/libpam/libpam/Makefile b/lib/libpam/libpam/Makefile index 4fd5561..9b6cd7e 100644 --- a/lib/libpam/libpam/Makefile +++ b/lib/libpam/libpam/Makefile @@ -25,23 +25,22 @@ # $FreeBSD$ PAMDIR= ${.CURDIR}/../../../contrib/libpam +MODOBJDIR= ../modules .PATH: ${PAMDIR}/libpam ${PAMDIR}/libpam_misc ${PAMDIR}/doc/man LIB= pam CFLAGS+= -I${PAMDIR}/libpam/include -I. CFLAGS+= -DDEFAULT_MODULE_PATH=\"${SHLIBDIR}/\" -CFLAGS+= -DPAM_DYNAMIC -#CFLAGS+= -DPAM_STATIC NOPROFILE= true -INTERNALLIB= true CLEANFILES+= security # Files from ${PAMDIR}/libpam: SRCS= pam_account.c pam_auth.c pam_data.c pam_delay.c \ pam_dispatch.c pam_end.c pam_env.c pam_handlers.c \ pam_item.c pam_log.c pam_misc.c pam_password.c \ - pam_second.c pam_session.c pam_start.c pam_strerror.c + pam_second.c pam_session.c pam_start.c pam_static.c \ + pam_strerror.c HDRS1= _pam_compat.h _pam_macros.h _pam_types.h \ pam_appl.h pam_malloc.h pam_modules.h MAN3+= pam_authenticate.3 pam_chauthtok.3 pam_fail_delay.3 \ @@ -60,6 +59,38 @@ HDRS2= pam_misc.h SRCS+= pam_get_pass.c pam_prompt.c pam_std_option.c HDRS3= pam_mod_misc.h +# Static PAM modules: +STATIC_MODULES+= ${MODOBJDIR}/pam_cleartext_pass_ok/libpam_cleartext_pass_ok.a +.if defined(MAKE_KERBEROS4) +STATIC_MODULES+= ${MODOBJDIR}/pam_kerberosIV/libpam_kerberosIV.a +.endif +STATIC_MODULES+= ${MODOBJDIR}/pam_radius/libpam_radius.a +STATIC_MODULES+= ${MODOBJDIR}/pam_skey/libpam_skey.a +STATIC_MODULES+= ${MODOBJDIR}/pam_tacplus/libpam_tacplus.a +STATIC_MODULES+= ${MODOBJDIR}/pam_unix/libpam_unix.a + +STATICOBJS+= pam_static_modules.o + +.if ${OBJFORMAT} == elf +CLEANFILES+= setdef0.o _pam_static_modules.o setdef1.o \ + setdef0.c setdef1.c setdefs.h + +pam_static_modules.o: setdef0.o _pam_static_modules.o setdef1.o + ${LD} -o ${.TARGET} -r ${.ALLSRC} + +setdef0.o: setdef0.c setdefs.h +setdef1.o: setdef1.c setdefs.h + +setdef0.c setdef1.c setdefs.h: _pam_static_modules.o + gensetdefs ${.ALLSRC} + +_pam_static_modules.o: ${STATIC_MODULES} + ${LD} -o ${.TARGET} -r --whole-archive ${.ALLSRC} +.else +pam_static_modules.o: ${STATIC_MODULES} + ${LD} -o ${.TARGET} -r -Bforcearchive ${.ALLSRC} +.endif + all: security beforedepend: security diff --git a/lib/libpam/modules/Makefile.inc b/lib/libpam/modules/Makefile.inc deleted file mode 100644 index 2e29371..0000000 --- a/lib/libpam/modules/Makefile.inc +++ /dev/null @@ -1,28 +0,0 @@ -# Copyright 1998 Juniper Networks, Inc. -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE -# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -# SUCH DAMAGE. -# -# $FreeBSD$ - -BINDIR= ${SHLIBDIR} -BINMODE= ${LIBMODE} diff --git a/lib/libpam/modules/pam_cleartext_pass_ok/Makefile b/lib/libpam/modules/pam_cleartext_pass_ok/Makefile index de0cd38..2336ea3 100644 --- a/lib/libpam/modules/pam_cleartext_pass_ok/Makefile +++ b/lib/libpam/modules/pam_cleartext_pass_ok/Makefile @@ -26,13 +26,14 @@ PAMDIR= ${.CURDIR}/../../../../contrib/libpam -PROG= pam_cleartext_pass_ok.so +LIB= pam_cleartext_pass_ok +SHLIB_NAME= pam_cleartext_pass_ok.so SRCS= pam_cleartext_pass_ok.c CFLAGS+= -I${PAMDIR}/libpam/include -CFLAGS+= -fpic CFLAGS+= -Wall -LDFLAGS+= -shared +DPADD+= ${LIBSKEY} LDADD+= -lskey -lgcc_pic -NOMAN= true +INTERNALLIB= yes +INTERNALSTATICLIB=yes -.include <bsd.prog.mk> +.include <bsd.lib.mk> diff --git a/lib/libpam/modules/pam_cleartext_pass_ok/pam_cleartext_pass_ok.c b/lib/libpam/modules/pam_cleartext_pass_ok/pam_cleartext_pass_ok.c index 85874cf..437225c 100644 --- a/lib/libpam/modules/pam_cleartext_pass_ok/pam_cleartext_pass_ok.c +++ b/lib/libpam/modules/pam_cleartext_pass_ok/pam_cleartext_pass_ok.c @@ -63,3 +63,5 @@ pam_sm_setcred(pam_handle_t *pamh, int flags, int argc, const char **argv) { return PAM_SUCCESS; } + +PAM_MODULE_ENTRY("pam_cleartext_pass_ok"); diff --git a/lib/libpam/modules/pam_kerberosIV/Makefile b/lib/libpam/modules/pam_kerberosIV/Makefile index b1f5620..8ab1e6e 100644 --- a/lib/libpam/modules/pam_kerberosIV/Makefile +++ b/lib/libpam/modules/pam_kerberosIV/Makefile @@ -26,17 +26,16 @@ PAMDIR= ${.CURDIR}/../../../../contrib/libpam -PROG= pam_kerberosIV.so +LIB= pam_kerberosIV +SHLIB_NAME= pam_kerberosIV.so SRCS= pam_kerberosIV.c klogin.c -CFLAGS+= -fpic CFLAGS+= -Wall CFLAGS+= -I${PAMDIR}/libpam/include CFLAGS+= -I${.CURDIR}/../../libpam CFLAGS+= -DKERBEROS -LDFLAGS+= -shared -LDFLAGS+= -L../../libpam DPADD+= ${LIBKRB} ${LIBDES} ${LIBGCC_PIC} -LDADD+= -lpam -lkrb -ldes -lgcc_pic -NOMAN= true +LDADD+= -lkrb -ldes -lgcc_pic +INTERNALLIB= yes +INTERNALSTATICLIB=yes -.include <bsd.prog.mk> +.include <bsd.lib.mk> diff --git a/lib/libpam/modules/pam_kerberosIV/pam_kerberosIV.c b/lib/libpam/modules/pam_kerberosIV/pam_kerberosIV.c index f8d3212..403f8d6 100644 --- a/lib/libpam/modules/pam_kerberosIV/pam_kerberosIV.c +++ b/lib/libpam/modules/pam_kerberosIV/pam_kerberosIV.c @@ -104,3 +104,5 @@ pam_sm_setcred(pam_handle_t *pamh, int flags, int argc, const char **argv) { return PAM_SUCCESS; } + +PAM_MODULE_ENTRY("pam_kerberosIV"); diff --git a/lib/libpam/modules/pam_radius/Makefile b/lib/libpam/modules/pam_radius/Makefile index 1bd23f6..23f62ec 100644 --- a/lib/libpam/modules/pam_radius/Makefile +++ b/lib/libpam/modules/pam_radius/Makefile @@ -26,16 +26,15 @@ PAMDIR= ${.CURDIR}/../../../../contrib/libpam -PROG= pam_radius.so +LIB= pam_radius +SHLIB_NAME= pam_radius.so SRCS= pam_radius.c -CFLAGS+= -fpic CFLAGS+= -Wall CFLAGS+= -I${PAMDIR}/libpam/include CFLAGS+= -I${.CURDIR}/../../libpam -LDFLAGS+= -shared -LDFLAGS+= -L../../libpam DPADD+= ${LIBRADIUS} ${LIBGCC_PIC} -LDADD+= -lpam -lradius -lgcc_pic -NOMAN= true +LDADD+= -lradius -lgcc_pic +INTERNALLIB= yes +INTERNALSTATICLIB=yes -.include <bsd.prog.mk> +.include <bsd.lib.mk> diff --git a/lib/libpam/modules/pam_radius/pam_radius.c b/lib/libpam/modules/pam_radius/pam_radius.c index 15ae332..c04d8f2 100644 --- a/lib/libpam/modules/pam_radius/pam_radius.c +++ b/lib/libpam/modules/pam_radius/pam_radius.c @@ -296,3 +296,5 @@ pam_sm_setcred(pam_handle_t *pamh, int flags, int argc, const char **argv) { return PAM_SUCCESS; } + +PAM_MODULE_ENTRY("pam_radius"); diff --git a/lib/libpam/modules/pam_skey/Makefile b/lib/libpam/modules/pam_skey/Makefile index c57f514..bf6af9e 100644 --- a/lib/libpam/modules/pam_skey/Makefile +++ b/lib/libpam/modules/pam_skey/Makefile @@ -26,16 +26,15 @@ PAMDIR= ${.CURDIR}/../../../../contrib/libpam -PROG= pam_skey.so +LIB= pam_skey +SHLIB_NAME= pam_skey.so SRCS= pam_skey.c -CFLAGS+= -fpic CFLAGS+= -Wall CFLAGS+= -I${PAMDIR}/libpam/include CFLAGS+= -I${.CURDIR}/../../libpam -LDFLAGS+= -shared -LDFLAGS+= -L../../libpam DPADD+= ${LIBSKEY} ${LIBGCC_PIC} -LDADD+= -lpam -lskey -lgcc_pic -NOMAN= true +LDADD+= -lskey -lgcc_pic +INTERNALLIB= yes +INTERNALSTATICLIB=yes -.include <bsd.prog.mk> +.include <bsd.lib.mk> diff --git a/lib/libpam/modules/pam_skey/pam_skey.c b/lib/libpam/modules/pam_skey/pam_skey.c index 5baecbd..439591e 100644 --- a/lib/libpam/modules/pam_skey/pam_skey.c +++ b/lib/libpam/modules/pam_skey/pam_skey.c @@ -104,3 +104,5 @@ pam_sm_setcred(pam_handle_t *pamh, int flags, int argc, const char **argv) { return PAM_SUCCESS; } + +PAM_MODULE_ENTRY("pam_skey"); diff --git a/lib/libpam/modules/pam_tacplus/Makefile b/lib/libpam/modules/pam_tacplus/Makefile index b9093b1..6430ca8 100644 --- a/lib/libpam/modules/pam_tacplus/Makefile +++ b/lib/libpam/modules/pam_tacplus/Makefile @@ -26,16 +26,15 @@ PAMDIR= ${.CURDIR}/../../../../contrib/libpam -PROG= pam_tacplus.so +LIB= pam_tacplus +SHLIB_NAME= pam_tacplus.so SRCS= pam_tacplus.c -CFLAGS+= -fpic CFLAGS+= -Wall CFLAGS+= -I${PAMDIR}/libpam/include CFLAGS+= -I${.CURDIR}/../../libpam -LDFLAGS+= -shared -LDFLAGS+= -L../../libpam DPADD+= ${LIBTACPLUS} ${LIBGCC_PIC} -LDADD+= -lpam -ltacplus -lgcc_pic -NOMAN= true +LDADD+= -ltacplus -lgcc_pic +INTERNALLIB= yes +INTERNALSTATICLIB=yes -.include <bsd.prog.mk> +.include <bsd.lib.mk> diff --git a/lib/libpam/modules/pam_tacplus/pam_tacplus.c b/lib/libpam/modules/pam_tacplus/pam_tacplus.c index 0965acf..0820071 100644 --- a/lib/libpam/modules/pam_tacplus/pam_tacplus.c +++ b/lib/libpam/modules/pam_tacplus/pam_tacplus.c @@ -254,3 +254,5 @@ pam_sm_setcred(pam_handle_t *pamh, int flags, int argc, const char **argv) { return PAM_SUCCESS; } + +PAM_MODULE_ENTRY("pam_tacplus"); diff --git a/lib/libpam/modules/pam_unix/Makefile b/lib/libpam/modules/pam_unix/Makefile index e6b0ac2..d3bb689 100644 --- a/lib/libpam/modules/pam_unix/Makefile +++ b/lib/libpam/modules/pam_unix/Makefile @@ -26,16 +26,15 @@ PAMDIR= ${.CURDIR}/../../../../contrib/libpam -PROG= pam_unix.so +LIB= pam_unix +SHLIB_NAME= pam_unix.so SRCS= pam_unix.c -CFLAGS+= -fpic CFLAGS+= -Wall CFLAGS+= -I${PAMDIR}/libpam/include CFLAGS+= -I${.CURDIR}/../../libpam -LDFLAGS+= -shared -LDFLAGS+= -L../../libpam DPADD+= ${LIBGCC_PIC} -LDADD+= -lpam -lgcc_pic -NOMAN= true +LDADD+= -lgcc_pic +INTERNALLIB= yes +INTERNALSTATICLIB=yes -.include <bsd.prog.mk> +.include <bsd.lib.mk> diff --git a/lib/libpam/modules/pam_unix/pam_unix.c b/lib/libpam/modules/pam_unix/pam_unix.c index e100307..f47ea55 100644 --- a/lib/libpam/modules/pam_unix/pam_unix.c +++ b/lib/libpam/modules/pam_unix/pam_unix.c @@ -86,3 +86,5 @@ pam_sm_setcred(pam_handle_t *pamh, int flags, int argc, const char **argv) { return PAM_SUCCESS; } + +PAM_MODULE_ENTRY("pam_unix"); |