diff options
author | Darren Tucker <dtucker@zip.com.au> | 2009-07-12 22:07:21 +1000 |
---|---|---|
committer | Darren Tucker <dtucker@zip.com.au> | 2009-07-12 22:07:21 +1000 |
commit | 622d5c561bf940c0c2d329d8001ca1e60b862ca2 (patch) | |
tree | 686f7ba9b7f52e54983b26b6e028c5e6fa97faee /auth-pam.c | |
parent | 8fdcba5caf124bec3d17e6c6688ca2f1857329c3 (diff) |
- (dtucker) [auth-pam.c] Bug #1534: move the deletion of PAM credentials on
logout to after the session close. Patch from Anicka Bernathova, ok djm.
Diffstat (limited to 'auth-pam.c')
-rw-r--r-- | auth-pam.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/auth-pam.c b/auth-pam.c index ccdb9937e..675006e6f 100644 --- a/auth-pam.c +++ b/auth-pam.c | |||
@@ -602,16 +602,16 @@ sshpam_cleanup(void) | |||
602 | return; | 602 | return; |
603 | debug("PAM: cleanup"); | 603 | debug("PAM: cleanup"); |
604 | pam_set_item(sshpam_handle, PAM_CONV, (const void *)&null_conv); | 604 | pam_set_item(sshpam_handle, PAM_CONV, (const void *)&null_conv); |
605 | if (sshpam_cred_established) { | ||
606 | debug("PAM: deleting credentials"); | ||
607 | pam_setcred(sshpam_handle, PAM_DELETE_CRED); | ||
608 | sshpam_cred_established = 0; | ||
609 | } | ||
610 | if (sshpam_session_open) { | 605 | if (sshpam_session_open) { |
611 | debug("PAM: closing session"); | 606 | debug("PAM: closing session"); |
612 | pam_close_session(sshpam_handle, PAM_SILENT); | 607 | pam_close_session(sshpam_handle, PAM_SILENT); |
613 | sshpam_session_open = 0; | 608 | sshpam_session_open = 0; |
614 | } | 609 | } |
610 | if (sshpam_cred_established) { | ||
611 | debug("PAM: deleting credentials"); | ||
612 | pam_setcred(sshpam_handle, PAM_DELETE_CRED); | ||
613 | sshpam_cred_established = 0; | ||
614 | } | ||
615 | sshpam_authenticated = 0; | 615 | sshpam_authenticated = 0; |
616 | pam_end(sshpam_handle, sshpam_err); | 616 | pam_end(sshpam_handle, sshpam_err); |
617 | sshpam_handle = NULL; | 617 | sshpam_handle = NULL; |