From: Russ Allbery Date: Thu, 11 Aug 2005 07:58:44 +0000 (+0000) Subject: * Rework how PAM modules are handled. X-Git-Tag: debian/1.3.87-1~8 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=ba2da4cd2124c408e5f0424ba4ea516c6b454f09;p=packages%2Fo%2Fopenafs.git * Rework how PAM modules are handled. - Build against the pthread-aware libraries. (Closes: #297804) - Use the shared library objects instead of building separate PIC objects, eliminating the need for many Makefile modifications. - Include pam_afs.krb.so as well. (Closes: #165972) This is still a work in progress, but I want to get it into the repository as a checkpoint since everything seems to work. Remaining to be done is the cleanup of the old Makefile rules to build the pic directory, which should no longer be needed. Tested with unstable ssh-krb5 and login so far, with no problems. --- diff --git a/Makefile.in b/Makefile.in index ec497a8b8..78be341c2 100644 --- a/Makefile.in +++ b/Makefile.in @@ -507,8 +507,6 @@ libafsauthent: ubik auth kauth libafsrpc # pthread based user space RX library shlibafsrpc: rx rxkad des case ${SYS_NAME} in \ - *linux*) \ - echo Skipping shared libraries due to unstable API ;; \ alpha_dux*|sgi_*|sun4x_*|sunx86_*|rs_aix*|*linux*|hp_ux11*|ia64_hpux*) \ ${COMPILE_PART1} shlibafsrpc ${COMPILE_PART2} ;; \ *) \ @@ -517,8 +515,6 @@ shlibafsrpc: rx rxkad des shlibafsauthent: ubik auth kauth shlibafsrpc case ${SYS_NAME} in \ - *linux*) \ - echo Skipping shared libraries due to unstable API ;; \ alpha_dux*|sgi_*|sun4x_*|sunx86_*|rs_aix*|*linux*|hp_ux11*|ia64_hpux*) \ ${COMPILE_PART1} shlibafsauthent ${COMPILE_PART2} ;; \ *) \ diff --git a/aclocal.m4 b/aclocal.m4 index 744646066..0633a46c3 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -3314,6 +3314,7 @@ case $AFS_SYSNAME in MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}' MT_LIBS="-lpthread" PAM_CFLAGS="-g -O2 -Dlinux -DLINUX_PAM -fPIC" + SHLIB_CFLAGS="-fPIC" SHLIB_LDFLAGS="-shared -Xlinker -x" TXLIBS="-lncurses" XCFLAGS="-g -O2 -D_LARGEFILE64_SOURCE -G0" @@ -3341,6 +3342,7 @@ case $AFS_SYSNAME in MT_LIBS="-lpthread" PAM_CFLAGS="-g -O2 -Dlinux -DLINUX_PAM -fPIC" SHLIB_LDFLAGS="-shared -Xlinker -x" + SHLIB_CFLAGS="-fPIC" TXLIBS="/usr/lib64/libncurses.so" XCFLAGS="-g -O2 -D_LARGEFILE64_SOURCE" SHLIB_LINKER="${MT_CC} -shared" @@ -3369,6 +3371,7 @@ case $AFS_SYSNAME in MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}' MT_LIBS="-lpthread" PAM_CFLAGS="-O2 -Dlinux -DLINUX_PAM -fPIC" + SHLIB_CFLAGS="-fPIC" SHLIB_LDFLAGS="-shared -Xlinker -x" TXLIBS="-lncurses" XCFLAGS="-O2 -D_LARGEFILE64_SOURCE" @@ -3390,6 +3393,7 @@ case $AFS_SYSNAME in LWP_OPTMZ=-O2 OPTMZ=-O2 PAM_CFLAGS="-g -O2 -Dlinux -DLINUX_PAM -fPIC" + SHLIB_CFLAGS="-fPIC" SHLIB_LDFLAGS="-shared -Xlinker -x" TXLIBS="-lncurses" XCFLAGS="-g -O2 -D_LARGEFILE64_SOURCE" @@ -3410,6 +3414,7 @@ case $AFS_SYSNAME in LWP_OPTMZ=-O2 OPTMZ=-O2 PAM_CFLAGS="-g -O2 -Dlinux -DLINUX_PAM -fPIC" + SHLIB_CFLAGS="-fPIC" SHLIB_LDFLAGS="-shared -Xlinker -x" TXLIBS="-lncurses" XCFLAGS="-g -O2 -D_LARGEFILE64_SOURCE" @@ -3430,6 +3435,7 @@ case $AFS_SYSNAME in LWP_OPTMZ=-O2 OPTMZ=-O2 PAM_CFLAGS="-g -O2 -Dlinux -DLINUX_PAM -fPIC" + SHLIB_CFLAGS="-fPIC" SHLIB_LDFLAGS="-shared -Xlinker -x" TXLIBS="-lncurses" XCFLAGS="-g -O2 -D_LARGEFILE64_SOURCE" @@ -3454,6 +3460,7 @@ case $AFS_SYSNAME in MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}' MT_LIBS="-lpthread" PAM_CFLAGS="-O2 -Dlinux -DLINUX_PAM -fPIC" + SHLIB_CFLAGS="-fPIC" SHLIB_LDFLAGS="-shared -Xlinker -x" TXLIBS="-lncurses" XCFLAGS="-O2 -D_LARGEFILE64_SOURCE" @@ -3525,6 +3532,7 @@ case $AFS_SYSNAME in MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}' MT_LIBS="-lpthread" PAM_CFLAGS="-O2 -Dlinux -DLINUX_PAM -fPIC" + SHLIB_CFLAGS="-fPIC" SHLIB_LDFLAGS="-shared -Xlinker -x" TXLIBS="-lncurses" XCFLAGS="-O2 -D_LARGEFILE64_SOURCE" @@ -3603,6 +3611,7 @@ case $AFS_SYSNAME in MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}' MT_LIBS="-lpthread" PAM_CFLAGS="-O -Dlinux -DLINUX_PAM -fPIC" + SHLIB_CFLAGS="-fPIC" SHLIB_LDFLAGS="-shared -Xlinker -x" TXLIBS="-lncurses" XCFLAGS="-O -g -D_LARGEFILE64_SOURCE" @@ -3620,6 +3629,7 @@ case $AFS_SYSNAME in MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}' MT_LIBS="-lpthread" PAM_CFLAGS="-O -Dlinux -DLINUX_PAM -fPIC" + SHLIB_CFLAGS="-fPIC" SHLIB_LDFLAGS="-shared -Xlinker -x" TXLIBS="-lncurses" XCFLAGS="-O -g -D_LARGEFILE64_SOURCE" @@ -3637,6 +3647,7 @@ case $AFS_SYSNAME in MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}' MT_LIBS="-lpthread" PAM_CFLAGS="-O -Dlinux -DLINUX_PAM -fPIC" + SHLIB_CFLAGS="-fPIC" SHLIB_LDFLAGS="-shared -Xlinker -x -Xlinker -Bsymbolic" TXLIBS="-lncurses" XCFLAGS="-O -g -D_LARGEFILE64_SOURCE -D__s390x__" @@ -3712,6 +3723,7 @@ case $AFS_SYSNAME in MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}' MT_LIBS="-lpthread" PAM_CFLAGS="-O2 -Dlinux -DLINUX_PAM -fPIC" + SHLIB_CFLAGS="-fPIC" SHLIB_LDFLAGS="-shared -Xlinker -x" TXLIBS="-lncurses" XCFLAGS="-O2 -D_LARGEFILE64_SOURCE" diff --git a/configure b/configure index ec9d2d876..05d749aac 100755 --- a/configure +++ b/configure @@ -7058,6 +7058,7 @@ case $AFS_SYSNAME in MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}' MT_LIBS="-lpthread" PAM_CFLAGS="-g -O2 -Dlinux -DLINUX_PAM -fPIC" + SHLIB_CFLAGS="-fPIC" SHLIB_LDFLAGS="-shared -Xlinker -x" TXLIBS="-lncurses" XCFLAGS="-g -O2 -D_LARGEFILE64_SOURCE -G0" @@ -7085,6 +7086,7 @@ case $AFS_SYSNAME in MT_LIBS="-lpthread" PAM_CFLAGS="-g -O2 -Dlinux -DLINUX_PAM -fPIC" SHLIB_LDFLAGS="-shared -Xlinker -x" + SHLIB_CFLAGS="-fPIC" TXLIBS="/usr/lib64/libncurses.so" XCFLAGS="-g -O2 -D_LARGEFILE64_SOURCE" SHLIB_LINKER="${MT_CC} -shared" @@ -7113,6 +7115,7 @@ case $AFS_SYSNAME in MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}' MT_LIBS="-lpthread" PAM_CFLAGS="-O2 -Dlinux -DLINUX_PAM -fPIC" + SHLIB_CFLAGS="-fPIC" SHLIB_LDFLAGS="-shared -Xlinker -x" TXLIBS="-lncurses" XCFLAGS="-O2 -D_LARGEFILE64_SOURCE" @@ -7134,6 +7137,7 @@ case $AFS_SYSNAME in LWP_OPTMZ=-O2 OPTMZ=-O2 PAM_CFLAGS="-g -O2 -Dlinux -DLINUX_PAM -fPIC" + SHLIB_CFLAGS="-fPIC" SHLIB_LDFLAGS="-shared -Xlinker -x" TXLIBS="-lncurses" XCFLAGS="-g -O2 -D_LARGEFILE64_SOURCE" @@ -7154,6 +7158,7 @@ case $AFS_SYSNAME in LWP_OPTMZ=-O2 OPTMZ=-O2 PAM_CFLAGS="-g -O2 -Dlinux -DLINUX_PAM -fPIC" + SHLIB_CFLAGS="-fPIC" SHLIB_LDFLAGS="-shared -Xlinker -x" TXLIBS="-lncurses" XCFLAGS="-g -O2 -D_LARGEFILE64_SOURCE" @@ -7174,6 +7179,7 @@ case $AFS_SYSNAME in LWP_OPTMZ=-O2 OPTMZ=-O2 PAM_CFLAGS="-g -O2 -Dlinux -DLINUX_PAM -fPIC" + SHLIB_CFLAGS="-fPIC" SHLIB_LDFLAGS="-shared -Xlinker -x" TXLIBS="-lncurses" XCFLAGS="-g -O2 -D_LARGEFILE64_SOURCE" @@ -7198,6 +7204,7 @@ case $AFS_SYSNAME in MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}' MT_LIBS="-lpthread" PAM_CFLAGS="-O2 -Dlinux -DLINUX_PAM -fPIC" + SHLIB_CFLAGS="-fPIC" SHLIB_LDFLAGS="-shared -Xlinker -x" TXLIBS="-lncurses" XCFLAGS="-O2 -D_LARGEFILE64_SOURCE" @@ -7269,6 +7276,7 @@ case $AFS_SYSNAME in MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}' MT_LIBS="-lpthread" PAM_CFLAGS="-O2 -Dlinux -DLINUX_PAM -fPIC" + SHLIB_CFLAGS="-fPIC" SHLIB_LDFLAGS="-shared -Xlinker -x" TXLIBS="-lncurses" XCFLAGS="-O2 -D_LARGEFILE64_SOURCE" @@ -7347,6 +7355,7 @@ case $AFS_SYSNAME in MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}' MT_LIBS="-lpthread" PAM_CFLAGS="-O -Dlinux -DLINUX_PAM -fPIC" + SHLIB_CFLAGS="-fPIC" SHLIB_LDFLAGS="-shared -Xlinker -x" TXLIBS="-lncurses" XCFLAGS="-O -g -D_LARGEFILE64_SOURCE" @@ -7364,6 +7373,7 @@ case $AFS_SYSNAME in MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}' MT_LIBS="-lpthread" PAM_CFLAGS="-O -Dlinux -DLINUX_PAM -fPIC" + SHLIB_CFLAGS="-fPIC" SHLIB_LDFLAGS="-shared -Xlinker -x" TXLIBS="-lncurses" XCFLAGS="-O -g -D_LARGEFILE64_SOURCE" @@ -7381,6 +7391,7 @@ case $AFS_SYSNAME in MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}' MT_LIBS="-lpthread" PAM_CFLAGS="-O -Dlinux -DLINUX_PAM -fPIC" + SHLIB_CFLAGS="-fPIC" SHLIB_LDFLAGS="-shared -Xlinker -x -Xlinker -Bsymbolic" TXLIBS="-lncurses" XCFLAGS="-O -g -D_LARGEFILE64_SOURCE -D__s390x__" @@ -7456,6 +7467,7 @@ case $AFS_SYSNAME in MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}' MT_LIBS="-lpthread" PAM_CFLAGS="-O2 -Dlinux -DLINUX_PAM -fPIC" + SHLIB_CFLAGS="-fPIC" SHLIB_LDFLAGS="-shared -Xlinker -x" TXLIBS="-lncurses" XCFLAGS="-O2 -D_LARGEFILE64_SOURCE" diff --git a/configure-libafs b/configure-libafs index d37a70370..0b2d6526b 100755 --- a/configure-libafs +++ b/configure-libafs @@ -7058,6 +7058,7 @@ case $AFS_SYSNAME in MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}' MT_LIBS="-lpthread" PAM_CFLAGS="-g -O2 -Dlinux -DLINUX_PAM -fPIC" + SHLIB_CFLAGS="-fPIC" SHLIB_LDFLAGS="-shared -Xlinker -x" TXLIBS="-lncurses" XCFLAGS="-g -O2 -D_LARGEFILE64_SOURCE -G0" @@ -7085,6 +7086,7 @@ case $AFS_SYSNAME in MT_LIBS="-lpthread" PAM_CFLAGS="-g -O2 -Dlinux -DLINUX_PAM -fPIC" SHLIB_LDFLAGS="-shared -Xlinker -x" + SHLIB_CFLAGS="-fPIC" TXLIBS="/usr/lib64/libncurses.so" XCFLAGS="-g -O2 -D_LARGEFILE64_SOURCE" SHLIB_LINKER="${MT_CC} -shared" @@ -7113,6 +7115,7 @@ case $AFS_SYSNAME in MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}' MT_LIBS="-lpthread" PAM_CFLAGS="-O2 -Dlinux -DLINUX_PAM -fPIC" + SHLIB_CFLAGS="-fPIC" SHLIB_LDFLAGS="-shared -Xlinker -x" TXLIBS="-lncurses" XCFLAGS="-O2 -D_LARGEFILE64_SOURCE" @@ -7134,6 +7137,7 @@ case $AFS_SYSNAME in LWP_OPTMZ=-O2 OPTMZ=-O2 PAM_CFLAGS="-g -O2 -Dlinux -DLINUX_PAM -fPIC" + SHLIB_CFLAGS="-fPIC" SHLIB_LDFLAGS="-shared -Xlinker -x" TXLIBS="-lncurses" XCFLAGS="-g -O2 -D_LARGEFILE64_SOURCE" @@ -7154,6 +7158,7 @@ case $AFS_SYSNAME in LWP_OPTMZ=-O2 OPTMZ=-O2 PAM_CFLAGS="-g -O2 -Dlinux -DLINUX_PAM -fPIC" + SHLIB_CFLAGS="-fPIC" SHLIB_LDFLAGS="-shared -Xlinker -x" TXLIBS="-lncurses" XCFLAGS="-g -O2 -D_LARGEFILE64_SOURCE" @@ -7174,6 +7179,7 @@ case $AFS_SYSNAME in LWP_OPTMZ=-O2 OPTMZ=-O2 PAM_CFLAGS="-g -O2 -Dlinux -DLINUX_PAM -fPIC" + SHLIB_CFLAGS="-fPIC" SHLIB_LDFLAGS="-shared -Xlinker -x" TXLIBS="-lncurses" XCFLAGS="-g -O2 -D_LARGEFILE64_SOURCE" @@ -7198,6 +7204,7 @@ case $AFS_SYSNAME in MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}' MT_LIBS="-lpthread" PAM_CFLAGS="-O2 -Dlinux -DLINUX_PAM -fPIC" + SHLIB_CFLAGS="-fPIC" SHLIB_LDFLAGS="-shared -Xlinker -x" TXLIBS="-lncurses" XCFLAGS="-O2 -D_LARGEFILE64_SOURCE" @@ -7269,6 +7276,7 @@ case $AFS_SYSNAME in MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}' MT_LIBS="-lpthread" PAM_CFLAGS="-O2 -Dlinux -DLINUX_PAM -fPIC" + SHLIB_CFLAGS="-fPIC" SHLIB_LDFLAGS="-shared -Xlinker -x" TXLIBS="-lncurses" XCFLAGS="-O2 -D_LARGEFILE64_SOURCE" @@ -7347,6 +7355,7 @@ case $AFS_SYSNAME in MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}' MT_LIBS="-lpthread" PAM_CFLAGS="-O -Dlinux -DLINUX_PAM -fPIC" + SHLIB_CFLAGS="-fPIC" SHLIB_LDFLAGS="-shared -Xlinker -x" TXLIBS="-lncurses" XCFLAGS="-O -g -D_LARGEFILE64_SOURCE" @@ -7364,6 +7373,7 @@ case $AFS_SYSNAME in MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}' MT_LIBS="-lpthread" PAM_CFLAGS="-O -Dlinux -DLINUX_PAM -fPIC" + SHLIB_CFLAGS="-fPIC" SHLIB_LDFLAGS="-shared -Xlinker -x" TXLIBS="-lncurses" XCFLAGS="-O -g -D_LARGEFILE64_SOURCE" @@ -7381,6 +7391,7 @@ case $AFS_SYSNAME in MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}' MT_LIBS="-lpthread" PAM_CFLAGS="-O -Dlinux -DLINUX_PAM -fPIC" + SHLIB_CFLAGS="-fPIC" SHLIB_LDFLAGS="-shared -Xlinker -x -Xlinker -Bsymbolic" TXLIBS="-lncurses" XCFLAGS="-O -g -D_LARGEFILE64_SOURCE -D__s390x__" @@ -7456,6 +7467,7 @@ case $AFS_SYSNAME in MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}' MT_LIBS="-lpthread" PAM_CFLAGS="-O2 -Dlinux -DLINUX_PAM -fPIC" + SHLIB_CFLAGS="-fPIC" SHLIB_LDFLAGS="-shared -Xlinker -x" TXLIBS="-lncurses" XCFLAGS="-O2 -D_LARGEFILE64_SOURCE" diff --git a/debian/changelog b/debian/changelog index 78eda0c01..7df6e608c 100644 --- a/debian/changelog +++ b/debian/changelog @@ -21,6 +21,11 @@ openafs (1.3.87-1) unstable; urgency=low they occur normally when doing the regular package build and are just confusing. Instead, print an error in kern-sysname and abort if the kernel version could not be determined. + * Rework how PAM modules are handled. + - Build against the pthread-aware libraries. (Closes: #297804) + - Use the shared library objects instead of building separate PIC + objects, eliminating the need for many Makefile modifications. + - Include pam_afs.krb.so as well. (Closes: #165972) * Don't include the empty /usr/src/modules directory in openafs-modules-source, only the tarball, to match how other kernel module source packages behave. (Closes: #244685) @@ -30,7 +35,7 @@ openafs (1.3.87-1) unstable; urgency=low - Vietnamese, thanks Clytie Siddall. (Closes: #319705) - Czech, thanks Martin Sin. (Closes: #319940) - -- Russ Allbery Wed, 10 Aug 2005 19:39:37 -0700 + -- openafs (1.3.82-2) unstable; urgency=low diff --git a/debian/rules b/debian/rules index 7eafa9b6b..00537fc48 100755 --- a/debian/rules +++ b/debian/rules @@ -112,6 +112,8 @@ install: build debian/openafs-client/usr/bin/pagsh.openafs install -m 644 -c dest/lib/pam_afs.so.1 \ debian/libpam-openafs-kaserver/lib/security/pam_afs.so + install -m 644 -c dest/lib/pam_afs.krb.so.1 \ + debian/libpam-openafs-kaserver/lib/security/pam_afs.krb.so install -m 644 -c debian/CellServDB \ debian/openafs-client/usr/share/openafs install -m 644 -c debian/afs.conf \ diff --git a/src/cf/osconf.m4 b/src/cf/osconf.m4 index fd21ff4b2..003cbd51d 100644 --- a/src/cf/osconf.m4 +++ b/src/cf/osconf.m4 @@ -241,6 +241,7 @@ case $AFS_SYSNAME in MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}' MT_LIBS="-lpthread" PAM_CFLAGS="-g -O2 -Dlinux -DLINUX_PAM -fPIC" + SHLIB_CFLAGS="-fPIC" SHLIB_LDFLAGS="-shared -Xlinker -x" TXLIBS="-lncurses" XCFLAGS="-g -O2 -D_LARGEFILE64_SOURCE -G0" @@ -268,6 +269,7 @@ case $AFS_SYSNAME in MT_LIBS="-lpthread" PAM_CFLAGS="-g -O2 -Dlinux -DLINUX_PAM -fPIC" SHLIB_LDFLAGS="-shared -Xlinker -x" + SHLIB_CFLAGS="-fPIC" TXLIBS="/usr/lib64/libncurses.so" XCFLAGS="-g -O2 -D_LARGEFILE64_SOURCE" SHLIB_LINKER="${MT_CC} -shared" @@ -296,6 +298,7 @@ case $AFS_SYSNAME in MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}' MT_LIBS="-lpthread" PAM_CFLAGS="-O2 -Dlinux -DLINUX_PAM -fPIC" + SHLIB_CFLAGS="-fPIC" SHLIB_LDFLAGS="-shared -Xlinker -x" TXLIBS="-lncurses" XCFLAGS="-O2 -D_LARGEFILE64_SOURCE" @@ -317,6 +320,7 @@ case $AFS_SYSNAME in LWP_OPTMZ=-O2 OPTMZ=-O2 PAM_CFLAGS="-g -O2 -Dlinux -DLINUX_PAM -fPIC" + SHLIB_CFLAGS="-fPIC" SHLIB_LDFLAGS="-shared -Xlinker -x" TXLIBS="-lncurses" XCFLAGS="-g -O2 -D_LARGEFILE64_SOURCE" @@ -337,6 +341,7 @@ case $AFS_SYSNAME in LWP_OPTMZ=-O2 OPTMZ=-O2 PAM_CFLAGS="-g -O2 -Dlinux -DLINUX_PAM -fPIC" + SHLIB_CFLAGS="-fPIC" SHLIB_LDFLAGS="-shared -Xlinker -x" TXLIBS="-lncurses" XCFLAGS="-g -O2 -D_LARGEFILE64_SOURCE" @@ -357,6 +362,7 @@ case $AFS_SYSNAME in LWP_OPTMZ=-O2 OPTMZ=-O2 PAM_CFLAGS="-g -O2 -Dlinux -DLINUX_PAM -fPIC" + SHLIB_CFLAGS="-fPIC" SHLIB_LDFLAGS="-shared -Xlinker -x" TXLIBS="-lncurses" XCFLAGS="-g -O2 -D_LARGEFILE64_SOURCE" @@ -381,6 +387,7 @@ case $AFS_SYSNAME in MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}' MT_LIBS="-lpthread" PAM_CFLAGS="-O2 -Dlinux -DLINUX_PAM -fPIC" + SHLIB_CFLAGS="-fPIC" SHLIB_LDFLAGS="-shared -Xlinker -x" TXLIBS="-lncurses" XCFLAGS="-O2 -D_LARGEFILE64_SOURCE" @@ -452,6 +459,7 @@ case $AFS_SYSNAME in MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}' MT_LIBS="-lpthread" PAM_CFLAGS="-O2 -Dlinux -DLINUX_PAM -fPIC" + SHLIB_CFLAGS="-fPIC" SHLIB_LDFLAGS="-shared -Xlinker -x" TXLIBS="-lncurses" XCFLAGS="-O2 -D_LARGEFILE64_SOURCE" @@ -530,6 +538,7 @@ case $AFS_SYSNAME in MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}' MT_LIBS="-lpthread" PAM_CFLAGS="-O -Dlinux -DLINUX_PAM -fPIC" + SHLIB_CFLAGS="-fPIC" SHLIB_LDFLAGS="-shared -Xlinker -x" TXLIBS="-lncurses" XCFLAGS="-O -g -D_LARGEFILE64_SOURCE" @@ -547,6 +556,7 @@ case $AFS_SYSNAME in MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}' MT_LIBS="-lpthread" PAM_CFLAGS="-O -Dlinux -DLINUX_PAM -fPIC" + SHLIB_CFLAGS="-fPIC" SHLIB_LDFLAGS="-shared -Xlinker -x" TXLIBS="-lncurses" XCFLAGS="-O -g -D_LARGEFILE64_SOURCE" @@ -564,6 +574,7 @@ case $AFS_SYSNAME in MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}' MT_LIBS="-lpthread" PAM_CFLAGS="-O -Dlinux -DLINUX_PAM -fPIC" + SHLIB_CFLAGS="-fPIC" SHLIB_LDFLAGS="-shared -Xlinker -x -Xlinker -Bsymbolic" TXLIBS="-lncurses" XCFLAGS="-O -g -D_LARGEFILE64_SOURCE -D__s390x__" @@ -639,6 +650,7 @@ case $AFS_SYSNAME in MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}' MT_LIBS="-lpthread" PAM_CFLAGS="-O2 -Dlinux -DLINUX_PAM -fPIC" + SHLIB_CFLAGS="-fPIC" SHLIB_LDFLAGS="-shared -Xlinker -x" TXLIBS="-lncurses" XCFLAGS="-O2 -D_LARGEFILE64_SOURCE" diff --git a/src/pam/Makefile.in b/src/pam/Makefile.in index 212bc4603..883e1f97b 100644 --- a/src/pam/Makefile.in +++ b/src/pam/Makefile.in @@ -25,28 +25,31 @@ LDFLAGS = ${SHLIB_LDFLAGS} afs_pam_msg.o afs_message.o AFS_component_version_number.o OBJS = $(SHOBJS) test_pam.o INCLUDES=-I${TOP_OBJDIR}/src/config -I${TOP_INCDIR} -CFLAGS = ${DEBUG} ${INCLUDES} ${PAM_CFLAGS} +CFLAGS = ${DEBUG} ${INCLUDES} ${PAM_CFLAGS} ${MT_CFLAGS} -all: test_pam ${TOP_LIBDIR}/pam_afs.so.1 +all: test_pam ${TOP_LIBDIR}/pam_afs.so.1 ${TOP_LIBDIR}/pam_afs.krb.so.1 afs_setcred.o: afs_setcred.c afs_pam_msg.h afs_message.h afs_util.h - ${CC} ${CFLAGS} $(PAM_CFLAGS) -c ${srcdir}/afs_setcred.c -o afs_setcred.o + ${CC} ${CFLAGS} -c ${srcdir}/afs_setcred.c -o afs_setcred.o afs_setcred_krb.o: afs_setcred.c afs_pam_msg.h afs_message.h afs_util.h - ${CC} ${CFLAGS} $(PAM_CFLAGS) -DAFS_KERBEROS_ENV -c ${srcdir}/afs_setcred.c -o afs_setcred_krb.o + ${CC} ${CFLAGS} -DAFS_KERBEROS_ENV -c ${srcdir}/afs_setcred.c -o afs_setcred_krb.o afs_auth.o: afs_auth.c afs_pam_msg.h afs_message.h afs_util.h - ${CC} ${CFLAGS} $(PAM_CFLAGS) -c ${srcdir}/afs_auth.c -o afs_auth.o + ${CC} ${CFLAGS} -c ${srcdir}/afs_auth.c -o afs_auth.o afs_auth_krb.o: afs_auth.c afs_pam_msg.h afs_message.h afs_util.h - ${CC} ${CFLAGS} $(PAM_CFLAGS) -DAFS_KERBEROS_ENV -c ${srcdir}/afs_auth.c -o afs_auth_krb.o + ${CC} ${CFLAGS} -DAFS_KERBEROS_ENV -c ${srcdir}/afs_auth.c -o afs_auth_krb.o afs_util.o: afs_util.c afs_pam_msg.h afs_message.h afs_util.h - ${CC} ${CFLAGS} $(PAM_CFLAGS) -c ${srcdir}/afs_util.c -o afs_util.o + ${CC} ${CFLAGS} -c ${srcdir}/afs_util.c -o afs_util.o afs_util_krb.o: afs_util.c afs_pam_msg.h afs_message.h afs_util.h - ${CC} ${CFLAGS} $(PAM_CFLAGS) -DAFS_KERBEROS_ENV -c ${srcdir}/afs_util.c -o afs_util_krb.o + ${CC} ${CFLAGS} -DAFS_KERBEROS_ENV -c ${srcdir}/afs_util.c -o afs_util_krb.o + +ktc.o: ${srcdir}/../auth/ktc.c + ${CC} ${CFLAGS} -DAFS_KERBEROS_ENV -c ${srcdir}/../auth/ktc.c pam_afs.so.1: $(SHOBJS) afs_setcred.o afs_auth.o afs_util.o set -x; \ @@ -61,7 +64,9 @@ pam_afs.so.1: $(SHOBJS) afs_setcred.o afs_auth.o afs_util.o $(SHOBJS) $(LIBS) ;; \ *linux*) \ $(CC) $(LDFLAGS) $(PAM_CFLAGS) -o $@ afs_setcred.o \ - afs_auth.o afs_util.o $(SHOBJS) `find ../pic/ -name "*.o" | grep -v AFS_compo` -lpam -lresolv;;\ + afs_auth.o afs_util.o $(SHOBJS) \ + ../shlibafsauthent/[a-z]*.o ../shlibafsrpc/[a-z]*.o \ + $(MT_LIBS) -lpam -lresolv;;\ *fbsd*| *nbsd*) \ $(CC) $(LDFLAGS) -o $@ afs_setcred.o \ afs_auth.o afs_util.o $(SHOBJS) $(LIBS) ;;\ @@ -69,7 +74,7 @@ pam_afs.so.1: $(SHOBJS) afs_setcred.o afs_auth.o afs_util.o echo No link line for system $(SYS_NAME). ;; \ esac -pam_afs.krb.so.1: $(SHOBJS) afs_setcred_krb.o afs_auth_krb.o afs_util_krb.o +pam_afs.krb.so.1: $(SHOBJS) afs_setcred_krb.o afs_auth_krb.o afs_util_krb.o ktc.o set -x; \ case "$(SYS_NAME)" in \ hp_ux* | ia64_hpux*) \ @@ -82,7 +87,10 @@ pam_afs.krb.so.1: $(SHOBJS) afs_setcred_krb.o afs_auth_krb.o afs_util_krb.o $(SHOBJS) $(LDFLAGS) $(KLIBS) ;; \ *linux*) \ $(CC) $(LDFLAGS) -o $@ afs_setcred_krb.o \ - afs_auth_krb.o afs_util_krb.o $(SHOBJS) $(KLIBS) ;;\ + afs_auth_krb.o afs_util_krb.o ktc.o $(SHOBJS) \ + `echo ../shlibafsauthent/[a-z]*.o | grep -v ktc.o` \ + ../shlibafsrpc/[a-z]*.o \ + $(MT_LIBS) -lpam -lresolv;;\ *fbsd*| *nbsd*) \ $(CC) $(LDFLAGS) -o $@ afs_setcred_krb.o \ afs_auth_krb.o afs_util_krb.o $(SHOBJS) $(KLIBS) ;;\ @@ -154,5 +162,5 @@ ${TOP_LIBDIR}/pam_afs.krb.so.1: pam_afs.krb.so.1 ${INSTALL} $? $@ ;; \ esac -dest: ${DEST}/lib/pam_afs.so.1 +dest: ${DEST}/lib/pam_afs.so.1 ${DEST}/lib/pam_afs.krb.so.1 diff --git a/src/pam/afs_auth.c b/src/pam/afs_auth.c index 78ed0ca0f..b32c6ff18 100644 --- a/src/pam/afs_auth.c +++ b/src/pam/afs_auth.c @@ -314,6 +314,10 @@ pam_sm_authenticate(pam_handle_t * pamh, int flags, int argc, if (cpid <= 0) { /* The child process */ if (logmask && LOG_MASK(LOG_DEBUG)) syslog(LOG_DEBUG, "in child"); + if ((code = rx_Init(0)) != 0) { + pam_afs_syslog(LOG_ERR, PAMAFS_KAERROR, code); + exit(0); + } if (refresh_token || set_token) code = ka_UserAuthenticateGeneral(KA_USERAUTH_VERSION, user, /* kerberos name */ NULL, /* instance */ @@ -363,6 +367,10 @@ pam_sm_authenticate(pam_handle_t * pamh, int flags, int argc, pam_afs_syslog(LOG_ERR, PAMAFS_PAMERROR, errno); } } else { /* dont_fork, used by httpd */ + if ((code = rx_Init(0)) != 0) { + pam_afs_syslog(LOG_ERR, PAMAFS_KAERROR, code); + RET(PAM_AUTH_ERR); + } if (logmask && LOG_MASK(LOG_DEBUG)) syslog(LOG_DEBUG, "dont_fork"); if (refresh_token || set_token) diff --git a/src/pam/afs_setcred.c b/src/pam/afs_setcred.c index d6830fc05..f6a26007a 100644 --- a/src/pam/afs_setcred.c +++ b/src/pam/afs_setcred.c @@ -281,6 +281,11 @@ pam_sm_setcred(pam_handle_t * pamh, int flags, int argc, const char **argv) #endif } + if ((code = rx_Init(0)) != 0) { + pam_afs_syslog(LOG_ERR, PAMAFS_KAERROR, code); + RET(PAM_AUTH_ERR); + } + if (flags & PAM_REFRESH_CRED) { if (use_klog) { auth_ok = !do_klog(user, password, "00:00:01", cell_ptr);