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