svn commit: samba r4699 - in branches/SAMBA_4_0/source/torture/rpc: .

abartlet at samba.org abartlet at samba.org
Wed Jan 12 03:19:49 GMT 2005


Author: abartlet
Date: 2005-01-12 03:19:48 +0000 (Wed, 12 Jan 2005)
New Revision: 4699

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=4699

Log:
Move the test_EnumTrustDom() test into the test_CreateTrustedDomain
test.  This way, it must have at least one domain to enumerate.

Andrew Bartlett

Modified:
   branches/SAMBA_4_0/source/torture/rpc/lsa.c


Changeset:
Modified: branches/SAMBA_4_0/source/torture/rpc/lsa.c
===================================================================
--- branches/SAMBA_4_0/source/torture/rpc/lsa.c	2005-01-12 02:40:25 UTC (rev 4698)
+++ branches/SAMBA_4_0/source/torture/rpc/lsa.c	2005-01-12 03:19:48 UTC (rev 4699)
@@ -631,45 +631,6 @@
 }
 
 
-static BOOL test_CreateTrustedDomain(struct dcerpc_pipe *p, 
-				     TALLOC_CTX *mem_ctx, 
-				     struct policy_handle *handle)
-{
-	NTSTATUS status;
-	struct lsa_CreateTrustedDomain r;
-	struct lsa_TrustInformation trustinfo;
-	struct dom_sid *domsid;
-	struct policy_handle trustdom_handle;
-
-	printf("Testing CreateTrustedDomain\n");
-
-	domsid = dom_sid_parse_talloc(mem_ctx, "S-1-5-21-97398-379795-12345");
-
-	trustinfo.sid = domsid;
-	init_lsa_String(&trustinfo.name, "torturedomain");
-
-	r.in.handle = handle;
-	r.in.info = &trustinfo;
-	r.in.access_mask = SEC_FLAG_MAXIMUM_ALLOWED;
-	r.out.trustdom_handle = &trustdom_handle;
-
-	status = dcerpc_lsa_CreateTrustedDomain(p, mem_ctx, &r);
-	if (NT_STATUS_EQUAL(status, NT_STATUS_OBJECT_NAME_COLLISION)) {
-		test_DeleteTrustedDomain(p, mem_ctx, handle, trustinfo.name);
-		status = dcerpc_lsa_CreateTrustedDomain(p, mem_ctx, &r);
-	}
-	if (!NT_STATUS_IS_OK(status)) {
-		printf("CreateTrustedDomain failed - %s\n", nt_errstr(status));
-		return False;
-	}
-
-	if (!test_Delete(p, mem_ctx, &trustdom_handle)) {
-		return False;
-	}
-
-	return True;
-}
-
 static BOOL test_CreateSecret(struct dcerpc_pipe *p, 
 			      TALLOC_CTX *mem_ctx, 
 			      struct policy_handle *handle)
@@ -1423,6 +1384,69 @@
 	return ret;
 }
 
+static BOOL test_CreateTrustedDomain(struct dcerpc_pipe *p, 
+				     TALLOC_CTX *mem_ctx, 
+				     struct policy_handle *handle)
+{
+	NTSTATUS status;
+	BOOL ret = True;
+	struct lsa_CreateTrustedDomain r;
+	struct lsa_TrustInformation trustinfo;
+	struct dom_sid *domsid;
+	struct policy_handle trustdom_handle;
+	struct lsa_QueryTrustedDomainInfo q;
+
+	printf("Testing CreateTrustedDomain\n");
+
+	domsid = dom_sid_parse_talloc(mem_ctx, "S-1-5-21-97398-379795-12345");
+
+	trustinfo.sid = domsid;
+	init_lsa_String(&trustinfo.name, "torturedomain");
+
+	r.in.handle = handle;
+	r.in.info = &trustinfo;
+	r.in.access_mask = SEC_FLAG_MAXIMUM_ALLOWED;
+	r.out.trustdom_handle = &trustdom_handle;
+
+	status = dcerpc_lsa_CreateTrustedDomain(p, mem_ctx, &r);
+	if (NT_STATUS_EQUAL(status, NT_STATUS_OBJECT_NAME_COLLISION)) {
+		test_DeleteTrustedDomain(p, mem_ctx, handle, trustinfo.name);
+		status = dcerpc_lsa_CreateTrustedDomain(p, mem_ctx, &r);
+	}
+	if (!NT_STATUS_IS_OK(status)) {
+		printf("CreateTrustedDomain failed - %s\n", nt_errstr(status));
+		return False;
+	}
+
+	q.in.trustdom_handle = &trustdom_handle;
+	q.in.level = LSA_TRUSTED_DOMAIN_INFO_NAME;
+	status = dcerpc_lsa_QueryTrustedDomainInfo(p, mem_ctx, &q);
+	if (!NT_STATUS_IS_OK(status)) {
+		printf("QueryTrustedDomainInfo level 1 failed - %s\n", nt_errstr(status));
+		ret = False;
+	}
+	if (!q.out.info) {
+		ret = False;
+	} else {
+		if (strcmp(q.out.info->name.netbios_name.string, trustinfo.name.string) != 0) {
+			printf("QueryTrustedDomainInfo returned inconsistant short name: %s != %s\n",
+			       q.out.info->name.netbios_name.string, trustinfo.name.string);
+			ret = False;
+		}
+	}
+
+	/* now that we have some domains to look over, we can test the enum calls */
+	if (!test_EnumTrustDom(p, mem_ctx, handle)) {
+		ret = False;
+	}
+
+	if (!test_Delete(p, mem_ctx, &trustdom_handle)) {
+		ret = False;
+	}
+
+	return ret;
+}
+
 static BOOL test_QueryInfoPolicy(struct dcerpc_pipe *p, 
 				 TALLOC_CTX *mem_ctx, 
 				 struct policy_handle *handle)
@@ -1598,10 +1622,6 @@
 		ret = False;
 	}
 
-	if (!test_EnumTrustDom(p, mem_ctx, &handle)) {
-		ret = False;
-	}
-
 	if (!test_QueryInfoPolicy(p, mem_ctx, &handle)) {
 		ret = False;
 	}



More information about the samba-cvs mailing list