]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
s4:kdc: Make ‘struct user_info_dc’ members const
authorJoseph Sutton <josephsutton@catalyst.net.nz>
Thu, 12 Oct 2023 00:40:21 +0000 (13:40 +1300)
committerAndrew Bartlett <abartlet@samba.org>
Tue, 17 Oct 2023 03:19:38 +0000 (03:19 +0000)
Signed-off-by: Joseph Sutton <josephsutton@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
source4/kdc/pac-glue.c
source4/kdc/samba_kdc.h

index 124f2e350037462518ebd59a4b78136abb1dbf15..25d1126f5c4c049de345201ad4a8507d35b202f7 100644 (file)
@@ -1133,6 +1133,7 @@ krb5_error_code samba_kdc_get_user_info_from_db(TALLOC_CTX *mem_ctx,
        *info_out = NULL;
 
        if (entry->info_from_db == NULL) {
+               struct auth_user_info_dc *info_from_db = NULL;
                struct loadparm_context *lp_ctx = entry->kdc_db_ctx->lp_ctx;
 
                nt_status = authsam_make_user_info_dc(entry,
@@ -1144,13 +1145,15 @@ krb5_error_code samba_kdc_get_user_info_from_db(TALLOC_CTX *mem_ctx,
                                                      msg,
                                                      data_blob_null,
                                                      data_blob_null,
-                                                     &entry->info_from_db);
+                                                     &info_from_db);
                if (!NT_STATUS_IS_OK(nt_status)) {
                        DBG_ERR("Getting user info for PAC failed: %s\n",
                                nt_errstr(nt_status));
                        /* NT_STATUS_OBJECT_NAME_NOT_FOUND is mapped to ENOENT. */
                        return map_errno_from_nt_status(nt_status);
                }
+
+               entry->info_from_db = info_from_db;
        }
 
        *info_out = entry->info_from_db;
index 70feae38f47e25f2967a41be5a6a65a75f386d7b..d1100f657a44030d2fc4b50f79c2f754ce628cce 100644 (file)
@@ -62,9 +62,9 @@ struct samba_kdc_entry {
        struct ldb_dn *realm_dn;
        struct claims_data *claims_from_pac;
        struct claims_data *claims_from_db;
-       struct auth_user_info_dc *info_from_pac;
-       struct PAC_DOMAIN_GROUP_MEMBERSHIP *resource_groups_from_pac;
-       struct auth_user_info_dc *info_from_db;
+       const struct auth_user_info_dc *info_from_pac;
+       const struct PAC_DOMAIN_GROUP_MEMBERSHIP *resource_groups_from_pac;
+       const struct auth_user_info_dc *info_from_db;
        const struct authn_kerberos_client_policy *client_policy;
        const struct authn_server_policy *server_policy;
        uint32_t supported_enctypes;