From 89e6eac290da6457b1d2259c32759d2b8a2b481b Mon Sep 17 00:00:00 2001 From: Kai Blin Date: Wed, 13 Jan 2010 16:46:17 +0100 Subject: [PATCH] s3 selftest: Fix LOOKUP_SID test. WINBINDD_LIST_USERS does not give a domain name if we're a DC and the user is from our domain. --- source4/torture/winbind/struct_based.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/source4/torture/winbind/struct_based.c b/source4/torture/winbind/struct_based.c index d15bd6b8070..2f824288395 100644 --- a/source4/torture/winbind/struct_based.c +++ b/source4/torture/winbind/struct_based.c @@ -914,6 +914,9 @@ static bool lookup_name_sid_list(struct torture_context *torture, char **list) struct winbindd_response rep; char *sid; char *name; + const char *domain_name = torture_setting_string(torture, + "winbindd netbios domain", + lp_workgroup(torture->lp_ctx)); ZERO_STRUCT(req); ZERO_STRUCT(rep); @@ -932,10 +935,15 @@ static bool lookup_name_sid_list(struct torture_context *torture, char **list) DO_STRUCT_REQ_REP(WINBINDD_LOOKUPSID, &req, &rep); - name = talloc_asprintf(torture, "%s%c%s", - rep.data.name.dom_name, - winbind_separator(torture), - rep.data.name.name); + if (strequal(rep.data.name.dom_name, domain_name)) { + name = talloc_asprintf(torture, "%s", + rep.data.name.name); + } else { + name = talloc_asprintf(torture, "%s%c%s", + rep.data.name.dom_name, + winbind_separator(torture), + rep.data.name.name); + } torture_assert_casestr_equal(torture, list[count], name, "LOOKUP_SID after LOOKUP_NAME != id"); -- 2.34.1