aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDag-Erling Smørgrav <des@FreeBSD.org>2003-02-15 23:26:49 +0000
committerDag-Erling Smørgrav <des@FreeBSD.org>2003-02-15 23:26:49 +0000
commitb645332a81ac93e880703e1d78cb35a92684022e (patch)
tree772f026a4bba6563a3098b6b2431b50aa48782d0
parent1f5a94d5f63f14677ef2a6efb0541438b22085a5 (diff)
Notes
-rw-r--r--lib/libpam/modules/pam_opieaccess/pam_opieaccess.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/lib/libpam/modules/pam_opieaccess/pam_opieaccess.c b/lib/libpam/modules/pam_opieaccess/pam_opieaccess.c
index 67cbfc0203e44..3201dc2a8dedd 100644
--- a/lib/libpam/modules/pam_opieaccess/pam_opieaccess.c
+++ b/lib/libpam/modules/pam_opieaccess/pam_opieaccess.c
@@ -57,7 +57,7 @@ pam_sm_authenticate(pam_handle_t *pamh, int flags __unused,
{
struct opie opie;
struct passwd *pwent;
- char *luser, *rhost;
+ const char *luser, *rhost;
int r;
r = pam_get_item(pamh, PAM_USER, (const void **)&luser);
@@ -73,9 +73,10 @@ pam_sm_authenticate(pam_handle_t *pamh, int flags __unused,
r = pam_get_item(pamh, PAM_RHOST, (const void **)&rhost);
if (r != PAM_SUCCESS)
return (r);
+ if (rhost == NULL)
+ rhost = "localhost";
- if ((rhost == NULL || opieaccessfile(rhost)) &&
- opiealways(pwent->pw_dir) != 0)
+ if (opieaccessfile(rhost) != 0 && opiealways(pwent->pw_dir) != 0)
return (PAM_SUCCESS);
PAM_VERBOSE_ERROR("Refused; remote host is not in opieaccess");