Author: brad
Date: 2005-08-11 23:31:48 +0000 (Thu, 11 Aug 2005)
New Revision: 9249

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

Log:
 [EMAIL PROTECTED]:  j0j0 | 2005-08-11 17:38:44 -0600
 Split libnet_JoinDomain() into libnet_JoinDomain() and libnet_JoinADSDomain().

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


Changeset:

Property changes on: branches/SOC/SAMBA_4_0
___________________________________________________________________
Name: svk:merge
   - 0c0555d6-39d7-0310-84fc-f1cc0bd64818:/branches/SAMBA_4_0:9179
d349723c-e9fc-0310-b8a8-fdedf1c27407:/local/SAMBA_4_0:5373
d349723c-e9fc-0310-b8a8-fdedf1c27407:/local/samba-SAMBA_4_0:5370
   + 0c0555d6-39d7-0310-84fc-f1cc0bd64818:/branches/SAMBA_4_0:9179
d349723c-e9fc-0310-b8a8-fdedf1c27407:/local/SAMBA_4_0:5375
d349723c-e9fc-0310-b8a8-fdedf1c27407:/local/samba-SAMBA_4_0:5370

Modified: branches/SOC/SAMBA_4_0/source/libnet/libnet_join.c
===================================================================
--- branches/SOC/SAMBA_4_0/source/libnet/libnet_join.c  2005-08-11 22:59:02 UTC 
(rev 9248)
+++ branches/SOC/SAMBA_4_0/source/libnet/libnet_join.c  2005-08-11 23:31:48 UTC 
(rev 9249)
@@ -74,6 +74,7 @@
        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;
@@ -81,8 +82,9 @@
        struct drsuapi_DsNameString names[1];
        struct policy_handle drsuapi_bind_handle;
        struct GUID drsuapi_bind_guid;
+       */
 
-       struct ldb_context *remote_ldb;
+       /*struct ldb_context *remote_ldb;*/
 
        uint32_t acct_flags;
        uint32_t rid, access_granted;
@@ -91,19 +93,15 @@
        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;
+       */
 
-       const char *attrs[] = {
-               "msDS-KeyVersionNumber",
-               "servicePrincipalName",
-               "dNSHostName",
-               NULL,
-       };
-
+       
        tmp_ctx = talloc_named(mem_ctx, 0, "libnet_Join temp context");
        if (!tmp_ctx) {
                r->out.error_string = NULL;
@@ -444,13 +442,83 @@
 
        /* Now, if it was AD, then we want to start looking changing a
         * few more things.  Otherwise, we are done. */
-       if (!realm) {
-               r->out.realm = NULL;
-               r->out.kvno = 0;
-               talloc_free(tmp_ctx);
-               return NT_STATUS_OK;
+       if (realm) {
+               return libnet_JoinADSDomain(ctx, mem_ctx, tmp_ctx, 
samr_binding, realm, domain_name, r);
        }
+       r->out.realm = NULL;
+       r->out.kvno = 0;
+       talloc_free(tmp_ctx);
+       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)
+{
+       /*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;
+       */
+
+       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;
+       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;
+       
+       const char *attrs[] = {
+               "msDS-KeyVersionNumber",
+               "servicePrincipalName",
+               "dNSHostName",
+               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 */

Modified: branches/SOC/SAMBA_4_0/source/libnet/libnet_join.h
===================================================================
--- branches/SOC/SAMBA_4_0/source/libnet/libnet_join.h  2005-08-11 22:59:02 UTC 
(rev 9248)
+++ branches/SOC/SAMBA_4_0/source/libnet/libnet_join.h  2005-08-11 23:31:48 UTC 
(rev 9249)
@@ -40,7 +40,7 @@
                struct dom_sid *domain_sid;
                const char *domain_name;
                const char *realm;
-               unsigned int kvno;
+               unsigned int kvno; /* msDS-KeyVersionNumber */
        } out;
 };
 

Reply via email to