winbindd_ads: honour "winbind use default domain" in lookup_groupmem().
authorMichael Adam <obnox@samba.org>
Mon, 22 Sep 2008 08:39:37 +0000 (10:39 +0200)
committerMichael Adam <obnox@samba.org>
Fri, 21 Nov 2008 23:30:59 +0000 (00:30 +0100)
This fixes the output of "getent group" when "winbind use default domain = yes"
with security = ads.

Michael

source/winbindd/winbindd_ads.c

index 5b29f63599813d9b3572a668cd3cdf2b85629c08..c1301585b3469b53d0062933244ca0aa5c92ded4 100644 (file)
@@ -1097,10 +1097,11 @@ static NTSTATUS lookup_groupmem(struct winbindd_domain *domain,
                        DEBUG(10,("ads: lookup_groupmem: got sid %s from "
                                  "cache\n", sid_string_dbg(&sid)));
                        sid_copy(&(*sid_mem)[*num_names], &sid);
-                       (*names)[*num_names] = talloc_asprintf(*names, "%s%c%s",
-                                                              domain_name,
-                                                              *lp_winbind_separator(),
-                                                              name );
+                       (*names)[*num_names] = fill_domain_username_talloc(
+                                                       *names,
+                                                       domain_name,
+                                                       name,
+                                                       true);
 
                        (*name_types)[*num_names] = name_type;
                        (*num_names)++;
@@ -1168,11 +1169,12 @@ static NTSTATUS lookup_groupmem(struct winbindd_domain *domain,
                                {
                                        sid_copy(&(*sid_mem)[*num_names],
                                                 &sid_mem_nocache[i]);
-                                       (*names)[*num_names] = talloc_asprintf( *names, 
-                                                                               "%s%c%s",
-                                                                               domains_nocache[i],
-                                                                               *lp_winbind_separator(),
-                                                                               names_nocache[i] );
+                                       (*names)[*num_names] =
+                                               fill_domain_username_talloc(
+                                                       *names,
+                                                       domains_nocache[i],
+                                                       names_nocache[i],
+                                                       true);
                                        (*name_types)[*num_names] = name_types_nocache[i];
                                        (*num_names)++;
                                }