diff options
author | Tomas Mraz <tm@t8m.info> | 2008-02-21 21:12:30 +0000 |
---|---|---|
committer | Tomas Mraz <tm@t8m.info> | 2008-02-21 21:12:30 +0000 |
commit | 6ccbba1cf178e9de46347e2f9df76f69aebcec20 (patch) | |
tree | d1d8b61899152d201746f7a949208767370af590 /modules/pam_unix/unix_chkpwd.c | |
parent | 9058692366a17701a67d4a5c2eb306acfc778bd6 (diff) | |
download | pam-6ccbba1cf178e9de46347e2f9df76f69aebcec20.tar.gz pam-6ccbba1cf178e9de46347e2f9df76f69aebcec20.tar.bz2 pam-6ccbba1cf178e9de46347e2f9df76f69aebcec20.zip |
Relevant BUGIDs: rhbz#433459
Purpose of commit: bugfix
Commit summary:
---------------
2008-02-21 Tomas Mraz <t8m@centrum.cz>
* libpam/pam_audit.c (_pam_audit_writelog): Silence syslog
message on non-error return.
* modules/pam_unix/unix_chkpwd.c (main): Proceed as unprivileged
user when checking password of another user.
* modules/pam_unix/unix_update.c: Fix comment.
Diffstat (limited to 'modules/pam_unix/unix_chkpwd.c')
-rw-r--r-- | modules/pam_unix/unix_chkpwd.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/modules/pam_unix/unix_chkpwd.c b/modules/pam_unix/unix_chkpwd.c index 11ac3aac..5f872d27 100644 --- a/modules/pam_unix/unix_chkpwd.c +++ b/modules/pam_unix/unix_chkpwd.c @@ -101,7 +101,10 @@ int main(int argc, char *argv[]) /* if the caller specifies the username, verify that user matches it */ if (strcmp(user, argv[1])) { - return PAM_AUTH_ERR; + user = argv[1]; + /* no match -> permanently change to the real user and proceed */ + if (setuid(getuid()) != 0) + return PAM_AUTH_ERR; } } |