]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
s3/lib: use lookup_name_smbconf_ex() in token_contains_name()
authorRalph Boehme <slow@samba.org>
Fri, 9 Feb 2024 14:24:27 +0000 (15:24 +0100)
committerStefan Metzmacher <metze@samba.org>
Fri, 26 Jul 2024 10:06:31 +0000 (10:06 +0000)
No change in behaviour as we still ignore lookup erros as well as a not-found
result.

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
source3/lib/util_namearray.c

index 3d74410bea670d70e16d1da74d6d5f9ae2fafcc7..0b191ad9e87e7e3f58d183db77e2d950f6c1b476 100644 (file)
@@ -77,6 +77,7 @@ bool token_contains_name(TALLOC_CTX *mem_ctx,
        const char *prefix;
        struct dom_sid sid;
        enum lsa_SidType type;
+       NTSTATUS status;
 
        if (username != NULL) {
                size_t domain_len = domain != NULL ? strlen(domain) : 0;
@@ -113,8 +114,14 @@ bool token_contains_name(TALLOC_CTX *mem_ctx,
        }
 
        if (!do_group_checks(&name, &prefix)) {
-               if (!lookup_name_smbconf(mem_ctx, name, LOOKUP_NAME_ALL,
-                                NULL, NULL, &sid, &type)) {
+               status = lookup_name_smbconf_ex(mem_ctx,
+                                               name,
+                                               LOOKUP_NAME_ALL,
+                                               NULL,
+                                               NULL,
+                                               &sid,
+                                               &type);
+               if (!NT_STATUS_IS_OK(status)) {
                        DEBUG(5, ("lookup_name %s failed\n", name));
                        return False;
                }
@@ -128,9 +135,15 @@ bool token_contains_name(TALLOC_CTX *mem_ctx,
 
        for (/* initialized above */ ; *prefix != '\0'; prefix++) {
                if (*prefix == '+') {
-                       if (!lookup_name_smbconf(mem_ctx, name,
-                                        LOOKUP_NAME_ALL|LOOKUP_NAME_GROUP,
-                                        NULL, NULL, &sid, &type)) {
+                       status = lookup_name_smbconf_ex(
+                                       mem_ctx,
+                                       name,
+                                       LOOKUP_NAME_ALL|LOOKUP_NAME_GROUP,
+                                       NULL,
+                                       NULL,
+                                       &sid,
+                                       &type);
+                       if (!NT_STATUS_IS_OK(status)) {
                                DEBUG(5, ("lookup_name %s failed\n", name));
                                return False;
                        }