Author: brad
Date: 2005-08-20 16:38:29 +0000 (Sat, 20 Aug 2005)
New Revision: 9427

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

Log:
 [EMAIL PROTECTED]:  j0j0 | 2005-08-20 10:44:52 -0600
 Some bugfixes.
 Removed a bunch of debugging code.
 torture_leave_domain() works again! not 100% perfect yet though...
 

Modified:
   branches/SOC/SAMBA_4_0/
   branches/SOC/SAMBA_4_0/source/libnet/libnet_join.c
   branches/SOC/SAMBA_4_0/source/libnet/libnet_join.h
   branches/SOC/SAMBA_4_0/source/torture/rpc/dssync.c
   branches/SOC/SAMBA_4_0/source/torture/rpc/testjoin.c


Changeset:

Property changes on: branches/SOC/SAMBA_4_0
___________________________________________________________________
Name: svk:merge
   - 0c0555d6-39d7-0310-84fc-f1cc0bd64818:/branches/SAMBA_4_0:9397
d349723c-e9fc-0310-b8a8-fdedf1c27407:/local/SAMBA_4_0:5502
d349723c-e9fc-0310-b8a8-fdedf1c27407:/local/samba-SAMBA_4_0:5497
   + 0c0555d6-39d7-0310-84fc-f1cc0bd64818:/branches/SAMBA_4_0:9397
d349723c-e9fc-0310-b8a8-fdedf1c27407:/local/SAMBA_4_0:5504
d349723c-e9fc-0310-b8a8-fdedf1c27407:/local/samba-SAMBA_4_0:5497

Modified: branches/SOC/SAMBA_4_0/source/libnet/libnet_join.c
===================================================================
--- branches/SOC/SAMBA_4_0/source/libnet/libnet_join.c  2005-08-20 14:31:12 UTC 
(rev 9426)
+++ branches/SOC/SAMBA_4_0/source/libnet/libnet_join.c  2005-08-20 16:38:29 UTC 
(rev 9427)
@@ -422,7 +422,7 @@
        }
        r->out.samr_pipe = talloc_steal(mem_ctx, samr_pipe);
        r->out.samr_binding = talloc_steal(mem_ctx, samr_binding);
-       r->out.user_handle = u_handle;
+       r->out.user_handle = &u_handle;
        /* Now, if it was AD, then we want to start looking changing a
         * few more things.  Otherwise, we are done. */
        if (realm) {
@@ -432,7 +432,9 @@
        r->out.realm = NULL;
        r->out.kvno = 0;
 
+
        talloc_free(tmp_ctx); 
+
        return NT_STATUS_OK;
 }
 
@@ -644,7 +646,9 @@
                }
        }
        
+/*     testing
        talloc_free(tmp_ctx); 
+*/
 
        return NT_STATUS_OK;
 }
@@ -703,10 +707,17 @@
                return status;
        }
        
+       
+       /*
        r->out.samr_pipe = r2.out.samr_pipe;
        r->out.user_handle = r2.out.user_handle;
        r->out.domain_sid = r2.out.domain_sid;
        r->out.join_password = r2.out.join_password;
+       */
+       r2.out.samr_pipe = talloc_steal(mem_ctx, r->out.samr_pipe);
+       r2.out.user_handle = talloc_steal(mem_ctx, r->out.user_handle);
+       r2.out.domain_sid = talloc_steal(mem_ctx, r->out.domain_sid);
+       r2.out.join_password = talloc_steal(mem_ctx, r->out.join_password);
        
        sct = talloc_asprintf(mem_ctx, "%d", r->in.secure_channel_type);
        msg = ldb_msg_new(mem_ctx);

Modified: branches/SOC/SAMBA_4_0/source/libnet/libnet_join.h
===================================================================
--- branches/SOC/SAMBA_4_0/source/libnet/libnet_join.h  2005-08-20 14:31:12 UTC 
(rev 9426)
+++ branches/SOC/SAMBA_4_0/source/libnet/libnet_join.h  2005-08-20 16:38:29 UTC 
(rev 9427)
@@ -44,10 +44,11 @@
                unsigned int kvno; /* msDS-KeyVersionNumber */
                struct dcerpc_pipe *samr_pipe;
                struct dcerpc_binding *samr_binding;
-               struct policy_handle user_handle;
+               struct policy_handle *user_handle;
        } out;
 };
 
+/*I think this struct can be cleaned up.*/
 struct libnet_Join {
        struct {
                const char *domain_name;
@@ -61,7 +62,7 @@
                const char *join_password;
                struct dom_sid *domain_sid;
                struct dcerpc_pipe *samr_pipe;
-               struct policy_handle user_handle;
+               struct policy_handle *user_handle;
        } out;
 };
 

Modified: branches/SOC/SAMBA_4_0/source/torture/rpc/dssync.c
===================================================================
--- branches/SOC/SAMBA_4_0/source/torture/rpc/dssync.c  2005-08-20 14:31:12 UTC 
(rev 9426)
+++ branches/SOC/SAMBA_4_0/source/torture/rpc/dssync.c  2005-08-20 16:38:29 UTC 
(rev 9427)
@@ -80,7 +80,6 @@
        struct drsuapi_DsBindInfoCtr *our_bind_info;
        const char *binding = lp_parm_string(-1, "torture", "binding");
        const char *new_dc_pass;
-       
        ctx = talloc_zero(mem_ctx, struct DsSyncTest);
        if (!ctx) return NULL;
 
@@ -115,54 +114,12 @@
        /*create machine account*/
        ctx->new_dc.join = torture_join_domain(mem_ctx, TEST_MACHINE_NAME, 
lp_workgroup(), ACB_SVRTRUST, &new_dc_pass);  
 
