]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
s4:kdc: Simplify samba_kdc_update_pac_blob() to take ldb_context as parameter
authorJoseph Sutton <josephsutton@catalyst.net.nz>
Fri, 8 Oct 2021 03:06:58 +0000 (16:06 +1300)
committerStefan Metzmacher <metze@samba.org>
Wed, 27 Oct 2021 22:37:10 +0000 (22:37 +0000)
BUG: https://bugzilla.samba.org/show_bug.cgi?id=14642
BUG: https://bugzilla.samba.org/show_bug.cgi?id=14881

Signed-off-by: Joseph Sutton <josephsutton@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
(cherry picked from commit 7149eeaceb426470b1b8181749d2d081c2fb83a4)

source4/kdc/mit_samba.c
source4/kdc/pac-glue.c
source4/kdc/pac-glue.h
source4/kdc/wdc-samba4.c

index 54dcd545ea12df70a0a257ae7c3e6719879e86cb..2936fe2d18a0f9d8cbe7a6ea9d601a3f56e974de 100644 (file)
@@ -482,7 +482,6 @@ krb5_error_code mit_samba_reget_pac(struct mit_samba_context *ctx,
        DATA_BLOB *deleg_blob = NULL;
        struct samba_kdc_entry *client_skdc_entry = NULL;
        struct samba_kdc_entry *krbtgt_skdc_entry = NULL;
-       struct samba_kdc_entry *server_skdc_entry = NULL;
        bool is_in_db = false;
        bool is_untrusted = false;
        size_t num_types = 0;
@@ -513,9 +512,6 @@ krb5_error_code mit_samba_reget_pac(struct mit_samba_context *ctx,
        if (server == NULL) {
                return EINVAL;
        }
-       server_skdc_entry =
-               talloc_get_type_abort(server->e_data,
-                                     struct samba_kdc_entry);
 
        if (krbtgt == NULL) {
                return EINVAL;
@@ -575,8 +571,7 @@ krb5_error_code mit_samba_reget_pac(struct mit_samba_context *ctx,
 
                nt_status = samba_kdc_update_pac_blob(tmp_ctx,
                                                      context,
-                                                     krbtgt_skdc_entry,
-                                                     server_skdc_entry,
+                                                     krbtgt_skdc_entry->kdc_db_ctx->samdb,
                                                      *pac,
                                                      pac_blob,
                                                      pac_srv_sig,
index 04fbc5cf4875003f6c5bc60b280ec4bded71c96b..88bcb734fc5646fe9abce54fd0c054cbe2509a1f 100644 (file)
@@ -747,8 +747,7 @@ NTSTATUS samba_kdc_get_pac_blob(TALLOC_CTX *mem_ctx,
 
 NTSTATUS samba_kdc_update_pac_blob(TALLOC_CTX *mem_ctx,
                                   krb5_context context,
-                                  struct samba_kdc_entry *krbtgt,
-                                  struct samba_kdc_entry *server,
+                                  struct ldb_context *samdb,
                                   const krb5_pac pac, DATA_BLOB *pac_blob,
                                   struct PAC_SIGNATURE_DATA *pac_srv_sig,
                                   struct PAC_SIGNATURE_DATA *pac_kdc_sig)
@@ -768,7 +767,7 @@ NTSTATUS samba_kdc_update_pac_blob(TALLOC_CTX *mem_ctx,
         * as the token might be generated by a trusted domain.
         */
        nt_status = authsam_update_user_info_dc(mem_ctx,
-                                               krbtgt->kdc_db_ctx->samdb,
+                                               samdb,
                                                user_info_dc);
        if (!NT_STATUS_IS_OK(nt_status)) {
                return nt_status;
index 2eb7fd3b7558c3eb9bf317110ca4bd3da0faedf8..7b51b0389f5eb97d7b2ba13e14feb898427a168e 100644 (file)
@@ -51,8 +51,7 @@ NTSTATUS samba_kdc_get_pac_blob(TALLOC_CTX *mem_ctx,
 
 NTSTATUS samba_kdc_update_pac_blob(TALLOC_CTX *mem_ctx,
                                   krb5_context context,
-                                  struct samba_kdc_entry *krbtgt,
-                                  struct samba_kdc_entry *server,
+                                  struct ldb_context *samdb,
                                   const krb5_pac pac, DATA_BLOB *pac_blob,
                                   struct PAC_SIGNATURE_DATA *pac_srv_sig,
                                   struct PAC_SIGNATURE_DATA *pac_kdc_sig);
index a7d8de1f417bdbec7d60d534adc4d4eefbda5f12..68c8a8aa57246d45df5d5ae5277c81ce3b1337cf 100644 (file)
@@ -186,7 +186,7 @@ static krb5_error_code samba_wdc_reget_pac(void *priv, krb5_context context,
                }
 
                nt_status = samba_kdc_update_pac_blob(mem_ctx, context,
-                                                     krbtgt_skdc_entry, p,
+                                                     krbtgt_skdc_entry->kdc_db_ctx->samdb,
                                                      *pac, pac_blob,
                                                      pac_srv_sig, pac_kdc_sig);
                if (!NT_STATUS_IS_OK(nt_status)) {