summaryrefslogtreecommitdiff
path: root/source3
diff options
context:
space:
mode:
authorNoel Power <noel.power@suse.com>2015-06-10 13:13:25 +0100
committerAndrew Bartlett <abartlet@samba.org>2015-06-11 04:42:10 +0200
commitefadcb31215f9ccaf7942341c698a8eb2ac166ce (patch)
tree8537ff5925b20ab1cfb74e9212ebf19f8fd46d3f /source3
parentb51ad15618f77b9552a2e23f7d28c4c39a65f6b1 (diff)
downloadsamba-efadcb31215f9ccaf7942341c698a8eb2ac166ce.tar.gz
kerberos auth info3 should contain resource group ids available from pac_logon
successful pam auth (e.g. from ssh) will cache group sids (but not any resource group sids)) The subsequent cached entry used for groups lookups can be missing those resource groups Signed-off-by: Noel Power <noel.power@suse.com> Reviewed-by: Jeremy Allison <jra@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Diffstat (limited to 'source3')
-rw-r--r--source3/winbindd/winbindd_pam.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/source3/winbindd/winbindd_pam.c b/source3/winbindd/winbindd_pam.c
index 864382e5df1..018f70f01d6 100644
--- a/source3/winbindd/winbindd_pam.c
+++ b/source3/winbindd/winbindd_pam.c
@@ -594,6 +594,7 @@ static NTSTATUS winbindd_raw_kerberos_login(TALLOC_CTX *mem_ctx,
struct PAC_DATA_CTR *pac_data_ctr = NULL;
const char *local_service;
int i;
+ struct netr_SamInfo3 *info3_copy = NULL;
*info3 = NULL;
@@ -713,11 +714,15 @@ static NTSTATUS winbindd_raw_kerberos_login(TALLOC_CTX *mem_ctx,
break;
}
- *info3 = &logon_info->info3;
DEBUG(10,("winbindd_raw_kerberos_login: winbindd validated ticket of %s\n",
principal_s));
+ result = create_info3_from_pac_logon_info(mem_ctx, logon_info, &info3_copy);
+ if (!NT_STATUS_IS_OK(result)) {
+ goto failed;
+ }
+
/* if we had a user's ccache then return that string for the pam
* environment */
@@ -753,7 +758,7 @@ static NTSTATUS winbindd_raw_kerberos_login(TALLOC_CTX *mem_ctx,
}
}
-
+ *info3 = info3_copy;
return NT_STATUS_OK;
failed: