Author: brad
Date: 2005-08-12 02:55:11 +0000 (Fri, 12 Aug 2005)
New Revision: 9256

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

Log:
 [EMAIL PROTECTED]:  j0j0 | 2005-08-11 21:02:27 -0600
 Clean up libnet_JoinADSDomain() a little, added a comment to the test_join 
struct.

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/testjoin.c


Changeset:

Property changes on: branches/SOC/SAMBA_4_0
___________________________________________________________________
Name: svk:merge
   - 0c0555d6-39d7-0310-84fc-f1cc0bd64818:/branches/SAMBA_4_0:9240
d349723c-e9fc-0310-b8a8-fdedf1c27407:/local/SAMBA_4_0:5411
d349723c-e9fc-0310-b8a8-fdedf1c27407:/local/samba-SAMBA_4_0:5410
   + 0c0555d6-39d7-0310-84fc-f1cc0bd64818:/branches/SAMBA_4_0:9240
d349723c-e9fc-0310-b8a8-fdedf1c27407:/local/SAMBA_4_0:5413
d349723c-e9fc-0310-b8a8-fdedf1c27407:/local/samba-SAMBA_4_0:5410

Modified: branches/SOC/SAMBA_4_0/source/libnet/libnet_join.c
===================================================================
--- branches/SOC/SAMBA_4_0/source/libnet/libnet_join.c  2005-08-12 02:27:38 UTC 
(rev 9255)
+++ branches/SOC/SAMBA_4_0/source/libnet/libnet_join.c  2005-08-12 02:55:11 UTC 
(rev 9256)
@@ -74,18 +74,6 @@
        struct samr_GetUserPwInfo pwp;
        struct lsa_String samr_account_name;
 
-       /*
-       struct dcerpc_pipe *drsuapi_pipe;
-       struct dcerpc_binding *drsuapi_binding;
-       struct drsuapi_DsBind r_drsuapi_bind;
-       struct drsuapi_DsCrackNames r_crack_names;
-       struct drsuapi_DsNameString names[1];
-       struct policy_handle drsuapi_bind_handle;
-       struct GUID drsuapi_bind_guid;
-       */
-
-       /*struct ldb_context *remote_ldb;*/
-
        uint32_t acct_flags;
        uint32_t rid, access_granted;
        int policy_min_pw_len = 0;
@@ -93,14 +81,7 @@
        struct dom_sid *domain_sid;
        const char *domain_name;
        const char *realm = NULL; /* Also flag for remote being AD */
-       /*
-       const char *account_dn;
 
-       char *remote_ldb_url;
-       struct ldb_message **msgs, *msg;
-       int ldb_ret;
-       */
-
        
        tmp_ctx = talloc_named(mem_ctx, 0, "libnet_Join temp context");
        if (!tmp_ctx) {
@@ -442,8 +423,11 @@
 
        /* Now, if it was AD, then we want to start looking changing a
         * few more things.  Otherwise, we are done. */
+
        if (realm) {
-               return libnet_JoinADSDomain(ctx, mem_ctx, tmp_ctx, 
samr_binding, realm, domain_name, r);
+               r->out.samr_pipe = samr_pipe;
+               r->out.samr_binding = samr_binding;
+               return libnet_JoinADSDomain(ctx, mem_ctx, tmp_ctx, r);
        }
        r->out.realm = NULL;
        r->out.kvno = 0;
@@ -451,41 +435,16 @@
        return NT_STATUS_OK;
 }
 
-NTSTATUS libnet_JoinADSDomain(struct libnet_context *ctx, TALLOC_CTX *mem_ctx, 
TALLOC_CTX *tmp_ctx, struct dcerpc_binding *samr_binding, const char *realm, 
const char *domain_name, struct libnet_JoinDomain *r)
+NTSTATUS libnet_JoinADSDomain(struct libnet_context *ctx, TALLOC_CTX *mem_ctx, 
TALLOC_CTX *tmp_ctx, struct libnet_JoinDomain *r)
 {
-       /*TALLOC_CTX *tmp_ctx;*/
 
-       NTSTATUS status;
-       /*
-       struct libnet_RpcConnect c;
-       struct lsa_ObjectAttribute attr;
-       struct lsa_QosInfo qos;
-       struct lsa_OpenPolicy2 lsa_open_policy;
-       struct policy_handle lsa_p_handle;
-       struct lsa_QueryInfoPolicy2 lsa_query_info2;
-       struct lsa_QueryInfoPolicy lsa_query_info;
-       */
 
-
-       /*
-       struct dcerpc_binding *samr_binding;
-       struct dcerpc_pipe *samr_pipe;
-       struct samr_Connect sc;
-       struct policy_handle p_handle;
-       struct samr_OpenDomain od;
-       struct policy_handle d_handle;
-       struct samr_LookupNames ln;
-       struct samr_OpenUser ou;
-       struct samr_CreateUser2 cu;
-       struct policy_handle u_handle;
-       struct samr_QueryUserInfo qui;
-       struct samr_SetUserInfo sui;
-       union samr_UserInfo u_info;
-       union libnet_SetPassword r2;
-       struct samr_GetUserPwInfo pwp;
-       struct lsa_String samr_account_name;
-       */
-
+       NTSTATUS status;
+       
+       const char *realm = r->out.realm;
+       
+       struct dcerpc_binding *samr_binding = r->out.samr_binding;
+       
        struct dcerpc_pipe *drsuapi_pipe;
        struct dcerpc_binding *drsuapi_binding;
        struct drsuapi_DsBind r_drsuapi_bind;
@@ -496,15 +455,6 @@
 
        struct ldb_context *remote_ldb;
 
-       /*
-       uint32_t acct_flags;
-       uint32_t rid, access_granted;
-       int policy_min_pw_len = 0;
-       struct dom_sid *domain_sid;
-       */
-       
-       /*const char *domain_name;*/
-       /*const char *realm = NULL;*/ /* Also flag for remote being AD */
        const char *account_dn;
 
        char *remote_ldb_url;
@@ -518,12 +468,10 @@
                NULL,
        };
 
