[PATCH v2 1/4] chsh-chfn: Add flag for enabling/disabling libuser support.

Cody Maloney
2013-01-13T09:12:55Z

Signed-off-by: Cody Maloney <cmaloney@theoreticalchaos.com>
---
configure.ac | 17 +++++++++++++++++
login-utils/Makemodule.am | 5 +++++
2 files changed, 22 insertions(+)

diff --git a/configure.ac b/configure.ac
index e937736..dd846cb 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1100,6 +1100,23 @@ AS_HELP_STRING([--disable-chsh-only-listed], [chsh: allow shells not in /etc/she
[], enable_chsh_only_listed=yes
)

+AC_ARG_WITH([libuser], AS_HELP_STRING([--without-libuser], [compile without libuser (remote chsh)]),
+ [], with_user=auto
+)
+
+if test "x$with_user" = xno; then
+ AM_CONDITIONAL(HAVE_USER, false)
+else
+ PKG_CHECK_MODULES(LIBUSER,[libuser >= 0.58])
+ UL_CHECK_LIB(user, lu_start)
+ case "$with_user:$have_user" in
+ yes:no)
+ AC_MSG_ERROR([user selected but libuser not found])
+ ;;
+ esac
+fi
+
+
if test "x$enable_chsh_only_listed" = xyes; then
AC_DEFINE(ONLY_LISTED_SHELLS, 1, [Should chsh allow only shells in /etc/shells?])
fi
diff --git a/login-utils/Makemodule.am b/login-utils/Makemodule.am
index aef8177..479b87b 100644
--- a/login-utils/Makemodule.am
+++ b/login-utils/Makemodule.am
@@ -68,6 +68,11 @@ chfn_chsh_cflags = $(SUID_CFLAGS) $(AM_CFLAGS)
chfn_chsh_ldflags = $(SUID_LDFLAGS) $(AM_LDFLAGS)
chfn_chsh_ldadd = libcommon.la -lpam -lpam_misc

+if HAVE_USER
+chfn_chsh_ldflags += $(LIBUSER_LIBS)
+chfn_chsh_cflags += $(LIBUSER_CFLAGS)
+endif
+
if HAVE_SELINUX
chfn_chsh_sources += \
login-utils/selinux_utils.c \
--
1.8.1