Author: brad
Date: 2005-07-24 22:24:46 +0000 (Sun, 24 Jul 2005)
New Revision: 8739

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

Log:
added a test called RPC-DSSYNC to config.mk
hacking at dssync.c in an attempt to make it compile
Modified:
   branches/SOC/SAMBA_4_0/SAMBA_4_0/source/torture/config.mk
   branches/SOC/SAMBA_4_0/SAMBA_4_0/source/torture/rpc/dssync.c
   branches/SOC/SAMBA_4_0/SAMBA_4_0/source/torture/torture.c


Changeset:
Modified: branches/SOC/SAMBA_4_0/SAMBA_4_0/source/torture/config.mk
===================================================================
--- branches/SOC/SAMBA_4_0/SAMBA_4_0/source/torture/config.mk   2005-07-24 
22:18:01 UTC (rev 8738)
+++ branches/SOC/SAMBA_4_0/SAMBA_4_0/source/torture/config.mk   2005-07-24 
22:24:46 UTC (rev 8739)
@@ -71,6 +71,7 @@
 # Start SUBSYSTEM TORTURE_RPC
 [SUBSYSTEM::TORTURE_RPC]
 ADD_OBJ_FILES = \
+               torture/rpc/dssync.o \
                torture/rpc/lsa.o \
                torture/rpc/session_key.o \
                torture/rpc/echo.o \

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-24 22:18:01 UTC (rev 8738)
+++ branches/SOC/SAMBA_4_0/SAMBA_4_0/source/torture/rpc/dssync.c        
2005-07-24 22:24:46 UTC (rev 8739)
@@ -127,30 +127,42 @@
 {
        {
                const char *ldif;
-               struct ldap_message *req, *rep;
-
+               struct ldap_message *req; //, *rep;
+               NTSTATUS rtn;
+               BOOL rtn_status = False;
+               
                ldif = talloc_asprintf(ctx,
                        "dn: %s\n"
                        "changetype: delete\n",
                        ctx->new_dc.dc_info2.ntds_dn);
-
-               req = ldap_ldif2msg(ctx, ldif);
-
-               rep = ldap_transaction(ctx->admin.ldap.conn, req);
+       
+               //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);
        }
 
        {
                const char *ldif;
-               struct ldap_message *req, *rep;
-
+               struct ldap_message *req; //, *rep;
+               NTSTATUS rtn;
+               
                ldif = talloc_asprintf(ctx,
                        "dn: %s\n"
                        "changetype: delete\n",
                        ctx->new_dc.dc_info2.server_dn);
 
-               req = ldap_ldif2msg(ctx, ldif);
+               //req = ldap_ldif2msg(ctx, ldif);
+               req->type = LDAP_TAG_DelRequest;
+               req->r.DelRequest.dn = ctx->new_dc.dc_info2.ntds_dn;
 
-               rep = ldap_transaction(ctx->admin.ldap.conn, req);
+               rtn = ldap_transaction(ctx->admin.ldap.conn, req);
        }
 
        if (ctx->new_dc.join) {
@@ -164,12 +176,13 @@
 {
        NTSTATUS status;
        BOOL ret = True;
+       struct event_context *event;
 
        status = dcerpc_pipe_connect_b(ctx,
                                       &b->pipe, ctx->drsuapi_binding, 
                                       DCERPC_DRSUAPI_UUID,
                                       DCERPC_DRSUAPI_VERSION,
-                                      credentials);
+                                      credentials, event);
        
        if (!NT_STATUS_IS_OK(status)) {
                printf("Failed to connect to server as a BDC: %s\n", 
nt_errstr(status));
@@ -290,9 +303,10 @@
 {
        NTSTATUS status;
        const char *ldif;
-       struct ldap_message *req,*rep;
+       struct ldap_message *req; //,*rep;
        BOOL ret = True;
-
+       NTSTATUS rtn;
+       
        /* userAccountControl: 532480 0x82000 
         * UF_SERVER_TRUST_ACCOUNT|UF_TRUSTED_FOR_DELEGATION
         */
@@ -304,10 +318,21 @@
                ctx->new_dc.dc_info2.computer_dn,
                UF_SERVER_TRUST_ACCOUNT|UF_TRUSTED_FOR_DELEGATION);
 
-       req = ldap_ldif2msg(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;
+       
+       rtn = ldap_transaction(ctx->admin.ldap.conn, req);
 
-       rep = ldap_transaction(ctx->admin.ldap.conn, req);
-
        /* add entry CN=<NETBIOSNAME>,CN=Servers
         * objectClass: server
         * systemFlags: 50000000 0x2FAF080
@@ -323,10 +348,28 @@
                50000000,
                ctx->new_dc.dc_info2.computer_dn);
 
-       req = ldap_ldif2msg(ctx, ldif);
+//     req = ldap_ldif2msg(ctx, ldif);
+       req->type = LDAP_TAG_AddRequest;
+       req.r.AddRequest.dn = ctx->new_dc.dc_info2.server_dn;
+       req.r.AddRequest.num_attributes = 3;
+       
+       req.r.AddRequest.attributes.flags = LDB_FLAG_MOD_ADD;
+       req.r.AddRequest.attributes.name = 'objectClass';
+       req.r.AddRequest.attributes.num_values = 1;
+       req.r.AddRequest.attributes.values = 'server';
+       
+       req.r.AddRequest.attributes.flags = LDB_FLAG_MOD_ADD;
+       req.r.AddRequest.attributes.name = 'systemFlags';
+       req.r.AddRequest.attributes.num_values = 1;
+       req.r.AddRequest.attributes.values = '50000000';
+       
+       req.r.AddRequest.attributes.flags = LDB_FLAG_MOD_ADD;
+       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 = ldap_transaction(ctx->admin.ldap.conn, req);
 
-       rep = ldap_transaction(ctx->admin.ldap.conn, req);
-
        /* add entry CN=NTDS Settings
         * 
         */
@@ -676,7 +719,7 @@
 
        req = ldap_ldif2msg(ctx, ldif);
 
-       rep = ldap_transaction(ctx->admin.ldap.conn, req);
+       rtn = ldap_transaction(ctx->admin.ldap.conn, req);
 
        ctx->new_dc.dc_info2.computer_dn = talloc_asprintf(ctx,
                                                "CN=%s,OU=Domain 
Controllers,%s",

Modified: branches/SOC/SAMBA_4_0/SAMBA_4_0/source/torture/torture.c
===================================================================
--- branches/SOC/SAMBA_4_0/SAMBA_4_0/source/torture/torture.c   2005-07-24 
22:18:01 UTC (rev 8738)
+++ branches/SOC/SAMBA_4_0/SAMBA_4_0/source/torture/torture.c   2005-07-24 
22:24:46 UTC (rev 8739)
@@ -2309,6 +2309,7 @@
        {"RPC-ROT", torture_rpc_rot, 0},
        {"RPC-DSSETUP", torture_rpc_dssetup, 0},
         {"RPC-ALTERCONTEXT", torture_rpc_alter_context, 0},
+        {"RPC-DSSYNC", torture_rpc_dssync, 0},
 
        /* local (no server) testers */
        {"LOCAL-NTLMSSP", torture_ntlmssp_self_check, 0},

Reply via email to