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

tridge at samba.org tridge at samba.org
Fri Jan 7 03:11:19 GMT 2005


Author: tridge
Date: 2005-01-07 03:11:18 +0000 (Fri, 07 Jan 2005)
New Revision: 4585

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

Log:
don't consider LookupSids3 failing with NT_STATUS_ACCESS_DENIED (as w2k3 does) or
NT_STATUS_RPC_PROTSEQ_NOT_SUPPORTED (as longhorn does) to be an error.

fixed the CreateTrustedDomain test to cope with the "torturedomain" being left over
from a previous aborted run

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-07 02:14:34 UTC (rev 4584)
+++ branches/SAMBA_4_0/source/torture/rpc/lsa.c	2005-01-07 03:11:18 UTC (rev 4585)
@@ -342,7 +342,13 @@
 
 	status = dcerpc_lsa_LookupSids3(p, mem_ctx, &r);
 	if (!NT_STATUS_IS_OK(status) && !NT_STATUS_EQUAL(status, STATUS_SOME_UNMAPPED)) {
-		printf("LookupSids3 failed - %s\n", nt_errstr(status));
+		if (NT_STATUS_EQUAL(status, NT_STATUS_ACCESS_DENIED) ||
+		    NT_STATUS_EQUAL(status, NT_STATUS_RPC_PROTSEQ_NOT_SUPPORTED)) {
+			printf("not considering %s to be an error\n", nt_errstr(status));
+			return True;
+		}
+		printf("LookupSids3 failed - %s - not considered an error\n", 
+		       nt_errstr(status));
 		return False;
 	}
 
@@ -596,7 +602,34 @@
 	return True;
 }
 
+static BOOL test_DeleteTrustedDomain(struct dcerpc_pipe *p, 
+				     TALLOC_CTX *mem_ctx, 
+				     struct policy_handle *handle,
+				     struct lsa_String name)
+{
+	NTSTATUS status;
+	struct lsa_OpenTrustedDomainByName r;
+	struct policy_handle trustdom_handle;
 
+	r.in.handle = handle;
+	r.in.name = name;
+	r.in.access_mask = SEC_STD_DELETE;
+	r.out.trustdom_handle = &trustdom_handle;
+
+	status = dcerpc_lsa_OpenTrustedDomainByName(p, mem_ctx, &r);
+	if (!NT_STATUS_IS_OK(status)) {
+		printf("lsa_OpenTrustedDomainByName failed - %s\n", nt_errstr(status));
+		return False;
+	}
+
+	if (!test_Delete(p, mem_ctx, &trustdom_handle)) {
+		return False;
+	}
+
+	return True;
+}
+
+
 static BOOL test_CreateTrustedDomain(struct dcerpc_pipe *p, 
 				     TALLOC_CTX *mem_ctx, 
 				     struct policy_handle *handle)
@@ -620,6 +653,10 @@
 	r.out.dom_handle = &dom_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;



More information about the samba-cvs mailing list