diff options
author | Sergey Poznyakoff <gray@gnu.org.ua> | 2011-08-31 07:34:59 +0000 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org.ua> | 2011-08-31 07:34:59 +0000 |
commit | 9a1b32df22e491c0d1361804556a5f7b86d7dace (patch) | |
tree | 0978813ff39c231d16328c2db811887a879e9d69 /pam_fshadow/pam_fshadow.c | |
parent | fc8faec0f7186283a053f0f70d24c1047eba22fa (diff) | |
download | pam-modules-9a1b32df22e491c0d1361804556a5f7b86d7dace.tar.gz pam-modules-9a1b32df22e491c0d1361804556a5f7b86d7dace.tar.bz2 |
Various bugfixes.
* pam_fshadow/pam_fshadow.c (pam_sm_authenticate): Fix
erroneous conditional, which allowed for logins with
arbitrary passwords if `nopasswd' option was given.
* lib/graypam.h (gray_free_transform_expr): New proto.
* lib/transform.c (transform) <has_regex>: New member.
(free_transform,free_segment): New statics.
(gray_free_transform_expr): New function.
* pam_regex/pam_regex.c (pam_sm_authenticate): Free slist and
transform expression.
git-svn-id: file:///svnroot/pam-modules/trunk@116 56984be4-0537-0410-a56c-fcb268c96130
Diffstat (limited to 'pam_fshadow/pam_fshadow.c')
-rw-r--r-- | pam_fshadow/pam_fshadow.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/pam_fshadow/pam_fshadow.c b/pam_fshadow/pam_fshadow.c index f29df37..111a594 100644 --- a/pam_fshadow/pam_fshadow.c +++ b/pam_fshadow/pam_fshadow.c @@ -438,7 +438,7 @@ pam_sm_authenticate(pam_handle_t *pamh, int flags, if (cntl_flags & CNTL_PASSWD) retval = verify_user_acct(confdir, username, &pwstr); else - retval = 0; + retval = PAM_SUCCESS; if (retval == PAM_SUCCESS) { if (pwstr) { if (strcmp(pwstr, crypt(password, pwstr)) == 0) @@ -446,7 +446,7 @@ pam_sm_authenticate(pam_handle_t *pamh, int flags, else retval = PAM_AUTH_ERR; free(pwstr); - } else if (!(cntl_flags & CNTL_SHADOW)) + } else if (cntl_flags & CNTL_SHADOW) retval = verify_user_pass(confdir, username, password); } |