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