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;
 }

Reply via email to