svn commit: samba r9249 - in branches/SOC/SAMBA_4_0: . source/libnet

brad at samba.org brad at samba.org
Thu Aug 11 23:31:48 GMT 2005


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:
 r5375 at buttercup:  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;
 };
 



More information about the samba-cvs mailing list