summaryrefslogtreecommitdiffstats
path: root/source/smbd/sesssetup.c
diff options
context:
space:
mode:
authorGerald Carter <jerry@samba.org>2005-11-11 03:03:41 +0000
committerGerald Carter <jerry@samba.org>2005-11-11 03:03:41 +0000
commit7060a2c9442111650852383da1abccf01c1102f0 (patch)
treedbbc509aca435466f55c453db92409e4e7344098 /source/smbd/sesssetup.c
parent63a386354d86c7a76bc8636ac675c103bdc7654c (diff)
downloadsamba-7060a2c9442111650852383da1abccf01c1102f0.tar.gz
samba-7060a2c9442111650852383da1abccf01c1102f0.tar.xz
samba-7060a2c9442111650852383da1abccf01c1102f0.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?
Diffstat (limited to 'source/smbd/sesssetup.c')
-rw-r--r--source/smbd/sesssetup.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/source/smbd/sesssetup.c b/source/smbd/sesssetup.c
index 9ac258cb5e9..2c967601678 100644
--- a/source/smbd/sesssetup.c
+++ b/source/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()) {