[SCM] Samba Shared Repository - branch v3-2-test updated - initial-v3-2-test-1769-g69e8a83

Günther Deschner gd at samba.org
Fri Feb 1 15:36:41 GMT 2008


The branch, v3-2-test has been updated
       via  69e8a83093149201c36ffc2b7fadfa469aabf7bd (commit)
       via  701af69118c9634c7dc0d5c10152ce776787694d (commit)
       via  36f52b631c013f885ed25ea741a52f763d27198b (commit)
       via  2882d48dfed2cd9783833d010d126d7b3cfb4899 (commit)
       via  7b7b10adcaa94de3fed9b5e925eeee714ffd1c50 (commit)
       via  c53bfd74251398924a1fae0fd8d9020dba958ba1 (commit)
       via  2e56289889b705d003a170fafa69163ce5841f3b (commit)
       via  1248ec89d2d9a400f892f828126ce4e862de642f (commit)
       via  622d529c45aaa6d8ddd3a38a2fa4fc5e1ad53fe9 (commit)
      from  fb3f7f4046fa195baf5116598772d9016238637f (commit)

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


- Log -----------------------------------------------------------------
commit 69e8a83093149201c36ffc2b7fadfa469aabf7bd
Author: Günther Deschner <gd at samba.org>
Date:   Fri Feb 1 14:53:58 2008 +0100

    Remove unused marshalling for SAMR_CREATE_USER.
    
    Guenther

commit 701af69118c9634c7dc0d5c10152ce776787694d
Author: Günther Deschner <gd at samba.org>
Date:   Fri Feb 1 14:21:54 2008 +0100

    Use rpccli_samr_CreateUser2() all over the place.
    
    Guenther

commit 36f52b631c013f885ed25ea741a52f763d27198b
Author: Günther Deschner <gd at samba.org>
Date:   Fri Feb 1 14:50:33 2008 +0100

    Use pidl for _samr_CreateUser2().
    
    Guenther

commit 2882d48dfed2cd9783833d010d126d7b3cfb4899
Author: Günther Deschner <gd at samba.org>
Date:   Fri Feb 1 14:52:05 2008 +0100

    Remove unused marshalling for SAMR_CREATE_DOM_GROUP.
    
    Guenther

commit 7b7b10adcaa94de3fed9b5e925eeee714ffd1c50
Author: Günther Deschner <gd at samba.org>
Date:   Fri Feb 1 13:42:28 2008 +0100

    Use rpccli_samr_CreateDomainGroup() in net and rpcclient.
    
    Guenther

commit c53bfd74251398924a1fae0fd8d9020dba958ba1
Author: Günther Deschner <gd at samba.org>
Date:   Fri Feb 1 14:49:23 2008 +0100

    Use pidl for _samr_CreateDomainGroup().
    
    Guenther

commit 2e56289889b705d003a170fafa69163ce5841f3b
Author: Günther Deschner <gd at samba.org>
Date:   Fri Feb 1 14:52:59 2008 +0100

    Remove unused marshalling for SAMR_CREATE_DOM_ALIAS.
    
    Guenther

commit 1248ec89d2d9a400f892f828126ce4e862de642f
Author: Günther Deschner <gd at samba.org>
Date:   Fri Feb 1 13:48:19 2008 +0100

    Use rpccli_samr_CreateDomAlias() in net and rpcclient.
    
    Guenther

commit 622d529c45aaa6d8ddd3a38a2fa4fc5e1ad53fe9
Author: Günther Deschner <gd at samba.org>
Date:   Fri Feb 1 14:48:42 2008 +0100

    Use pidl for _samr_CreateDomAlias().
    
    Guenther

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

Summary of changes:
 source/include/rpc_samr.h       |   71 ------------
 source/libnet/libnet_join.c     |   24 +++-
 source/rpc_client/cli_samr.c    |  119 -------------------
 source/rpc_parse/parse_samr.c   |  239 ---------------------------------------
 source/rpc_server/srv_samr.c    |   71 +-----------
 source/rpc_server/srv_samr_nt.c |  114 +++++++------------
 source/rpcclient/cmd_samr.c     |   58 ++++++----
 source/utils/net_domain.c       |   19 +++-
 source/utils/net_rpc.c          |   62 ++++++++--
 source/utils/net_rpc_join.c     |   22 +++-
 10 files changed, 186 insertions(+), 613 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source/include/rpc_samr.h b/source/include/rpc_samr.h
