svn commit: samba r8856 - in
branches/SOC/SAMBA_4_0/source/torture/rpc: .
brad at samba.org
brad at samba.org
Sat Jul 30 01:20:34 GMT 2005
Author: brad
Date: 2005-07-30 01:20:33 +0000 (Sat, 30 Jul 2005)
New Revision: 8856
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=8856
Log:
I think I have the ldb code down in test_CompleteJoin (not complete yet though)
Modified:
branches/SOC/SAMBA_4_0/source/torture/rpc/dssync.c
Changeset:
Modified: branches/SOC/SAMBA_4_0/source/torture/rpc/dssync.c
===================================================================
--- branches/SOC/SAMBA_4_0/source/torture/rpc/dssync.c 2005-07-30 00:14:48 UTC (rev 8855)
+++ branches/SOC/SAMBA_4_0/source/torture/rpc/dssync.c 2005-07-30 01:20:33 UTC (rev 8856)
@@ -321,12 +321,8 @@
static BOOL test_CompleteJoin(struct DsSyncTest *ctx)
{
NTSTATUS status;
- //const char *ldif;
- // * struct ldap_message *req, *rep;
BOOL ret = True;
int rtn;
- //struct ldb_message *ldb_msg;
- //struct ldb_ldif *ldb_req;
rtn = ldb_connect(ctx->ldb_ctx,ctx->ldap_url,0,NULL);
if (rtn != 0) {
@@ -346,33 +342,23 @@
// "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;
- // * req->r.ModifyRequest.dn = ctx->new_dc.dc_info2.computer_dn;
- // * req->r.ModifyRequest.num_mods = 1;
- // * req->r.ModifyRequest.mods->type = LDAP_MODIFY_REPLACE;
- // * req->r.ModifyRequest.mods->attrib.flags = LDB_FLAG_MOD_REPLACE;
- // * req->r.ModifyRequest.mods->attrib.name = "userAccountControl";
- // * req->r.ModifyRequest.mods->attrib.num_values = 1;
- // * 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;
+
+ ctx->ldb_msg = ldb_msg_new(ctx);
+ ldb_msg_add_fmt(ctx->ldb_ctx,ctx->ldb_msg,"userAccountControl","%u",UF_SERVER_TRUST_ACCOUNT|UF_TRUSTED_FOR_DELEGATION);
ctx->ldb_msg->dn = ctx->new_dc.dc_info2.computer_dn;
- ctx->ldb_msg->num_elements = 1;
ctx->ldb_msg->elements->flags = LDB_FLAG_MOD_REPLACE;
- ctx->ldb_msg->elements->name = "userAccountControl";
- ctx->ldb_msg->elements->num_values = 1;
- ctx->ldb_msg->elements->values->data = UF_SERVER_TRUST_ACCOUNT|UF_TRUSTED_FOR_DELEGATION;
-
+
rtn = ldb_modify(ctx->ldb_ctx,ctx->ldb_msg);
if (rtn != 0) {
printf("test_CompleteJoin() ldb_modify() failed: %s.\n",
ldb_errstring(ctx->ldb_ctx));
return False;
}
+ printf("ldb_modify() succeeded.\n");
+ ldb_msg_free(ctx->ldb_ctx,ctx->ldb_msg);
+
// * rtn = ldap_transaction(ctx->admin.ldap.conn, req);
/* add entry CN=<NETBIOSNAME>,CN=Servers
@@ -392,7 +378,9 @@
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;
@@ -412,15 +400,22 @@
// * 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;
- printf("test\n");
+
//rtn = ldb_modify(ldb_ctx,ldb_req->msg);
+ ctx->ldb_msg = ldb_msg_new(ctx);
+ ldb_msg_add_string(ctx->ldb_ctx,ctx->ldb_msg,"objectClass","server");
+ ldb_msg_add_string(ctx->ldb_ctx,ctx->ldb_msg,"systemFlags","50000000");
+ ldb_msg_add_string(ctx->ldb_ctx,ctx->ldb_msg,"serverReference",ctx->new_dc.dc_info2.computer_dn);
+ ctx->ldb_msg->dn = ctx->new_dc.dc_info2.server_dn;
+ ctx->ldb_msg->elements->flags = LDB_FLAG_MOD_REPLACE;
+
rtn = ldb_add(ctx->ldb_ctx,ctx->ldb_msg);
if (rtn != 0) {
printf("test_CompleteJoin(): ldb_add() failed: %s.\n",
ldb_errstring(ctx->ldb_ctx));
return False;
}
- printf("test2\n");
+ printf("ldb_add() succeeded.\n");
// rtn = ldap_transaction(ctx->admin.ldap.conn, req);
/* add entry CN=NTDS Settings
@@ -805,11 +800,13 @@
mem_ctx = talloc_init("torture_rpc_dssync");
ctx = test_create_context(mem_ctx);
+ ctx->ldb_ctx = ldb_init(mem_ctx);
+ //ctx->ldb_msg = talloc_init("ldb_message");
// url = talloc_asprintf(mem_ctx, "ldap://%s/",host);
// ldb method
- ctx->ldb_ctx = ldb_init(mem_ctx);
+
//printf("ctx->ldap_url: %s.\n",ctx->ldap_url);
rtn = ldb_connect(ctx->ldb_ctx,ctx->ldap_url,0,NULL);
printf("Connected to %s.\n",ctx->ldap_url);
More information about the samba-cvs
mailing list