diff options
author | Damien Miller <djm@mindrot.org> | 2001-03-21 13:01:35 +1100 |
---|---|---|
committer | Damien Miller <djm@mindrot.org> | 2001-03-21 13:01:35 +1100 |
commit | ec7e1b1d0fa042c7670122b6eb5cb59b14491fca (patch) | |
tree | d80a529d0a626353fca94b16da0cd6e20d4c0528 /auth-pam.c | |
parent | 2e9adb27e9f36599f160c5dd0b426d95b52237e0 (diff) |
- (djm) Don't loop forever when changing password via PAM. Patch
from Solar Designer <solar@openwall.com>
Diffstat (limited to 'auth-pam.c')
-rw-r--r-- | auth-pam.c | 14 |
1 files changed, 5 insertions, 9 deletions
@@ -33,7 +33,7 @@ #include "canohost.h" #include "readpass.h" -RCSID("$Id: auth-pam.c,v 1.32 2001/03/21 01:16:25 djm Exp $"); +RCSID("$Id: auth-pam.c,v 1.33 2001/03/21 02:01:35 djm Exp $"); #define NEW_AUTHTOK_MSG \ "Warning: Your password has expired, please change it now" @@ -326,14 +326,10 @@ void do_pam_chauthtok(void) if (password_change_required) { pamstate = OTHER; - /* XXX: should we really loop forever? */ - do { - pam_retval = pam_chauthtok(__pamh, - PAM_CHANGE_EXPIRED_AUTHTOK); - if (pam_retval != PAM_SUCCESS) - log("PAM pam_chauthtok failed[%d]: %.200s", - pam_retval, PAM_STRERROR(__pamh, pam_retval)); - } while (pam_retval != PAM_SUCCESS); + pam_retval = pam_chauthtok(__pamh, PAM_CHANGE_EXPIRED_AUTHTOK); + if (pam_retval != PAM_SUCCESS) + fatal("PAM pam_chauthtok failed[%d]: %.200s", + pam_retval, PAM_STRERROR(__pamh, pam_retval)); } } |