aboutsummaryrefslogtreecommitdiff
path: root/Linux-PAM/modules/pam_access
diff options
context:
space:
mode:
Diffstat (limited to 'Linux-PAM/modules/pam_access')
-rw-r--r--Linux-PAM/modules/pam_access/Makefile.am4
-rw-r--r--Linux-PAM/modules/pam_access/Makefile.in7
-rw-r--r--Linux-PAM/modules/pam_access/pam_access.c16
3 files changed, 14 insertions, 13 deletions
diff --git a/Linux-PAM/modules/pam_access/Makefile.am b/Linux-PAM/modules/pam_access/Makefile.am
index 8641b97c..9b58e81e 100644
--- a/Linux-PAM/modules/pam_access/Makefile.am
+++ b/Linux-PAM/modules/pam_access/Makefile.am
@@ -15,13 +15,13 @@ secureconfdir = $(SCONFIGDIR)
AM_CFLAGS = -I$(top_srcdir)/libpam/include -I$(top_srcdir)/libpamc/include \
-DPAM_ACCESS_CONFIG=\"$(SCONFIGDIR)/access.conf\"
-AM_LDFLAGS = -no-undefined -avoid-version -module \
- -L$(top_builddir)/libpam -lpam @LIBNSL@
+AM_LDFLAGS = -no-undefined -avoid-version -module
if HAVE_VERSIONING
AM_LDFLAGS += -Wl,--version-script=$(srcdir)/../modules.map
endif
securelib_LTLIBRARIES = pam_access.la
+pam_access_la_LIBADD = -L$(top_builddir)/libpam -lpam @LIBNSL@
secureconf_DATA = access.conf
diff --git a/Linux-PAM/modules/pam_access/Makefile.in b/Linux-PAM/modules/pam_access/Makefile.in
index 86303308..9b9febc2 100644
--- a/Linux-PAM/modules/pam_access/Makefile.in
+++ b/Linux-PAM/modules/pam_access/Makefile.in
@@ -65,7 +65,7 @@ am__installdirs = "$(DESTDIR)$(securelibdir)" "$(DESTDIR)$(man5dir)" \
"$(DESTDIR)$(man8dir)" "$(DESTDIR)$(secureconfdir)"
securelibLTLIBRARIES_INSTALL = $(INSTALL)
LTLIBRARIES = $(securelib_LTLIBRARIES)
-pam_access_la_LIBADD =
+pam_access_la_DEPENDENCIES =
pam_access_la_SOURCES = pam_access.c
pam_access_la_OBJECTS = pam_access.lo
DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@
@@ -178,6 +178,7 @@ POSUB = @POSUB@
RANLIB = @RANLIB@
SCONFIGDIR = @SCONFIGDIR@
SECUREDIR = @SECUREDIR@
+SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
@@ -256,9 +257,9 @@ secureconfdir = $(SCONFIGDIR)
AM_CFLAGS = -I$(top_srcdir)/libpam/include -I$(top_srcdir)/libpamc/include \
-DPAM_ACCESS_CONFIG=\"$(SCONFIGDIR)/access.conf\"
-AM_LDFLAGS = -no-undefined -avoid-version -module \
- -L$(top_builddir)/libpam -lpam @LIBNSL@ $(am__append_1)
+AM_LDFLAGS = -no-undefined -avoid-version -module $(am__append_1)
securelib_LTLIBRARIES = pam_access.la
+pam_access_la_LIBADD = -L$(top_builddir)/libpam -lpam @LIBNSL@
secureconf_DATA = access.conf
@ENABLE_REGENERATE_MAN_TRUE@noinst_DATA = README
TESTS = tst-pam_access
diff --git a/Linux-PAM/modules/pam_access/pam_access.c b/Linux-PAM/modules/pam_access/pam_access.c
index 29a1606c..e12bc721 100644
--- a/Linux-PAM/modules/pam_access/pam_access.c
+++ b/Linux-PAM/modules/pam_access/pam_access.c
@@ -153,7 +153,7 @@ parse_args(pam_handle_t *pamh, struct login_info *loginfo,
typedef int match_func (pam_handle_t *, char *, struct login_info *);
-static int list_match (pam_handle_t *, char *, struct login_info *,
+static int list_match (pam_handle_t *, char *, char *, struct login_info *,
match_func *);
static int user_match (pam_handle_t *, char *, struct login_info *);
static int group_match (pam_handle_t *, const char *, const char *);
@@ -376,11 +376,11 @@ login_access (pam_handle_t *pamh, struct login_info *item)
if (pam_access_debug)
pam_syslog (pamh, LOG_DEBUG,
"line %d: %s : %s : %s", lineno, perm, users, froms);
- match = list_match(pamh, froms, item, from_match);
+ match = list_match(pamh, froms, NULL, item, from_match);
if (pam_access_debug)
pam_syslog (pamh, LOG_DEBUG,
"from_match=%d, \"%s\"", match, item->from);
- match = match && list_match (pamh, users, item, user_match);
+ match = match && list_match (pamh, users, NULL, item, user_match);
if (pam_access_debug)
pam_syslog (pamh, LOG_DEBUG, "user_match=%d, \"%s\"",
match, item->user->pw_name);
@@ -400,14 +400,14 @@ login_access (pam_handle_t *pamh, struct login_info *item)
/* list_match - match an item against a list of tokens with exceptions */
-static int list_match(pam_handle_t *pamh,
- char *list, struct login_info *item, match_func *match_fn)
+static int
+list_match(pam_handle_t *pamh, char *list, char *sptr,
+ struct login_info *item, match_func *match_fn)
{
char *tok;
int match = NO;
- char *sptr;
- if (pam_access_debug)
+ if (pam_access_debug && list != NULL)
pam_syslog (pamh, LOG_DEBUG,
"list_match: list=%s, item=%s", list, item->user->pw_name);
@@ -430,7 +430,7 @@ static int list_match(pam_handle_t *pamh,
if (match != NO) {
while ((tok = strtok_r(NULL, sep, &sptr)) && strcasecmp(tok, "EXCEPT"))
/* VOID */ ;
- if (tok == 0 || list_match(pamh, sptr, item, match_fn) == NO)
+ if (tok == 0 || list_match(pamh, NULL, sptr, item, match_fn) == NO)
return (match);
}
return (NO);