1 From 1a2e6c979118dce5e79604e88c008c7879d1e4e6 Mon Sep 17 00:00:00 2001
2 From: Yousong Zhou <yszhou4tech@gmail.com>
3 Date: Wed, 17 Jun 2015 18:19:23 +0800
4 Subject: [PATCH 2/7] build: ignore pam_rhosts if neither ruserok nor
5 ruserok_af is available.
7 * configure.ac: check for ruserok and ruserok_af
8 * modules/Makefile.am: ignore pam_rhosts/ if it's disabled
9 * modules/pam_rhosts/pam_rhosts.c: include stdlib.h for malloc and free
11 Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
13 configure.ac | 5 ++++-
14 modules/Makefile.am | 11 ++++++++---
15 modules/pam_rhosts/pam_rhosts.c | 1 +
16 3 files changed, 13 insertions(+), 4 deletions(-)
18 diff --git a/configure.ac b/configure.ac
19 index 306b6e2..084071a 100644
22 @@ -534,7 +534,10 @@ AC_CHECK_FUNCS(fseeko getdomainname gethostname gettimeofday lckpwdf mkdir selec
23 AC_CHECK_FUNCS(strcspn strdup strspn strstr strtol uname)
24 AC_CHECK_FUNCS(getutent_r getpwnam_r getpwuid_r getgrnam_r getgrgid_r getspnam_r)
25 AC_CHECK_FUNCS(getgrouplist getline getdelim)
26 -AC_CHECK_FUNCS(inet_ntop inet_pton innetgr ruserok_af)
27 +AC_CHECK_FUNCS(inet_ntop inet_pton innetgr)
28 +AC_CHECK_FUNCS([ruserok_af ruserok], [break])
30 +AM_CONDITIONAL([COND_BUILD_PAM_RHOSTS], [test "$ac_cv_func_ruserok_af" = yes -o "$ac_cv_func_ruserok" = yes])
32 AC_CHECK_FUNCS(unshare, [UNSHARE=yes], [UNSHARE=no])
33 AM_CONDITIONAL([HAVE_UNSHARE], [test "$UNSHARE" = yes])
34 diff --git a/modules/Makefile.am b/modules/Makefile.am
35 index 0c80cea..9ad26a9 100644
36 --- a/modules/Makefile.am
37 +++ b/modules/Makefile.am
39 # Copyright (c) 2005, 2006, 2008 Thorsten Kukuk <kukuk@thkukuk.de>
42 -SUBDIRS = pam_access pam_cracklib pam_debug pam_deny pam_echo \
43 +if COND_BUILD_PAM_RHOSTS
44 + MAYBE_PAM_RHOSTS = pam_rhosts
47 +SUBDIRS := pam_access pam_cracklib pam_debug pam_deny pam_echo \
48 pam_env pam_exec pam_faildelay pam_filter pam_ftp \
49 pam_group pam_issue pam_keyinit pam_lastlog pam_limits \
50 pam_listfile pam_localuser pam_loginuid pam_mail \
51 pam_mkhomedir pam_motd pam_namespace pam_nologin \
52 - pam_permit pam_pwhistory pam_rhosts pam_rootok pam_securetty \
53 + pam_permit pam_pwhistory pam_rootok pam_securetty \
54 pam_selinux pam_sepermit pam_shells pam_stress \
55 pam_succeed_if pam_tally pam_tally2 pam_time pam_timestamp \
56 pam_tty_audit pam_umask \
57 - pam_unix pam_userdb pam_warn pam_wheel pam_xauth
58 + pam_unix pam_userdb pam_warn pam_wheel pam_xauth \
63 diff --git a/modules/pam_rhosts/pam_rhosts.c b/modules/pam_rhosts/pam_rhosts.c
64 index bc9e76f..51ef13e 100644
65 --- a/modules/pam_rhosts/pam_rhosts.c
66 +++ b/modules/pam_rhosts/pam_rhosts.c
74 #define PAM_SM_AUTH /* only defines this management group */