r23672: Allow msrpc_name_to_sid() to be called without a domain_name and just a name.
authorGünther Deschner <gd@samba.org>
Mon, 2 Jul 2007 09:46:18 +0000 (09:46 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 17:23:45 +0000 (12:23 -0500)
Guenther

source/nsswitch/winbindd_rpc.c

index 7899d62fea97f4f0ef7d24b726a156408ff5141e..31ccdc1f73a4d486a15a58db8eca3c735e2c651a 100644 (file)
@@ -269,18 +269,20 @@ NTSTATUS msrpc_name_to_sid(struct winbindd_domain *domain,
        struct rpc_pipe_client *cli;
        POLICY_HND lsa_policy;
 
-        if(name == NULL || *name=='\0') {
-                DEBUG(3,("rpc: name_to_sid name=%s\n", domain_name));
-                full_name = talloc_asprintf(mem_ctx, "%s", domain_name);
-        } else {
-                DEBUG(3,("rpc: name_to_sid name=%s\\%s\n", domain_name, name));
-                full_name = talloc_asprintf(mem_ctx, "%s\\%s", domain_name, name);
-        }
+       if (name == NULL || *name=='\0') {
+               full_name = talloc_asprintf(mem_ctx, "%s", domain_name);
+       } else if (domain_name == NULL || *domain_name == '\0') {
+               full_name = talloc_asprintf(mem_ctx, "%s", name);
+       } else {
+               full_name = talloc_asprintf(mem_ctx, "%s\\%s", domain_name, name);
+       }
        if (!full_name) {
                DEBUG(0, ("talloc_asprintf failed!\n"));
                return NT_STATUS_NO_MEMORY;
        }
 
+       DEBUG(3,("rpc: name_to_sid name=%s\n", full_name));
+
        ws_name_return( full_name, WB_REPLACE_CHAR );
 
        DEBUG(3,("name_to_sid [rpc] %s for domain %s\n", full_name?full_name:"", domain_name ));