[SCM] Samba Shared Repository - branch master updated

Günther Deschner gd at samba.org
Tue Oct 20 15:58:40 MDT 2009


The branch, master has been updated
       via  a4d5487... s4-smbtorture: fix RPC-LSA-LSALOOKUP test against w2k3 and w2k8.
      from  e349e2c... Fix "make install" by removing all references to python. Not currently needed in source3, and isn't working anyway. Jeremy.

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit a4d54875768bbe6bcd019a788081d182ce9d4a80
Author: Günther Deschner <gd at samba.org>
Date:   Tue Oct 20 23:47:40 2009 +0200

    s4-smbtorture: fix RPC-LSA-LSALOOKUP test against w2k3 and w2k8.
    
    Make sure to split out lsa_LookupName NULL name test so that we can better track
    results from bogus names and NULL names.
    
    Guenther

-----------------------------------------------------------------------

Summary of changes:
 source4/torture/rpc/lsa.c |   66 ++++++++++++++++++++++++++++++++++-----------
 1 files changed, 50 insertions(+), 16 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source4/torture/rpc/lsa.c b/source4/torture/rpc/lsa.c
index e4a6a84..9cee4e2 100644
--- a/source4/torture/rpc/lsa.c
+++ b/source4/torture/rpc/lsa.c
@@ -232,31 +232,19 @@ static bool test_LookupNames_bogus(struct dcerpc_pipe *p,
 	struct lsa_LookupNames r;
 	struct lsa_TransSidArray sids;
 	struct lsa_RefDomainList *domains = NULL;
-	struct lsa_String *names;
+	struct lsa_String names[1];
 	uint32_t count = 0;
 	NTSTATUS status;
-	int i;
-
-	struct lsa_TranslatedName name[2];
-	struct lsa_TransNameArray tnames;
-
-	tnames.names = name;
-	tnames.count = 2;
-	name[0].name.string = "NT AUTHORITY\\BOGUS";
-	name[1].name.string = NULL;
 
-	torture_comment(tctx, "\nTesting LookupNames with bogus names\n");
+	torture_comment(tctx, "\nTesting LookupNames with bogus name\n");
 
 	sids.count = 0;
 	sids.sids = NULL;
 
-	names = talloc_array(tctx, struct lsa_String, tnames.count);
-	for (i=0;i<tnames.count;i++) {
-		init_lsa_String(&names[i], tnames.names[i].name.string);
-	}
+	init_lsa_String(&names[0], "NT AUTHORITY\\BOGUS");
 
 	r.in.handle = handle;
-	r.in.num_names = tnames.count;
+	r.in.num_names = 1;
 	r.in.names = names;
 	r.in.sids = &sids;
 	r.in.level = 1;
@@ -276,6 +264,48 @@ static bool test_LookupNames_bogus(struct dcerpc_pipe *p,
 	return true;
 }
 
+static bool test_LookupNames_NULL(struct dcerpc_pipe *p,
+				  struct torture_context *tctx,
+				  struct policy_handle *handle)
+{
+	struct lsa_LookupNames r;
+	struct lsa_TransSidArray sids;
+	struct lsa_RefDomainList *domains = NULL;
+	struct lsa_String names[1];
+	uint32_t count = 0;
+
+	torture_comment(tctx, "\nTesting LookupNames with NULL name\n");
+
+	sids.count = 0;
+	sids.sids = NULL;
+
+	names[0].string = NULL;
+
+	r.in.handle = handle;
+	r.in.num_names = 1;
+	r.in.names = names;
+	r.in.sids = &sids;
+	r.in.level = 1;
+	r.in.count = &count;
+	r.out.count = &count;
+	r.out.sids = &sids;
+	r.out.domains = &domains;
+
+	/* nt4 returns NT_STATUS_NONE_MAPPED with sid_type
+	 * SID_NAME_UNKNOWN, rid 0, and sid_index -1;
+	 *
+	 * w2k3/w2k8 return NT_STATUS_OK with sid_type
+	 * SID_NAME_DOMAIN, rid -1 and sid_index 0 and BUILTIN domain
+	 */
+
+	torture_assert_ntstatus_ok(tctx, dcerpc_lsa_LookupNames(p, tctx, &r),
+		"LookupNames with NULL name failed");
+
+	torture_comment(tctx, "\n");
+
+	return true;
+}
+
 static bool test_LookupNames_wellknown(struct dcerpc_pipe *p,
 				       struct torture_context *tctx,
 				       struct policy_handle *handle)
@@ -2768,6 +2798,10 @@ static bool testcase_LookupNames(struct torture_context *tctx,
 		ret = false;
 	}
 
+	if (!test_LookupNames_NULL(p, tctx, handle)) {
+		ret = false;
+	}
+
 	if (!test_LookupNames_bogus(p, tctx, handle)) {
 		ret = false;
 	}


-- 
Samba Shared Repository


More information about the samba-cvs mailing list