diff options
author | des <des@FreeBSD.org> | 2002-01-24 16:16:01 +0000 |
---|---|---|
committer | des <des@FreeBSD.org> | 2002-01-24 16:16:01 +0000 |
commit | 0d0aa3b3893500589f6854a00a2a9596eac47c58 (patch) | |
tree | 75bd43050585fc18889aae1f802b373fbf44a42a /lib | |
parent | aba6f8182e97a45cbd832f99ce9f8b7ce4f2ce40 (diff) | |
download | FreeBSD-src-0d0aa3b3893500589f6854a00a2a9596eac47c58.zip FreeBSD-src-0d0aa3b3893500589f6854a00a2a9596eac47c58.tar.gz |
Correctly interpret PAM_RHOST being unset as an indicator of a local
login.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/libpam/modules/pam_login_access/pam_login_access.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/libpam/modules/pam_login_access/pam_login_access.c b/lib/libpam/modules/pam_login_access/pam_login_access.c index 66b67ca..cf5b9cc 100644 --- a/lib/libpam/modules/pam_login_access/pam_login_access.c +++ b/lib/libpam/modules/pam_login_access/pam_login_access.c @@ -109,16 +109,20 @@ pam_sm_acct_mgmt(pam_handle_t *pamh, int flags, int argc ,const char **argv) gethostname(hostname, sizeof hostname); - if (strcmp(hostname, rhost) == 0) { + if (rhost == NULL) { PAM_LOG("Checking login.access for user %s on tty %s", user, tty); if (login_access(user, tty) != 0) PAM_RETURN(PAM_SUCCESS); + PAM_VERBOSE_ERROR("%s is not allowed to log in on %s", + user, tty); } else { PAM_LOG("Checking login.access for user %s from host %s", user, rhost); if (login_access(user, rhost) != 0) PAM_RETURN(PAM_SUCCESS); + PAM_VERBOSE_ERROR("%s is not allowed to log in from %s", + user, rhost); } PAM_RETURN(PAM_AUTH_ERR); |