summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authordes <des@FreeBSD.org>2002-01-24 16:18:43 +0000
committerdes <des@FreeBSD.org>2002-01-24 16:18:43 +0000
commit37b85e4ec48766ceecedb9ea13b500be919838eb (patch)
treee90986154f6aed219beaf09c237ca4d8a5bf85a6 /lib
parent0d0aa3b3893500589f6854a00a2a9596eac47c58 (diff)
downloadFreeBSD-src-37b85e4ec48766ceecedb9ea13b500be919838eb.zip
FreeBSD-src-37b85e4ec48766ceecedb9ea13b500be919838eb.tar.gz
Correctly interpret PAM_RHOST being unset as an indicator of a local
login. Sponsored by: DARPA, NAI Labs
Diffstat (limited to 'lib')
-rw-r--r--lib/libpam/modules/pam_opieaccess/pam_opieaccess.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/lib/libpam/modules/pam_opieaccess/pam_opieaccess.c b/lib/libpam/modules/pam_opieaccess/pam_opieaccess.c
index 9da6c0e..49d18f5 100644
--- a/lib/libpam/modules/pam_opieaccess/pam_opieaccess.c
+++ b/lib/libpam/modules/pam_opieaccess/pam_opieaccess.c
@@ -78,10 +78,9 @@ pam_sm_authenticate(pam_handle_t *pamh, int flags, int argc, const char **argv)
r = pam_get_item(pamh, PAM_RHOST, (const void **)&rhost);
if (r != PAM_SUCCESS)
PAM_RETURN(r);
- if (rhost == NULL)
- PAM_RETURN(PAM_SERVICE_ERR);
- if (opieaccessfile(rhost) && opiealways(pwent->pw_dir) != 0)
+ if ((rhost == NULL || opieaccessfile(rhost)) &&
+ opiealways(pwent->pw_dir) != 0)
PAM_RETURN(PAM_IGNORE);
PAM_VERBOSE_ERROR("Refused; remote host is not in opieaccess");
OpenPOWER on IntegriCloud