-
        /* We need to convert between a samAccountName and domain to a
         * DN in the directory.  The correct way to do this is with
         * DRSUAPI CrackNames */
 
-
        /* Fiddle with the bindings, so get to DRSUAPI on
         * NCACN_IP_TCP, sealed */
        drsuapi_binding = talloc(tmp_ctx, struct dcerpc_binding);
@@ -561,7 +509,7 @@
                        r->out.error_string
                                = talloc_asprintf(mem_ctx,
                                                  "dcerpc_drsuapi_DsBind for 
[%s\\%s] failed - %s\n", 
-                                                 domain_name, 
r->in.account_name, 
+                                                 r->in.domain_name, 
r->in.account_name, 
                                                  dcerpc_errstr(tmp_ctx, 
drsuapi_pipe->last_fault_code));
                        talloc_free(tmp_ctx);
                        return status;
@@ -569,7 +517,7 @@
                        r->out.error_string
                                = talloc_asprintf(mem_ctx,
                                                  "dcerpc_drsuapi_DsBind for 
[%s\\%s] failed - %s\n", 
-                                                 domain_name, 
r->in.account_name, 
+                                                 r->in.domain_name, 
r->in.account_name, 
                                                  nt_errstr(status));
                        talloc_free(tmp_ctx);
                        return status;
@@ -593,7 +541,7 @@
        r_crack_names.in.req.req1.format_flags  = DRSUAPI_DS_NAME_FLAG_NO_FLAGS;
        r_crack_names.in.req.req1.format_offered        = 
DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT;
        r_crack_names.in.req.req1.format_desired        = 
DRSUAPI_DS_NAME_FORMAT_FQDN_1779;
-       names[0].str = talloc_asprintf(tmp_ctx, "%s\\%s", domain_name, 
r->in.account_name);
+       names[0].str = talloc_asprintf(tmp_ctx, "%s\\%s", r->in.domain_name, 
r->in.account_name);
 
        status = dcerpc_drsuapi_DsCrackNames(drsuapi_pipe, tmp_ctx, 
&r_crack_names);
        if (!NT_STATUS_IS_OK(status)) {
@@ -601,7 +549,7 @@
                        r->out.error_string
                                = talloc_asprintf(mem_ctx,
                                                  "dcerpc_drsuapi_DsCrackNames 
for [%s\\%s] failed - %s\n", 
-                                                 domain_name, 
r->in.account_name, 
+                                                 r->in.domain_name, 
r->in.account_name, 
                                                  dcerpc_errstr(tmp_ctx, 
drsuapi_pipe->last_fault_code));
                        talloc_free(tmp_ctx);
                        return status;
@@ -609,7 +557,7 @@
                        r->out.error_string
                                = talloc_asprintf(mem_ctx,
                                                  "dcerpc_drsuapi_DsCrackNames 
for [%s\\%s] failed - %s\n", 
-                                                 domain_name, 
r->in.account_name, 
+                                                 r->in.domain_name, 
r->in.account_name, 
                                                  nt_errstr(status));
                        talloc_free(tmp_ctx);
                        return status;

Modified: branches/SOC/SAMBA_4_0/source/libnet/libnet_join.h
===================================================================
--- branches/SOC/SAMBA_4_0/source/libnet/libnet_join.h  2005-08-12 02:27:38 UTC 
(rev 9255)
+++ branches/SOC/SAMBA_4_0/source/libnet/libnet_join.h  2005-08-12 02:55:11 UTC 
(rev 9256)
@@ -41,6 +41,8 @@
                const char *domain_name;
                const char *realm;
                unsigned int kvno; /* msDS-KeyVersionNumber */
+               struct dcerpc_pipe *samr_pipe;
+               struct dcerpc_binding *samr_binding;
        } out;
 };
 

Modified: branches/SOC/SAMBA_4_0/source/torture/rpc/testjoin.c
===================================================================
--- branches/SOC/SAMBA_4_0/source/torture/rpc/testjoin.c        2005-08-12 
02:27:38 UTC (rev 9255)
+++ branches/SOC/SAMBA_4_0/source/torture/rpc/testjoin.c        2005-08-12 
02:55:11 UTC (rev 9256)
@@ -30,7 +30,7 @@
 #include "system/time.h"
 
 struct test_join {
-       struct dcerpc_pipe *p;
+       struct dcerpc_pipe *p; /*SAMR pipe*/
        struct policy_handle user_handle;
        const char *dom_sid;
 };

Reply via email to