[SCM] Samba Shared Repository - branch v3-2-test updated - initial-v3-2-test-2636-g3bcaa35

Günther Deschner gd at samba.org
Thu Feb 28 19:08:46 GMT 2008


The branch, v3-2-test has been updated
       via  3bcaa3582a101abc17f7c21128e01024af877577 (commit)
      from  a5c6347644f2aa138a8e67ffe6c167847df941d0 (commit)

http://gitweb.samba.org/?samba.git;a=shortlog;h=v3-2-test


- Log -----------------------------------------------------------------
commit 3bcaa3582a101abc17f7c21128e01024af877577
Author: Günther Deschner <gd at samba.org>
Date:   Thu Feb 28 20:01:32 2008 +0100

    Re-enable _wkssvc_NetrJoinDomain2 remote join implementation now that we are ready for it.
    
    "netdom join SAMBAHOST" from a windows workstation nicely demonstrates it.
    
    Guenther

-----------------------------------------------------------------------

Summary of changes:
 source/rpc_server/srv_wkssvc_nt.c |   19 +++++++++++++------
 1 files changed, 13 insertions(+), 6 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source/rpc_server/srv_wkssvc_nt.c b/source/rpc_server/srv_wkssvc_nt.c
index 43bd20d..e559248 100644
--- a/source/rpc_server/srv_wkssvc_nt.c
+++ b/source/rpc_server/srv_wkssvc_nt.c
@@ -281,11 +281,12 @@ WERROR _wkssvc_NetrGetJoinableOus(pipes_struct *p, struct wkssvc_NetrGetJoinable
 }
 
 /********************************************************************
+ _wkssvc_NetrJoinDomain2
  ********************************************************************/
 
-WERROR _wkssvc_NetrJoinDomain2(pipes_struct *p, struct wkssvc_NetrJoinDomain2 *r)
+WERROR _wkssvc_NetrJoinDomain2(pipes_struct *p,
+			       struct wkssvc_NetrJoinDomain2 *r)
 {
-#if 0
 	struct libnet_JoinCtx *j = NULL;
 	char *cleartext_pwd = NULL;
 	char *admin_domain = NULL;
@@ -302,6 +303,8 @@ WERROR _wkssvc_NetrJoinDomain2(pipes_struct *p, struct wkssvc_NetrJoinDomain2 *r
 	if (!user_has_privileges(token, &se_machine_account) &&
 	    !nt_token_check_domain_rid(token, DOMAIN_GROUP_RID_ADMINS) &&
 	    !nt_token_check_domain_rid(token, BUILTIN_ALIAS_RID_ADMINS)) {
+		DEBUG(5,("_wkssvc_NetrJoinDomain2: account doesn't have "
+			"sufficient privileges\n"));
 		return WERR_ACCESS_DENIED;
 	}
 
@@ -341,16 +344,20 @@ WERROR _wkssvc_NetrJoinDomain2(pipes_struct *p, struct wkssvc_NetrJoinDomain2 *r
 	j->in.join_flags	= r->in.join_flags;
 	j->in.admin_account	= admin_account;
 	j->in.admin_password	= cleartext_pwd;
-	j->in.modify_config	= true;
+	j->in.debug		= true;
 
 	become_root();
 	werr = libnet_Join(p->mem_ctx, j);
 	unbecome_root();
 
+	if (!W_ERROR_IS_OK(werr)) {
+		DEBUG(5,("_wkssvc_NetrJoinDomain2: libnet_Join gave %s\n",
+			j->out.error_string ? j->out.error_string :
+			dos_errstr(werr)));
+	}
+
+	TALLOC_FREE(j);
 	return werr;
-#endif
-	p->rng_fault_state = True;
-	return WERR_NOT_SUPPORTED;
 }
 
 /********************************************************************


-- 
Samba Shared Repository


More information about the samba-cvs mailing list