]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
s4:kdc: Don’t perform unnecessary search to get account objectClass
authorJoseph Sutton <josephsutton@catalyst.net.nz>
Wed, 17 May 2023 00:07:44 +0000 (12:07 +1200)
committerAndrew Bartlett <abartlet@samba.org>
Thu, 18 May 2023 01:03:37 +0000 (01:03 +0000)
We now have this information in the ldb_message.

Signed-off-by: Joseph Sutton <josephsutton@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
source4/kdc/ad_claims.c

index 84cfb0abb6047ddcd86651597e33c50797c964ae..bb7bcd219837c959c97411e14ba3e757c29c050b 100644 (file)
@@ -1048,29 +1048,13 @@ int get_claims_for_principal(struct ldb_context *ldb,
                             const struct ldb_message *principal,
                             DATA_BLOB *claims_blob)
 {
-       struct ldb_result *principal_res = NULL;
-       static const char * const principal_attrs[] = {
-               "objectClass",
-               NULL
-       };
-
        struct ldb_message_element *principal_class_el = NULL;
        struct dsdb_schema *schema = NULL;
        const struct dsdb_class *principal_class = NULL;
 
-       int ret;
-
        *claims_blob = data_blob_null;
 
-       ret = ldb_search(ldb, mem_ctx, &principal_res,
-                        principal->dn,
-                        LDB_SCOPE_BASE,
-                        principal_attrs, NULL);
-       if (ret != LDB_SUCCESS) {
-               return ret;
-       }
-
-       principal_class_el = ldb_msg_find_element(principal_res->msgs[0],
+       principal_class_el = ldb_msg_find_element(principal,
                                                  "objectClass");
        if (principal_class_el == NULL) {
                return ldb_operr(ldb);