From ba1838300cab30ca42bf2226e00be84067078fff Mon Sep 17 00:00:00 2001 From: =?utf8?q?G=C3=BCnther=20Deschner?= Date: Fri, 9 May 2014 14:58:08 +0200 Subject: [PATCH] s4-kdc/db_glue: pass down only a samba_kdc_entry to samba_kdc_check_s4u2proxy(). MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Guenther Signed-off-by: Günther Deschner Reviewed-by: Stefan Metzmacher --- source4/kdc/db-glue.c | 7 +++---- source4/kdc/db-glue.h | 2 +- source4/kdc/hdb-samba4.c | 5 ++++- source4/kdc/mit_samba.c | 2 +- 4 files changed, 9 insertions(+), 7 deletions(-) diff --git a/source4/kdc/db-glue.c b/source4/kdc/db-glue.c index 827a9b958d4..1b663595cba 100644 --- a/source4/kdc/db-glue.c +++ b/source4/kdc/db-glue.c @@ -1985,7 +1985,7 @@ samba_kdc_check_pkinit_ms_upn_match(krb5_context context, krb5_error_code samba_kdc_check_s4u2proxy(krb5_context context, struct samba_kdc_db_context *kdc_db_ctx, - hdb_entry_ex *entry, + struct samba_kdc_entry *skdc_entry, krb5_const_principal target_principal) { krb5_error_code ret; @@ -1996,7 +1996,6 @@ samba_kdc_check_s4u2proxy(krb5_context context, struct ldb_val val; unsigned int i; bool found = false; - struct samba_kdc_entry *p = talloc_get_type(entry->ctx, struct samba_kdc_entry); TALLOC_CTX *mem_ctx = talloc_named(kdc_db_ctx, 0, "samba_kdc_check_s4u2proxy"); @@ -2008,7 +2007,7 @@ samba_kdc_check_s4u2proxy(krb5_context context, return ret; } - client_dn = ldb_dn_get_linearized(p->msg->dn); + client_dn = ldb_dn_get_linearized(skdc_entry->msg->dn); if (!client_dn) { if (errno == 0) { errno = ENOMEM; @@ -2050,7 +2049,7 @@ samba_kdc_check_s4u2proxy(krb5_context context, return ret; } - el = ldb_msg_find_element(p->msg, "msDS-AllowedToDelegateTo"); + el = ldb_msg_find_element(skdc_entry->msg, "msDS-AllowedToDelegateTo"); if (el == NULL) { goto bad_option; } diff --git a/source4/kdc/db-glue.h b/source4/kdc/db-glue.h index 0d86e4bfdc9..9a3052126a0 100644 --- a/source4/kdc/db-glue.h +++ b/source4/kdc/db-glue.h @@ -51,7 +51,7 @@ samba_kdc_check_pkinit_ms_upn_match(krb5_context context, krb5_error_code samba_kdc_check_s4u2proxy(krb5_context context, struct samba_kdc_db_context *kdc_db_ctx, - hdb_entry_ex *entry, + struct samba_kdc_entry *skdc_entry, krb5_const_principal target_principal); NTSTATUS samba_kdc_setup_db_ctx(TALLOC_CTX *mem_ctx, struct samba_kdc_base_context *base_ctx, diff --git a/source4/kdc/hdb-samba4.c b/source4/kdc/hdb-samba4.c index 04b520087b9..77f6a9079dd 100644 --- a/source4/kdc/hdb-samba4.c +++ b/source4/kdc/hdb-samba4.c @@ -128,12 +128,15 @@ hdb_samba4_check_constrained_delegation(krb5_context context, HDB *db, krb5_const_principal target_principal) { struct samba_kdc_db_context *kdc_db_ctx; + struct samba_kdc_entry *skdc_entry; kdc_db_ctx = talloc_get_type_abort(db->hdb_db, struct samba_kdc_db_context); + skdc_entry = talloc_get_type_abort(entry->ctx, + struct samba_kdc_entry); return samba_kdc_check_s4u2proxy(context, kdc_db_ctx, - entry, + skdc_entry, target_principal); } diff --git a/source4/kdc/mit_samba.c b/source4/kdc/mit_samba.c index f56e6796d09..a51f18da0df 100644 --- a/source4/kdc/mit_samba.c +++ b/source4/kdc/mit_samba.c @@ -343,7 +343,7 @@ static int mit_samba_check_s4u2proxy(struct mit_samba_context *ctx, ret = samba_kdc_check_s4u2proxy(ctx->context, ctx->db_ctx, - entry, + skdc_entry, target_principal); krb5_free_principal(ctx->context, target_principal); -- 2.34.1