1
0
mirror of https://github.com/samba-team/samba.git synced 2025-03-09 08:58:35 +03:00

s4:kdc: let pac functions in wdc-samba4.c take astgs_request_t

NOTE: This commit finally works again!

This aligns us with the following Heimdal change:

   commit 11d8a053f50c88256b4d49c7e482c2eb8f6bde33
   Author:     Stefan Metzmacher <metze@samba.org>
   AuthorDate: Thu Feb 24 18:27:09 2022 +0100
   Commit:     Luke Howard <lukeh@padl.com>
   CommitDate: Thu Mar 3 09:58:48 2022 +1100

       kdc-plugin: also pass astgs_request_t to the pac related functions

       This is more consistent and allows the pac hooks to be more flexible.

       Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>

BUG: https://bugzilla.samba.org/show_bug.cgi?id=14865

Signed-off-by: Stefan Metzmacher <metze@samba.org>
(cherry picked from commit 27ee5ad713b760e8226537d79c529ace1efb07bf)
This commit is contained in:
Stefan Metzmacher 2022-02-24 21:31:52 +01:00 committed by Jule Anger
parent 302f9acb4a
commit b8e20583b0

View File

@ -36,14 +36,15 @@
*
* For PKINIT we also get pk_reply_key and can add PAC_CREDENTIAL_INFO.
*/
static krb5_error_code samba_wdc_get_pac(void *priv, krb5_context context,
krb5_kdc_configuration *config,
static krb5_error_code samba_wdc_get_pac(void *priv,
astgs_request_t r,
hdb_entry *client,
hdb_entry *server,
const krb5_keyblock *pk_reply_key,
uint64_t pac_attributes,
krb5_pac *pac)
{
krb5_context context = kdc_request_get_context((kdc_request_t)r);
TALLOC_CTX *mem_ctx;
DATA_BLOB *logon_blob = NULL;
DATA_BLOB *cred_ndr = NULL;
@ -663,8 +664,7 @@ out:
/* Resign (and reform, including possibly new groups) a PAC */
static krb5_error_code samba_wdc_reget_pac(void *priv, krb5_context context,
krb5_kdc_configuration *config,
static krb5_error_code samba_wdc_reget_pac(void *priv, astgs_request_t r,
const krb5_principal client_principal,
const krb5_principal delegated_proxy_principal,
hdb_entry *client,
@ -672,6 +672,8 @@ static krb5_error_code samba_wdc_reget_pac(void *priv, krb5_context context,
hdb_entry *krbtgt,
krb5_pac *pac)
{
krb5_context context = kdc_request_get_context((kdc_request_t)r);
krb5_kdc_configuration *config = kdc_request_get_config((kdc_request_t)r);
struct samba_kdc_entry *krbtgt_skdc_entry =
talloc_get_type_abort(krbtgt->context,
struct samba_kdc_entry);