summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThorsten Kukuk <kukuk@suse.com>2023-02-14 22:16:01 +0100
committerThorsten Kukuk <5908016+thkukuk@users.noreply.github.com>2023-02-15 10:24:17 +0100
commit357a4ddbe9b4b10ebd805d2af3e32f3ead5b8816 (patch)
tree0d80cc1daac1e0f79e55adddaa99bc9f2da6f758
parent244b46908df930626535c0cd7c2867407fe8714a (diff)
downloadlinux-pam-git-357a4ddbe9b4b10ebd805d2af3e32f3ead5b8816.tar.gz
pam_lastlog: deprecate it and disable by default
pam_lastlog uses utmp, wtmp, btmp and lastlog. None of them is Y2038 safe, even on 64bit architectures. Most 64bit architectures use 32bit time_t for compat reasons with 32bit userland. Additionally, all relevant tools for which pam_lastlog would make sense already have their own support for all four files, so this module will most likely only create duplicate entries. * configure.ac: don't build pam_lastlog by default. * ci/run-build-and-tests.sh: enable pam_lastlog.
-rwxr-xr-xci/run-build-and-tests.sh2
-rw-r--r--configure.ac19
2 files changed, 16 insertions, 5 deletions
diff --git a/ci/run-build-and-tests.sh b/ci/run-build-and-tests.sh
index 66143820..657fd6ff 100755
--- a/ci/run-build-and-tests.sh
+++ b/ci/run-build-and-tests.sh
@@ -5,7 +5,7 @@
#
# SPDX-License-Identifier: GPL-2.0-or-later
-DISTCHECK_CONFIGURE_FLAGS='--disable-dependency-tracking --enable-Werror'
+DISTCHECK_CONFIGURE_FLAGS='--disable-dependency-tracking --enable-Werror --enable-lastlog'
export DISTCHECK_CONFIGURE_FLAGS
case "${TARGET-}" in
diff --git a/configure.ac b/configure.ac
index b595b53a..ad534b39 100644
--- a/configure.ac
+++ b/configure.ac
@@ -605,10 +605,6 @@ AC_CHECK_FUNCS(inet_ntop inet_pton innetgr)
AC_CHECK_FUNCS(quotactl)
AC_CHECK_FUNCS(unshare)
AC_CHECK_FUNCS([ruserok_af ruserok], [break])
-BACKUP_LIBS=$LIBS
-LIBS="$LIBS -lutil"
-AC_CHECK_FUNCS([logwtmp])
-LIBS=$BACKUP_LIBS
AC_ARG_ENABLE([regenerate-docu],
AS_HELP_STRING([--disable-regenerate-docu],[Don't re-build documentation from XML sources]),
@@ -696,6 +692,21 @@ case "$enable_unix" in
*) AC_MSG_ERROR([bad value $enable_unix for --enable-unix option]) ;;
esac
+AC_ARG_ENABLE([lastlog],
+ [AS_HELP_STRING([--enable-lastlog],
+ [do build pam_lastlog module])],
+ [], [enable_lastlog=no])
+case "$enable_lastlog" in
+ yes|check)
+ BACKUP_LIBS=$LIBS
+ LIBS="$LIBS -lutil"
+ AC_CHECK_FUNCS([logwtmp])
+ LIBS=$BACKUP_LIBS
+ ;;
+ no) ;;
+ *) AC_MSG_ERROR([bad value $enable_lastlog for --enable-lastlog option]) ;;
+esac
+
AC_ARG_WITH([misc-conv-bufsize],
AS_HELP_STRING([--with-misc-conv-bufsize=<number>],
[Size of input buffer for libpam_misc's misc_conv() conversation function, default=4096]),