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

brad at samba.org brad at samba.org
Tue Jul 26 01:35:38 GMT 2005


Author: brad
Date: 2005-07-26 01:35:38 +0000 (Tue, 26 Jul 2005)
New Revision: 8765

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

Log:
more ldb changes to test_CompleteJoin(), it mostly kind of almost works now!

Modified:
   branches/SOC/SAMBA_4_0/SAMBA_4_0/source/torture/rpc/dssync.c


Changeset:
Modified: branches/SOC/SAMBA_4_0/SAMBA_4_0/source/torture/rpc/dssync.c
===================================================================
--- branches/SOC/SAMBA_4_0/SAMBA_4_0/source/torture/rpc/dssync.c	2005-07-26 01:11:02 UTC (rev 8764)
+++ branches/SOC/SAMBA_4_0/SAMBA_4_0/source/torture/rpc/dssync.c	2005-07-26 01:35:38 UTC (rev 8765)
@@ -123,46 +123,65 @@
 	return ctx;
 }
 
-static void test_destroy_context(struct DsSyncTest *ctx)
+static void test_destroy_context(struct DsSyncTest *ctx, struct ldb_context *ldb_ctx)
 {
 	{
 		const char *ldif;
-		struct ldap_message *req; //, *rep;
-		NTSTATUS rtn;
-		BOOL rtn_status = False;
+		//struct ldap_message *req, *rep;
+		struct ldb_ldif *ldb_req;
+		int rtn;
 		
+		// * BOOL rtn_status = False;
+		rtn = ldb_connect(ldb_ctx,ctx->ldap_url,0,NULL);
+		if (rtn != 0) {
+			printf("test_destroy_context(): ldb_connect() failed: %s.\n",
+				ldb_errstring(ldb_ctx));
+			return;
+		}
 		ldif = talloc_asprintf(ctx,
 			"dn: %s\n"
 			"changetype: delete\n",
 			ctx->new_dc.dc_info2.ntds_dn);
+
+		ldb_req = ldb_ldif_read_string(ldb_ctx,&ldif);
+		printf("test_destroy_context(): deleting %s.\n",ctx->new_dc.dc_info2.ntds_dn);
+		rtn = ldb_delete(ldb_ctx,ctx->new_dc.dc_info2.ntds_dn);
+		if (rtn != 0) {
+			printf("test_destroy_context(): ldb_delete() failed: %s.\n",
+				ldb_errstring(ldb_ctx));
+			return;
+		}
 	
-		//req = ldap_ldif2msg(ctx, ldif);
-		//req.messageid = ;
-		req->type = LDAP_TAG_DelRequest;
-		req->r.DelRequest.dn = ctx->new_dc.dc_info2.ntds_dn;
-		//req.num_controls = ;
-		//req.controls = ;
+		// * req = ldap_ldif2msg(ctx, ldif);
+		// * req.messageid = ;
+		//req->type = LDAP_TAG_DelRequest;
+		//req->r.DelRequest.dn = ctx->new_dc.dc_info2.ntds_dn;
+		// * req.num_controls = ;
+		// * req.controls = ;
 		
 		
 		
-		rtn = ldap_transaction(ctx->admin.ldap.conn, req);
+		//rtn = ldap_transaction(ctx->admin.ldap.conn, req);
 	}
 
 	{
 		const char *ldif;
-		struct ldap_message *req; //, *rep;
-		NTSTATUS rtn;
+		struct ldb_ldif *ldb_req;
+		//struct ldap_message *req, *rep;
+		int rtn;
 		
 		ldif = talloc_asprintf(ctx,
 			"dn: %s\n"
 			"changetype: delete\n",
 			ctx->new_dc.dc_info2.server_dn);
-
+		ldb_req = ldb_ldif_read_string(ldb_ctx,&ldif);
+		rtn = ldb_delete(ldb_ctx,ctx->new_dc.dc_info2.server_dn);
+		printf("test_destroy_context(): deleting %s.\n",ctx->new_dc.dc_info2.server_dn);
 		//req = ldap_ldif2msg(ctx, ldif);
-		req->type = LDAP_TAG_DelRequest;
-		req->r.DelRequest.dn = ctx->new_dc.dc_info2.ntds_dn;
+		//req->type = LDAP_TAG_DelRequest;
+		//req->r.DelRequest.dn = ctx->new_dc.dc_info2.ntds_dn;
 
-		rtn = ldap_transaction(ctx->admin.ldap.conn, req);
+		//rtn = ldap_transaction(ctx->admin.ldap.conn, req);
 	}
 
 	if (ctx->new_dc.join) {
@@ -178,16 +197,12 @@
 	BOOL ret = True;
 	struct event_context *event = NULL;
 
-	printf("test_DsBind():0\n");
-
 	status = dcerpc_pipe_connect_b(ctx,
 				       &b->pipe, ctx->drsuapi_binding, 
 				       DCERPC_DRSUAPI_UUID,
 				       DCERPC_DRSUAPI_VERSION,
 				       credentials, event);
 	
-	printf("test_DsBind():1\n");
-	
 	if (!NT_STATUS_IS_OK(status)) {
 		printf("Failed to connect to server as a BDC: %s\n", nt_errstr(status));
 		return False;
@@ -242,9 +257,6 @@
 	struct drsuapi_DsNameString names[1];
 	BOOL ret = True;
 	
-
- printf("\ttest_GetInfo():0\n");
-	
 	r.in.bind_handle		= &ctx->admin.drsuapi.bind_handle;
 	r.in.level			= 1;
 	r.in.req.req1.unknown1		= 0x000004e4;
@@ -256,13 +268,9 @@
 	r.in.req.req1.format_offered	= DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT;
 	r.in.req.req1.format_desired	= DRSUAPI_DS_NAME_FORMAT_FQDN_1779;
 	names[0].str = talloc_asprintf(ctx, "%s\\%s", lp_workgroup(), TEST_MACHINE_NAME"$");
-	
- printf("\ttest_GetInfo():1\n");
-	
+		
 	status = dcerpc_drsuapi_DsCrackNames(ctx->admin.drsuapi.pipe, ctx, &r);
 	
- printf("\ttest_GetInfo():2\n");
-	
 	if (!NT_STATUS_IS_OK(status)) {
 		const char *errstr = nt_errstr(status);
 		if (NT_STATUS_EQUAL(status, NT_STATUS_NET_WRITE_FAULT)) {
@@ -275,8 +283,6 @@
 		return False;
 	}
 
- printf("test_GetInfo():3\n");
-
 	/* = r.out.ctr.ctr1->array[0].dns_domain_name;*/
 	ctx->new_dc.dc_info2.computer_dn = r.out.ctr.ctr1->array[0].result_name;
 
@@ -302,7 +308,8 @@
 	ctx->schema_dn = talloc_asprintf(ctx, "CN=Schema,%s", ctx->config_dn);
 
 	ctx->new_dc.dc_info2.server_dn = talloc_asprintf(ctx,
-		"CN=%s,CN=Servers,CN=Standardname-des-ersten-Standorts,CN=Sites,CN=Configuration,%s",
+//		"CN=%s,CN=Servers,CN=Standardname-des-ersten-Standorts,CN=Sites,CN=Configuration,%s",
+		"CN=%s,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,%s",
 		TEST_MACHINE_NAME, ctx->domain_dn);
 
 	ctx->new_dc.dc_info2.ntds_dn = talloc_asprintf(ctx,
@@ -339,7 +346,7 @@
 		"userAccountControl: %u\n",
 		ctx->new_dc.dc_info2.computer_dn,
 		UF_SERVER_TRUST_ACCOUNT|UF_TRUSTED_FOR_DELEGATION);
-
+	printf("dn: %s.\n",ctx->new_dc.dc_info2.computer_dn);
 	ldb_req = ldb_ldif_read_string(ldb_ctx,&ldif);	
 	// * req = ldap_ldif2msg(ctx, ldif);
 	// * req->type = LDAP_TAG_ModifyRequest;
@@ -352,8 +359,7 @@
 	// * req->r.ModifyRequest.mods->attrib.values->data = UF_SERVER_TRUST_ACCOUNT|UF_TRUSTED_FOR_DELEGATION;
 	// * req->r.ModifyRequest.mods->attrib.values->length = sizeof(req->r.ModifyRequest.mods->attrib.values->data);
 	
-// = UF_SERVER_TRUST_ACCOUNT|UF_TRUSTED_FOR_DELEGATION;
-	
+// = UF_SERVER_TRUST_ACCOUNT|UF_TRUSTED_FOR_DELEGATION;	
 	rtn = ldb_modify(ldb_ctx,ldb_req->msg);
 	if (rtn != 0) {
 		printf("test_CompleteJoin() ldb_modify() failed: %s.\n",
@@ -378,7 +384,7 @@
 		ctx->new_dc.dc_info2.computer_dn);
 		
 	ldb_req = ldb_ldif_read_string(ldb_ctx,&ldif);	
-	
+	printf("dn: %s\nserverReference: %s.\n",ctx->new_dc.dc_info2.server_dn,ctx->new_dc.dc_info2.computer_dn);
 // *	req = ldap_ldif2msg(ctx, ldif);
 // *	req->type = LDAP_TAG_AddRequest;
 // *	req.r.AddRequest.dn = ctx->new_dc.dc_info2.server_dn;
@@ -398,13 +404,15 @@
 // *	req.r.AddRequest.attributes.name = 'serverReference';
 // *	req.r.AddRequest.attributes.num_values = 1;
 // *	req.r.AddRequest.attributes.values = ctx->new_dc.dc_info2.computer_dn;
-	
-	rtn = ldb_modify(ldb_ctx,ldb_req->msg);
+	printf("test\n");
+	//rtn = ldb_modify(ldb_ctx,ldb_req->msg);
+	rtn = ldb_add(ldb_ctx,ldb_req->msg);
 	if (rtn != 0) {
-		printf("test_CompleteJoin(): ldb_modify() failed: %s.\n",
+		printf("test_CompleteJoin(): ldb_add() failed: %s.\n",
 		 ldb_errstring(ldb_ctx));
 		return False;
 	}
+	printf("test2\n");
 	// rtn = ldap_transaction(ctx->admin.ldap.conn, req);
 
 	/* add entry CN=NTDS Settings
@@ -784,10 +792,7 @@
 	TALLOC_CTX *mem_ctx;
 	struct DsSyncTest *ctx;
 	int rtn = 0;
-//	char *url;
-	char *host;
-	struct ldap_connection *conn;
-	NTSTATUS status;
+	struct ldb_context *ldb_ctx;
 	
 	mem_ctx = talloc_init("torture_rpc_dssync");
 	ctx = test_create_context(mem_ctx);
@@ -795,7 +800,7 @@
 //	url = talloc_asprintf(mem_ctx, "ldap://%s/",host);
 
 // ldb method
-	struct ldb_context *ldb_ctx;
+	// * struct ldb_context *ldb_ctx;
 	
 	ldb_ctx = ldb_init(mem_ctx);
 	//printf("ctx->ldap_url: %s.\n",ctx->ldap_url);
@@ -835,7 +840,7 @@
 
 	//ret &= test_FetchData(ctx);
 
-	//test_destroy_context(ctx);
+	test_destroy_context(ctx,ldb_ctx);
 
 	return ret;
 }



More information about the samba-cvs mailing list