summaryrefslogtreecommitdiff
path: root/source3/smbd
diff options
context:
space:
mode:
authorGerald Carter <jerry@samba.org>2005-11-11 03:03:41 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 11:05:23 -0500
commita4d729bdfadfc39fece612fcdd68955c3e3845bb (patch)
tree8e7521b4ae5a1db522af13ca3ed6897b2383c52d /source3/smbd
parent2a7ce639eba133020dc8cbb1346e7d0a53c31a21 (diff)
downloadsamba-a4d729bdfadfc39fece612fcdd68955c3e3845bb.tar.gz
samba-a4d729bdfadfc39fece612fcdd68955c3e3845bb.tar.bz2
samba-a4d729bdfadfc39fece612fcdd68955c3e3845bb.zip
r11661: Store the INFO3 in the PAC data into the netsamlogon_cache.
Also remove the mem_ctx from the netsamlogon_cache_store() API. Guenther, what should we be doing with the other fields in the PAC_LOGON_INFO? (This used to be commit 8bead2d2825015fe41ba7d7401a12c06c29ea7f7)
Diffstat (limited to 'source3/smbd')
-rw-r--r--source3/smbd/sesssetup.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/source3/smbd/sesssetup.c b/source3/smbd/sesssetup.c
index 9ac258cb5e..2c96760167 100644
--- a/source3/smbd/sesssetup.c
+++ b/source3/smbd/sesssetup.c
@@ -180,10 +180,6 @@ static int reply_spnego_kerberos(connection_struct *conn,
return ERROR_NT(NT_STATUS_LOGON_FAILURE);
}
- if (pac_data) {
- logon_info = get_logon_info_from_pac(pac_data);
- }
-
DEBUG(3,("Ticket name is [%s]\n", client));
p = strchr_m(client, '@');
@@ -196,6 +192,14 @@ static int reply_spnego_kerberos(connection_struct *conn,
}
*p = 0;
+
+ /* save the PAC data if we have it */
+
+ if (pac_data) {
+ logon_info = get_logon_info_from_pac(pac_data);
+ netsamlogon_cache_store( client, &logon_info->info3 );
+ }
+
if (!strequal(p+1, lp_realm())) {
DEBUG(3,("Ticket for foreign realm %s@%s\n", client, p+1));
if (!lp_allow_trusted_domains()) {