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

metze at samba.org metze at samba.org
Sat Nov 6 10:07:08 GMT 2004


Author: metze
Date: 2004-11-06 10:07:08 +0000 (Sat, 06 Nov 2004)
New Revision: 3577

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

Log:
add a torture_join_domain_ads_dc() function,
which will join as a w2k dc joins a ads domain

(this is currently not fully implmented,
 I just have listed the steps we need to do)

metze

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


Changeset:
Modified: branches/SAMBA_4_0/source/torture/rpc/testjoin.c
===================================================================
--- branches/SAMBA_4_0/source/torture/rpc/testjoin.c	2004-11-06 09:35:56 UTC (rev 3576)
+++ branches/SAMBA_4_0/source/torture/rpc/testjoin.c	2004-11-06 10:07:08 UTC (rev 3577)
@@ -270,3 +270,97 @@
 
 	talloc_free(join);
 }
+
+
+struct test_join_ads_dc {
+	struct test_join *join;
+};
+
+void *torture_join_domain_ads_dc(const char *machine_name, 
+			  const char *domain,
+			  const char **machine_password)
+{
+	struct test_join_ads_dc *join;
+
+	join = talloc_p(NULL, struct test_join_ads_dc);
+	if (join == NULL) {
+		return NULL;
+	}
+
+	join->join = torture_join_domain(machine_name, domain,
+					ACB_SVRTRUST,
+					machine_password);
+
+	if (!join->join) {
+		return NULL;
+	}
+
+	/* do netlogon DrsEnumerateDomainTrusts */
+
+	/* modify userAccountControl from 4096 to 532480 */
+	
+	/* modify RDN to OU=Domain Controllers and skip the $ from server name */
+
+	/* ask objectVersion of Schema Partition */
+
+	/* ask rIDManagerReferenz of the Domain Partition */
+
+	/* ask fsMORoleOwner of the RID-Manager$ object
+	 * returns CN=NTDS Settings,CN=<DC>,CN=Servers,CN=Default-First-Site-Name, ...
+	 */
+
+	/* ask for dnsHostName of CN=<DC>,CN=Servers,CN=Default-First-Site-Name, ... */
+
+	/* ask for objectGUID of CN=NTDS Settings,CN=<DC>,CN=Servers,CN=Default-First-Site-Name, ... */
+
+	/* ask for * of CN=Default-First-Site-Name, ... */
+
+	/* search (&(|(objectClass=user)(objectClass=computer))(sAMAccountName=<machine_name>$)) in Domain Partition 
+	 * attributes : distinguishedName, userAccountControl
+	 */
+
+	/* ask * for CN=<machine_name>,CN=Servers,CN=Default-First-Site-Name,... 
+	 * should fail with noSuchObject
+	 */
+
+	/* add CN=<machine_name>,CN=Servers,CN=Default-First-Site-Name,... 
+	 *
+	 * objectClass = server
+	 * systemFlags = 50000000
+	 * serverReferenz = CN=<machine_name>,OU=Domain Controllers,...
+	 */
+
+	/* ask for * of CN=NTDS Settings,CN=<machine_name>,CN=Servers,CN=Default-First-Site-Name, ...
+	 * should fail with noSuchObject
+	 */
+
+	/* search for (ncname=<domain_nc>) in CN=Partitions,CN=Configuration,... 
+	 * attributes: ncName, dnsRoot
+	 */
+
+	/* modify add CN=<machine_name>,CN=Servers,CN=Default-First-Site-Name,...
+	 * serverReferenz = CN=<machine_name>,OU=Domain Controllers,...
+	 * should fail with attributeOrValueExists
+	 */
+
+	/* modify replace CN=<machine_name>,CN=Servers,CN=Default-First-Site-Name,...
+	 * serverReferenz = CN=<machine_name>,OU=Domain Controllers,...
+	 */
+
+	/* DsReplicaAdd to create the CN=NTDS Settings,CN=<machine_name>,CN=Servers,CN=Default-First-Site-Name, ...
+	 * needs to be tested
+	 */
+
+	return join;
+}
+		
+void torture_leave_domain_ads_dc(void *join_ctx)
+{
+	struct test_join_ads_dc *join = join_ctx;
+
+	if (join->join) {
+		torture_leave_domain(join->join);
+	}
+
+	talloc_free(join);
+}



More information about the samba-cvs mailing list