summaryrefslogtreecommitdiff
path: root/source3/winbindd/winbindd_pam.c
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2012-08-21 11:24:58 -0700
committerJeremy Allison <jra@samba.org>2012-08-21 22:01:15 +0200
commitc84e6aebc202838267d2a4b172f640b52a201bbb (patch)
treeb5ddb73455746c5a37fdc8fe2ebeaba85627c39c /source3/winbindd/winbindd_pam.c
parentebb776f51f697ece62ed5c7ee6aa4865397347c2 (diff)
downloadsamba-c84e6aebc202838267d2a4b172f640b52a201bbb.tar.gz
samba-c84e6aebc202838267d2a4b172f640b52a201bbb.tar.bz2
samba-c84e6aebc202838267d2a4b172f640b52a201bbb.zip
Fix bug #9098 - winbind does not refresh kerberos tickets.
Based on work from Ian Gordon <ian.gordon@strath.ac.uk>. Autobuild-User(master): Jeremy Allison <jra@samba.org> Autobuild-Date(master): Tue Aug 21 22:01:15 CEST 2012 on sn-devel-104
Diffstat (limited to 'source3/winbindd/winbindd_pam.c')
-rw-r--r--source3/winbindd/winbindd_pam.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/source3/winbindd/winbindd_pam.c b/source3/winbindd/winbindd_pam.c
index d8febe6a5c..6ad0baf196 100644
--- a/source3/winbindd/winbindd_pam.c
+++ b/source3/winbindd/winbindd_pam.c
@@ -646,6 +646,7 @@ static NTSTATUS winbindd_raw_kerberos_login(TALLOC_CTX *mem_ctx,
cc,
service,
user,
+ pass,
realm,
uid,
time(NULL),
@@ -965,6 +966,7 @@ static NTSTATUS winbindd_dual_pam_auth_cached(struct winbindd_domain *domain,
cc,
service,
state->request->data.auth.user,
+ state->request->data.auth.pass,
domain->alt_name,
uid,
time(NULL),
@@ -2127,6 +2129,13 @@ enum winbindd_result winbindd_dual_pam_logoff(struct winbindd_domain *domain,
goto process_result;
}
+ /*
+ * Remove any mlock'ed memory creds in the child
+ * we might be using for krb5 ticket renewal.
+ */
+
+ winbindd_delete_memory_creds(state->request->data.logoff.user);
+
#else
result = NT_STATUS_NOT_SUPPORTED;
#endif