index 9139a62..fa8bf07 100644
--- a/source/include/rpc_samr.h
+++ b/source/include/rpc_samr.h
@@ -1034,28 +1034,6 @@ typedef struct r_samr_get_dispenum_index
 	
 } SAMR_R_GET_DISPENUM_INDEX;
 
-/* SAMR_Q_CREATE_DOM_GROUP - SAM create group */
-typedef struct q_samr_create_dom_group_info
-{
-	POLICY_HND pol;        /* policy handle */
-
-	UNIHDR hdr_acct_desc;
-	UNISTR2 uni_acct_desc;
-
-	uint32 access_mask;    
-
-} SAMR_Q_CREATE_DOM_GROUP;
-
-/* SAMR_R_CREATE_DOM_GROUP - SAM create group */
-typedef struct r_samr_create_dom_group_info
-{
-	POLICY_HND pol;        /* policy handle */
-
-	uint32 rid;    
-	NTSTATUS status;    
-
-} SAMR_R_CREATE_DOM_GROUP;
-
 /* SAMR_Q_QUERY_GROUPINFO - SAM Group Info */
 typedef struct q_samr_query_group_info
 {
@@ -1159,29 +1137,6 @@ typedef struct r_samr_set_group_info
 } SAMR_R_SET_GROUPINFO;
 
 
-/* SAMR_Q_CREATE_DOM_ALIAS - SAM create alias */
-typedef struct q_samr_create_dom_alias_info
-{
-	POLICY_HND dom_pol;        /* policy handle */
-
-	UNIHDR hdr_acct_desc;
-	UNISTR2 uni_acct_desc;
-
-	uint32 access_mask;    /* 0x001f000f */
-
-} SAMR_Q_CREATE_DOM_ALIAS;
-
-/* SAMR_R_CREATE_DOM_ALIAS - SAM create alias */
-typedef struct r_samr_create_dom_alias_info
-{
-	POLICY_HND alias_pol;        /* policy handle */
-
-	uint32 rid;    
-	NTSTATUS status;    
-
-} SAMR_R_CREATE_DOM_ALIAS;
-
-
 /********************************************************/
 
 typedef struct {
@@ -1451,32 +1406,6 @@ typedef struct r_samr_lookup_rids_info
 } SAMR_R_LOOKUP_RIDS;
 
 