-       /* debugging printf()'s*/
-       if (torture_join_samr_pipe(ctx->new_dc.join) != NULL) {
-                printf("test_create_context(): tj->p isn't null\n");
-       } else {
-               printf("test_create_context(): tj->p is null.\n");
-       }
-       
-       if (torture_join_samr_user_policy(ctx->new_dc.join) != NULL) {
-               printf("test_create_context(): tj->user_handle isn't null\n");  
-       } else {
-               printf("test_create_context(): tj->user_handle is null.\n");
-       }
-
-       /*
-       ctx->libnet_ctx = libnet_context_init(NULL);
-       if (ctx->libnet_ctx == NULL) {
-        printf("libnet_context_init() failed, ctx->libnet_ctx not 
initialized.\n");
-       }
-       ctx->libnet_ctx->cred = cmdline_credentials;
-
-       ctx->libnet_r.in.domain_name = ctx->admin.credentials->domain;
-       ctx->libnet_r.in.secure_channel_type = SEC_CHAN_BDC;
-       ctx->libnet_r.in.level = LIBNET_JOIN_SPECIFIED; 
-       ctx->libnet_r.in.netbios_name = TEST_MACHINE_NAME;
-       
-       status = libnet_Join(ctx->libnet_ctx, ctx, &ctx->libnet_r);
-       if (!NT_STATUS_IS_OK(status)) {
-               const char *errstr = nt_errstr(status);
-               if (NT_STATUS_EQUAL(status, NT_STATUS_NET_WRITE_FAULT)) {
-                       errstr = dcerpc_errstr(ctx, 
ctx->admin.drsuapi.pipe->last_fault_code);
-               }
-               printf("libnet_Join() failed - %s\n", errstr);
-               printf("libnet_r.out.error_string returned: 
%s\n",ctx->libnet_r.out.error_string);
-               ret = False;
-       } else {
-               printf("Joined domain %s as 
%s.\n",ctx->libnet_r.in.domain_name,ctx->libnet_r.in.netbios_name);
-       }
-       */
-
-       
        ctx->new_dc.credentials = cli_credentials_init(ctx);
        
        cli_credentials_set_workstation(ctx->new_dc.credentials, 
TEST_MACHINE_NAME, CRED_SPECIFIED);
        cli_credentials_set_domain(ctx->new_dc.credentials, lp_workgroup(), 
CRED_SPECIFIED);
        cli_credentials_set_username(ctx->new_dc.credentials, 
TEST_MACHINE_NAME"$", CRED_SPECIFIED);
-
        cli_credentials_set_password(ctx->new_dc.credentials, new_dc_pass, 
CRED_SPECIFIED);
-
        cli_credentials_set_secure_channel_type(ctx->new_dc.credentials, 
SEC_CHAN_BDC);
 
        ctx->new_dc.invocation_id = GUID_random();
@@ -229,11 +186,6 @@
                }
        }
 
-       /*
-       This will need to be replaced with a libnet leave domain call.
-       It will remove the computer dn: CN=smbtorturedssync,OU=Domain 
Controllers,DC=smb,DC=test
-       entry, and maybe the server dn also.
-       */
        printf("test_destroy_context(): Removing machine account 
%s$.\n",TEST_MACHINE_NAME);
        if (ctx->new_dc.join) {
                torture_leave_domain(ctx->new_dc.join);

Modified: branches/SOC/SAMBA_4_0/source/torture/rpc/testjoin.c
===================================================================
--- branches/SOC/SAMBA_4_0/source/torture/rpc/testjoin.c        2005-08-20 
14:31:12 UTC (rev 9426)
+++ branches/SOC/SAMBA_4_0/source/torture/rpc/testjoin.c        2005-08-20 
16:38:29 UTC (rev 9427)
@@ -288,6 +288,7 @@
        struct libnet_context *libnet_ctx;
        struct libnet_JoinDomain libnet_r;
        struct test_join *tj;
+               
        NTSTATUS status;
        
        libnet_ctx = libnet_context_init(NULL);
@@ -306,36 +307,16 @@
         the machine acct info in secrets.tdb. We don't want that for a 
torture_join.
         */     
        status = libnet_JoinDomain(libnet_ctx, mem_ctx, &libnet_r);
-
        if (!NT_STATUS_IS_OK(status)) {
                return NULL;
        }
+       
        tj = talloc(mem_ctx, struct test_join);
        
-       /* this bit makes torture_leave_domain() segfault...
-          libnet_ctx seems to be a better place to fetch most of this from 
anyway.
-          
        tj->p = libnet_r.out.samr_pipe;
-       tj->user_handle = libnet_r.out.user_handle; 
+       tj->user_handle = *libnet_r.out.user_handle;
        tj->dom_sid = dom_sid_string(mem_ctx, libnet_r.out.domain_sid);
        *machine_password = libnet_r.out.join_password;
-       */
-       if (libnet_ctx->pipe != NULL) {
-                printf("torture_join_domain(): libnet_ctx->pipe isn't null\n");
-       } else {
-               printf("torture_join_domain(): libnet_ctx->pipe is null.\n");
-       }
-       
-       if (&libnet_ctx->user_handle != NULL) {
-               printf("torture_join_domain(): libnet_ctx->user_handle isn't 
null\n");  
-       } else {
-               printf("torture_join_domain(): libnet_ctx->user_handle is 
null.\n");
-       }
-       
-       tj->p = libnet_ctx->pipe;
-       tj->user_handle = libnet_ctx->user_handle;
-       tj->dom_sid = dom_sid_string(mem_ctx, libnet_r.out.domain_sid);
-       *machine_password = libnet_r.out.join_password;
                
        printf("torture_join_domain() complete.\n");
        return tj;

Reply via email to