svn commit: samba r9256 - in branches/SOC/SAMBA_4_0: .
source/libnet source/torture/rpc
brad at samba.org
brad at samba.org
Fri Aug 12 02:55:12 GMT 2005
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:
r5413 at buttercup: 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;
};
More information about the samba-cvs
mailing list