-/* SAMR_Q_CREATE_USER - probably a create */
-typedef struct q_samr_create_user_info
-{
-	POLICY_HND domain_pol;       /* policy handle */
-
-	UNIHDR  hdr_name;       /* unicode account name header */
-	UNISTR2 uni_name;       /* unicode account name */
-
-	uint32 acb_info;      /* account control info */
-	uint32 acct_flags;     /* 0xe005 00b0 */
-
-} SAMR_Q_CREATE_USER;
-
-
-/* SAMR_R_CREATE_USER - probably a create */
-typedef struct r_samr_create_user_info
-{
-	POLICY_HND user_pol;       /* policy handle associated with user */
-
-	uint32 access_granted;
-	uint32 user_rid;      /* user RID */
-	NTSTATUS status;         /* return status */
-
-} SAMR_R_CREATE_USER;
-
-
 /* SAMR_Q_QUERY_GROUPMEM - query group members */
 typedef struct q_samr_query_groupmem_info
 {
diff --git a/source/libnet/libnet_join.c b/source/libnet/libnet_join.c
index bbbf11a..737474d 100644
--- a/source/libnet/libnet_join.c
+++ b/source/libnet/libnet_join.c
@@ -50,6 +50,11 @@
 #define LIBNET_UNJOIN_OUT_DUMP_CTX(ctx, r) \
 	LIBNET_UNJOIN_DUMP_CTX(ctx, r, NDR_OUT)
 
+static void init_lsa_String(struct lsa_String *name, const char *s)
+{
+	name->string = s;
+}
+
 /****************************************************************
 ****************************************************************/
 
@@ -591,6 +596,7 @@ static NTSTATUS libnet_join_joindomain_rpc(TALLOC_CTX *mem_ctx,
 	NTSTATUS status = NT_STATUS_UNSUCCESSFUL;
 	char *acct_name;
 	const char *const_acct_name;
+	struct lsa_String lsa_acct_name;
 	uint32 user_rid;
 	uint32 num_rids, *name_types, *user_rids;
 	uint32 flags = 0x3e8;
@@ -684,6 +690,8 @@ static NTSTATUS libnet_join_joindomain_rpc(TALLOC_CTX *mem_ctx,
 	strlower_m(acct_name);
 	const_acct_name = acct_name;
 
+	init_lsa_String(&lsa_acct_name, acct_name);
+
 	if (r->in.join_flags & WKSSVC_JOIN_FLAGS_ACCOUNT_CREATE) {
 		uint32_t acct_flags =
 			SEC_GENERIC_READ | SEC_GENERIC_WRITE | SEC_GENERIC_EXECUTE |
@@ -691,12 +699,16 @@ static NTSTATUS libnet_join_joindomain_rpc(TALLOC_CTX *mem_ctx,
 			SAMR_USER_ACCESS_SET_PASSWORD |
 			SAMR_USER_ACCESS_GET_ATTRIBUTES |
 			SAMR_USER_ACCESS_SET_ATTRIBUTES;
-
-		status = rpccli_samr_create_dom_user(pipe_hnd, mem_ctx,
-						     &domain_pol,
-						     acct_name, ACB_WSTRUST,
-						     acct_flags, &user_pol,
-						     &user_rid);
+		uint32_t access_granted = 0;
+
+		status = rpccli_samr_CreateUser2(pipe_hnd, mem_ctx,
+						 &domain_pol,
+						 &lsa_acct_name,
+						 ACB_WSTRUST,
+						 acct_flags,
+						 &user_pol,
+						 &access_granted,
+						 &user_rid);
 		if (NT_STATUS_EQUAL(status, NT_STATUS_USER_EXISTS)) {
 			if (!(r->in.join_flags &
 			      WKSSVC_JOIN_FLAGS_DOMAIN_JOIN_IF_JOINED)) {
diff --git a/source/rpc_client/cli_samr.c b/source/rpc_client/cli_samr.c
index c00a3c2..fa1e5a6 100644
--- a/source/rpc_client/cli_samr.c
+++ b/source/rpc_client/cli_samr.c
@@ -95,44 +95,6 @@ NTSTATUS rpccli_samr_connect4(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx,
 	return result;
 }
 
-/* Create domain group */
-
-NTSTATUS rpccli_samr_create_dom_group(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx,
-				   POLICY_HND *domain_pol,
-				   const char *group_name,
-				   uint32 access_mask, POLICY_HND *group_pol)
-{
-	prs_struct qbuf, rbuf;
-	SAMR_Q_CREATE_DOM_GROUP q;
-	SAMR_R_CREATE_DOM_GROUP r;
-	NTSTATUS result = NT_STATUS_UNSUCCESSFUL;
-
-	DEBUG(10,("cli_samr_create_dom_group\n"));
-
-	ZERO_STRUCT(q);
-	ZERO_STRUCT(r);
-
-	/* Marshall data and send request */
-
-	init_samr_q_create_dom_group(&q, domain_pol, group_name, access_mask);
-
-	CLI_DO_RPC(cli, mem_ctx, PI_SAMR, SAMR_CREATE_DOM_GROUP,
-		q, r,
-		qbuf, rbuf,
-		samr_io_q_create_dom_group,
-		samr_io_r_create_dom_group,
-		NT_STATUS_UNSUCCESSFUL); 
-
-	/* Return output parameters */
-
-	result = r.status;
-
-	if (NT_STATUS_IS_OK(result))
-		*group_pol = r.pol;
-
-	return result;
-}
-
 /* Add a domain group member */
 
 NTSTATUS rpccli_samr_add_groupmem(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx,
@@ -751,42 +713,6 @@ NTSTATUS rpccli_samr_query_aliasmem(struct rpc_pipe_client *cli,
 	return result;
 }
 
-/* Create an alias */
-
-NTSTATUS rpccli_samr_create_dom_alias(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, 
-				   POLICY_HND *domain_pol, const char *name,
-				   POLICY_HND *alias_pol)
-{
-	prs_struct qbuf, rbuf;
-	SAMR_Q_CREATE_DOM_ALIAS q;
-	SAMR_R_CREATE_DOM_ALIAS r;
-	NTSTATUS result;
-
-	DEBUG(10,("cli_samr_create_dom_alias named %s\n", name));
-
-	ZERO_STRUCT(q);
-	ZERO_STRUCT(r);
-
-	/* Marshall data and send request */
-
-	init_samr_q_create_dom_alias(&q, domain_pol, name);
-
-	CLI_DO_RPC(cli, mem_ctx, PI_SAMR, SAMR_CREATE_DOM_ALIAS,
-		q, r,
-		qbuf, rbuf,
-		samr_io_q_create_dom_alias,
-		samr_io_r_create_dom_alias,
-		NT_STATUS_UNSUCCESSFUL); 
-
-	/* Return output parameters */
-
-	if (NT_STATUS_IS_OK(result = r.status)) {
-		*alias_pol = r.alias_pol;
-	}
-
-	return result;
-}
-
 /* Add an alias member */
 
 NTSTATUS rpccli_samr_add_aliasmem(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, 
@@ -1442,51 +1368,6 @@ NTSTATUS rpccli_samr_lookup_names(struct rpc_pipe_client *cli, TALLOC_CTX *mem_c
 	return result;
 }
 
-/* Create a domain user */
-
-NTSTATUS rpccli_samr_create_dom_user(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, 
-                                  POLICY_HND *domain_pol, const char *acct_name,
-                                  uint32 acb_info, uint32 acct_flags,
-                                  POLICY_HND *user_pol, uint32 *rid)
-{
-	prs_struct qbuf, rbuf;
-	SAMR_Q_CREATE_USER q;
-	SAMR_R_CREATE_USER r;
-	NTSTATUS result = NT_STATUS_UNSUCCESSFUL;
-
-	DEBUG(10,("cli_samr_create_dom_user %s\n", acct_name));
-
-	ZERO_STRUCT(q);
-	ZERO_STRUCT(r);
-
-	/* Marshall data and send request */
-
-	init_samr_q_create_user(&q, domain_pol, acct_name, acb_info, acct_flags);
-
-	CLI_DO_RPC(cli, mem_ctx, PI_SAMR, SAMR_CREATE_USER,
-		q, r,
-		qbuf, rbuf,
-		samr_io_q_create_user,
-		samr_io_r_create_user,
-		NT_STATUS_UNSUCCESSFUL); 
-
-	/* Return output parameters */
-
-	if (!NT_STATUS_IS_OK(result = r.status)) {
-		goto done;
-	}
-
-	if (user_pol)
-		*user_pol = r.user_pol;
-
-	if (rid)
-		*rid = r.user_rid;
-
- done:
-
-	return result;
-}
-
 /* Set userinfo */
 
 NTSTATUS rpccli_samr_set_userinfo(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, 
diff --git a/source/rpc_parse/parse_samr.c b/source/rpc_parse/parse_samr.c
index c067914..9924a16 100644
--- a/source/rpc_parse/parse_samr.c
+++ b/source/rpc_parse/parse_samr.c
@@ -2328,84 +2328,6 @@ static bool samr_group_info_ctr(const char *desc, GROUP_INFO_CTR **ctr,
 }
 
 /*******************************************************************
-inits a SAMR_Q_CREATE_DOM_GROUP structure.
-********************************************************************/
-
-void init_samr_q_create_dom_group(SAMR_Q_CREATE_DOM_GROUP * q_e,
-				  POLICY_HND *pol, const char *acct_desc,
-				  uint32 access_mask)
-{
-	DEBUG(5, ("init_samr_q_create_dom_group\n"));
-
-	q_e->pol = *pol;
-
-	init_unistr2(&q_e->uni_acct_desc, acct_desc, UNI_FLAGS_NONE);
-	init_uni_hdr(&q_e->hdr_acct_desc, &q_e->uni_acct_desc);
-
-	q_e->access_mask = access_mask;
-}
-
-/*******************************************************************
-reads or writes a structure.
-********************************************************************/
-
-bool samr_io_q_create_dom_group(const char *desc, SAMR_Q_CREATE_DOM_GROUP * q_e,
-				prs_struct *ps, int depth)
-{
-	if (q_e == NULL)
-		return False;
-
-	prs_debug(ps, depth, desc, "samr_io_q_create_dom_group");
-	depth++;
-
-	if(!prs_align(ps))
-		return False;
-
-	if(!smb_io_pol_hnd("pol", &q_e->pol, ps, depth))
-		return False;
-
-	if(!smb_io_unihdr("hdr_acct_desc", &q_e->hdr_acct_desc, ps, depth))
-		return False;
-	if(!smb_io_unistr2("uni_acct_desc", &q_e->uni_acct_desc,
-		       q_e->hdr_acct_desc.buffer, ps, depth))
-		return False;
-
-	if(!prs_align(ps))
-		return False;
-	if(!prs_uint32("access", ps, depth, &q_e->access_mask))
-		return False;
-
-	return True;
-}
-
-/*******************************************************************
-reads or writes a structure.
-********************************************************************/
-
-bool samr_io_r_create_dom_group(const char *desc, SAMR_R_CREATE_DOM_GROUP * r_u,
-				prs_struct *ps, int depth)
-{
-	if (r_u == NULL)
-		return False;
-
-	prs_debug(ps, depth, desc, "samr_io_r_create_dom_group");
-	depth++;
-
-	if(!prs_align(ps))
-		return False;
-
-	if(!smb_io_pol_hnd("pol", &r_u->pol, ps, depth))
-		return False;
-
-	if(!prs_uint32("rid   ", ps, depth, &r_u->rid))
-		return False;
-	if(!prs_ntstatus("status", ps, depth, &r_u->status))
-		return False;
-
-	return True;
-}
-
-/*******************************************************************
 inits a SAMR_Q_DEL_GROUPMEM structure.
 ********************************************************************/
 
@@ -4042,84 +3964,6 @@ bool samr_io_r_lookup_rids(const char *desc, SAMR_R_LOOKUP_RIDS * r_u,
 }
 
 /*******************************************************************
-inits a SAMR_Q_CREATE_DOM_ALIAS structure.
-********************************************************************/
-
-void init_samr_q_create_dom_alias(SAMR_Q_CREATE_DOM_ALIAS * q_u,
-				  POLICY_HND *hnd, const char *acct_desc)
-{
-	DEBUG(5, ("init_samr_q_create_dom_alias\n"));
-
-	q_u->dom_pol = *hnd;
-
-	init_unistr2(&q_u->uni_acct_desc, acct_desc, UNI_FLAGS_NONE);
-	init_uni_hdr(&q_u->hdr_acct_desc, &q_u->uni_acct_desc);
-
-	q_u->access_mask = MAXIMUM_ALLOWED_ACCESS;
-}
-
-/*******************************************************************
-reads or writes a structure.
-********************************************************************/
-
-bool samr_io_q_create_dom_alias(const char *desc, SAMR_Q_CREATE_DOM_ALIAS * q_u,
-				prs_struct *ps, int depth)
-{
-	if (q_u == NULL)
-		return False;
-
-	prs_debug(ps, depth, desc, "samr_io_q_create_dom_alias");
-	depth++;
-
-	if(!prs_align(ps))
-		return False;
-
-	if(!smb_io_pol_hnd("dom_pol", &q_u->dom_pol, ps, depth))
-		return False;
-
-	if(!smb_io_unihdr("hdr_acct_desc", &q_u->hdr_acct_desc, ps, depth))
-		return False;
-	if(!smb_io_unistr2("uni_acct_desc", &q_u->uni_acct_desc,
-		       q_u->hdr_acct_desc.buffer, ps, depth))
-		return False;
-
-	if(!prs_align(ps))
-		return False;
-	if(!prs_uint32("access_mask", ps, depth, &q_u->access_mask))
-		return False;
-
-	return True;
-}
-
-/*******************************************************************
-reads or writes a structure.
-********************************************************************/
-
-bool samr_io_r_create_dom_alias(const char *desc, SAMR_R_CREATE_DOM_ALIAS * r_u,
-				prs_struct *ps, int depth)
-{
-	if (r_u == NULL)
-		return False;
-
-	prs_debug(ps, depth, desc, "samr_io_r_create_dom_alias");
-	depth++;
-
-	if(!prs_align(ps))
-		return False;
-
-	if(!smb_io_pol_hnd("alias_pol", &r_u->alias_pol, ps, depth))
-		return False;
-
-	if(!prs_uint32("rid", ps, depth, &r_u->rid))
-		return False;
-
-	if(!prs_ntstatus("status", ps, depth, &r_u->status))
-		return False;
-
-	return True;
-}
-
-/*******************************************************************
 inits a SAMR_Q_ADD_ALIASMEM structure.
 ********************************************************************/
 
@@ -4597,89 +4441,6 @@ bool samr_io_r_lookup_names(const char *desc, SAMR_R_LOOKUP_NAMES * r_u,
 }
 
 /*******************************************************************
-reads or writes a structure.
-********************************************************************/
-
-void init_samr_q_create_user(SAMR_Q_CREATE_USER * q_u,
-			     POLICY_HND *pol,
-			     const char *name,
-			     uint32 acb_info, uint32 acct_flags)
-{
-	DEBUG(5, ("samr_init_samr_q_create_user\n"));
-
-	q_u->domain_pol = *pol;
-
-	init_unistr2(&q_u->uni_name, name, UNI_FLAGS_NONE);
-	init_uni_hdr(&q_u->hdr_name, &q_u->uni_name);
-
-	q_u->acb_info = acb_info;
-	q_u->acct_flags = acct_flags;
-}
-
-/*******************************************************************
-reads or writes a structure.
-********************************************************************/
-
-bool samr_io_q_create_user(const char *desc, SAMR_Q_CREATE_USER * q_u,
-			   prs_struct *ps, int depth)
-{


-- 
Samba Shared Repository


More information about the samba-cvs mailing list