From 024d8cf500d15decf83057adb516ad9a06e09cf9 Mon Sep 17 00:00:00 2001 From: Joseph Sutton Date: Tue, 3 Oct 2023 14:53:17 +1300 Subject: [PATCH] =?utf8?q?s4:kdc:=20Pass=20=E2=80=98samdb=E2=80=99=20into?= =?utf8?q?=20samba=5Fkdc=5Fget=5Fuser=5Finfo=5Ffrom=5Fdb()?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Joseph Sutton Reviewed-by: Andrew Bartlett --- source4/kdc/db-glue.c | 1 + source4/kdc/mit_samba.c | 2 ++ source4/kdc/pac-glue.c | 7 ++++++- source4/kdc/pac-glue.h | 1 + source4/kdc/wdc-samba4.c | 1 + 5 files changed, 11 insertions(+), 1 deletion(-) diff --git a/source4/kdc/db-glue.c b/source4/kdc/db-glue.c index 6cb16a6239a..a56915ae8b4 100644 --- a/source4/kdc/db-glue.c +++ b/source4/kdc/db-glue.c @@ -1485,6 +1485,7 @@ static krb5_error_code samba_kdc_message2entry(krb5_context context, * they may fail to authenticate. */ ret = samba_kdc_get_user_info_from_db(tmp_ctx, + kdc_db_ctx->samdb, p, msg, &user_info_dc); diff --git a/source4/kdc/mit_samba.c b/source4/kdc/mit_samba.c index 98ae9bc7228..4b33bb9f412 100644 --- a/source4/kdc/mit_samba.c +++ b/source4/kdc/mit_samba.c @@ -485,6 +485,7 @@ krb5_error_code mit_samba_get_pac(struct mit_samba_context *smb_ctx, } code = samba_kdc_get_user_info_from_db(tmp_ctx, + server_entry->kdc_db_ctx->samdb, skdc_entry, skdc_entry->msg, &user_info_dc); @@ -915,6 +916,7 @@ krb5_error_code mit_samba_kpasswd_change_password(struct mit_samba_context *ctx, } code = samba_kdc_get_user_info_from_db(tmp_ctx, + ctx->db_ctx->samdb, p, p->msg, &user_info_dc); diff --git a/source4/kdc/pac-glue.c b/source4/kdc/pac-glue.c index 5b1f3c6a055..b47912a29c3 100644 --- a/source4/kdc/pac-glue.c +++ b/source4/kdc/pac-glue.c @@ -1119,6 +1119,7 @@ NTSTATUS samba_kdc_get_claims_blob(TALLOC_CTX *mem_ctx, } krb5_error_code samba_kdc_get_user_info_from_db(TALLOC_CTX *mem_ctx, + struct ldb_context *samdb, struct samba_kdc_entry *entry, const struct ldb_message *msg, struct auth_user_info_dc **info_out) @@ -1130,7 +1131,7 @@ krb5_error_code samba_kdc_get_user_info_from_db(TALLOC_CTX *mem_ctx, struct loadparm_context *lp_ctx = entry->kdc_db_ctx->lp_ctx; nt_status = authsam_make_user_info_dc(entry, - entry->kdc_db_ctx->samdb, + samdb, lpcfg_netbios_name(lp_ctx), lpcfg_sam_name(lp_ctx), lpcfg_sam_dnsname(lp_ctx), @@ -1238,6 +1239,7 @@ static krb5_error_code samba_kdc_obtain_user_info_dc(TALLOC_CTX *mem_ctx, * here. */ ret = samba_kdc_get_user_info_from_db(mem_ctx, + samdb, entry.entry, entry.entry->msg, &user_info_dc); @@ -2052,6 +2054,7 @@ static krb5_error_code samba_kdc_get_device_info_blob(TALLOC_CTX *mem_ctx, frame = talloc_stackframe(); code = samba_kdc_get_user_info_from_db(frame, + samdb, device, device->msg, &device_info_dc); @@ -2169,6 +2172,7 @@ krb5_error_code samba_kdc_verify_pac(TALLOC_CTX *mem_ctx, } code = samba_kdc_get_user_info_from_db(tmp_ctx, + samdb, client.entry, client.entry->msg, &user_info_dc); @@ -2926,6 +2930,7 @@ krb5_error_code samba_kdc_check_device(TALLOC_CTX *mem_ctx, } } else { code = samba_kdc_get_user_info_from_db(frame, + samdb, device.entry, device.entry->msg, &device_info); diff --git a/source4/kdc/pac-glue.h b/source4/kdc/pac-glue.h index 3b30e308e2e..ab039194f0b 100644 --- a/source4/kdc/pac-glue.h +++ b/source4/kdc/pac-glue.h @@ -108,6 +108,7 @@ krb5_error_code samba_krbtgt_is_in_db(const struct samba_kdc_entry *skdc_entry, bool *is_trusted); krb5_error_code samba_kdc_get_user_info_from_db(TALLOC_CTX *mem_ctx, + struct ldb_context *samdb, struct samba_kdc_entry *entry, const struct ldb_message *msg, struct auth_user_info_dc **info_out); diff --git a/source4/kdc/wdc-samba4.c b/source4/kdc/wdc-samba4.c index df560b94121..1a3faa2babc 100644 --- a/source4/kdc/wdc-samba4.c +++ b/source4/kdc/wdc-samba4.c @@ -124,6 +124,7 @@ static krb5_error_code samba_wdc_get_pac(void *priv, } ret = samba_kdc_get_user_info_from_db(mem_ctx, + server_entry->kdc_db_ctx->samdb, skdc_entry, skdc_entry->msg, &user_info_dc); -- 2.47.3