[SCM] Samba Shared Repository - branch v3-2-test updated - initial-v3-2-test-1975-g680dbd3

Günther Deschner gd at samba.org
Thu Feb 7 13:14:19 GMT 2008


The branch, v3-2-test has been updated
       via  680dbd3ef6b1e42db2fbf5b11308b02d961a7688 (commit)
       via  6a3b06291bf9c11c15e38d73bbdf6c2cbd12e4ab (commit)
       via  e80852426972fbf9996561aabdde7ed7b2c78b39 (commit)
      from  07faaadd5ff2a94fc0db15f68836ffbdb2763461 (commit)

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


- Log -----------------------------------------------------------------
commit 680dbd3ef6b1e42db2fbf5b11308b02d961a7688
Author: Günther Deschner <gd at samba.org>
Date:   Thu Feb 7 14:01:58 2008 +0100

    Remove unused marshalling for SAMR_QUERY_GROUPINFO.
    
    Guenther

commit 6a3b06291bf9c11c15e38d73bbdf6c2cbd12e4ab
Author: Günther Deschner <gd at samba.org>
Date:   Thu Feb 7 13:47:13 2008 +0100

    Use rpccli_samr_QueryGroupInfo() in rpcclient.
    
    Guenther

commit e80852426972fbf9996561aabdde7ed7b2c78b39
Author: Günther Deschner <gd at samba.org>
Date:   Thu Feb 7 13:58:53 2008 +0100

    Use pidl for _samr_QueryGroupInfo().
    
    Guenther

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

Summary of changes:
 source/include/rpc_samr.h       |   87 ----------
 source/rpc_client/cli_samr.c    |   36 ----
 source/rpc_parse/parse_samr.c   |  354 ++++-----------------------------------
 source/rpc_server/srv_samr.c    |   23 +---
 source/rpc_server/srv_samr_nt.c |   91 ++++++-----
 source/rpcclient/cmd_samr.c     |   76 ++++-----
 6 files changed, 111 insertions(+), 556 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source/include/rpc_samr.h b/source/include/rpc_samr.h
index 2b23339..37a457e 100644
--- a/source/include/rpc_samr.h
+++ b/source/include/rpc_samr.h
@@ -795,93 +795,6 @@ typedef struct r_samr_get_dispenum_index
 	
 } SAMR_R_GET_DISPENUM_INDEX;
 
-/* SAMR_Q_QUERY_GROUPINFO - SAM Group Info */
-typedef struct q_samr_query_group_info
-{
-	POLICY_HND pol;        /* policy handle */
-
-	uint16 switch_level;    /* 0x0001 seen */
-
-} SAMR_Q_QUERY_GROUPINFO;
-
-typedef struct samr_group_info1
-{
-	UNIHDR hdr_acct_name;
-
-	uint32 group_attr; /* 0x0000 0003 - group attribute */
-	uint32 num_members; /* 0x0000 0001 - number of group members? */
-
-	UNIHDR hdr_acct_desc;
-
-	UNISTR2 uni_acct_name;
-	UNISTR2 uni_acct_desc;
-
-} GROUP_INFO1;
-
-typedef struct samr_group_info2
-{
-	uint16 level;
-	UNIHDR hdr_acct_name;
-	UNISTR2 uni_acct_name;
-
-} GROUP_INFO2;
-
-typedef struct samr_group_info3
-{
-	uint32 group_attr; /* 0x0000 0003 - group attribute */
-
-} GROUP_INFO3;
-
-typedef struct samr_group_info4
-{
-	uint16 level;
-	UNIHDR hdr_acct_desc;
-	UNISTR2 uni_acct_desc;
-
-} GROUP_INFO4;
-
-typedef struct samr_group_info5
-{
-	UNIHDR hdr_acct_name;
-
-	uint32 group_attr; /* 0x0000 0003 - group attribute */
-	uint32 num_members; /* 0x0000 0001 - number of group members? */
-
-	UNIHDR hdr_acct_desc;
-
-	UNISTR2 uni_acct_name;
-	UNISTR2 uni_acct_desc;
-
-} GROUP_INFO5;
-
-
-/* GROUP_INFO_CTR */
-typedef struct group_info_ctr
-{
-	uint16 switch_value1;
-
-	union
- 	{
-		GROUP_INFO1 info1;
-		GROUP_INFO2 info2;
-		GROUP_INFO3 info3;
-		GROUP_INFO4 info4;
-		GROUP_INFO5 info5;
-	} group;
-
-} GROUP_INFO_CTR;
-
-/* SAMR_R_QUERY_GROUPINFO - SAM Group Info */
-typedef struct r_samr_query_groupinfo_info
-{
-	uint32 ptr;        
-	GROUP_INFO_CTR *ctr;
-
-	NTSTATUS status;
-
-} SAMR_R_QUERY_GROUPINFO;
-
-
 /********************************************************/
 /********************************************************/
 
diff --git a/source/rpc_client/cli_samr.c b/source/rpc_client/cli_samr.c
index 19c59f2..eb37d6e 100644
--- a/source/rpc_client/cli_samr.c
+++ b/source/rpc_client/cli_samr.c
@@ -64,42 +64,6 @@ NTSTATUS rpccli_samr_query_userinfo(struct rpc_pipe_client *cli,
 	return result;
 }
 
-/* Query group info */
-
-NTSTATUS rpccli_samr_query_groupinfo(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx,
-                                  POLICY_HND *group_pol, uint32 info_level, 
-                                  GROUP_INFO_CTR **ctr)
-{
-	prs_struct qbuf, rbuf;
-	SAMR_Q_QUERY_GROUPINFO q;
-	SAMR_R_QUERY_GROUPINFO r;
-	NTSTATUS result = NT_STATUS_UNSUCCESSFUL;
-
-	DEBUG(10,("cli_samr_query_groupinfo\n"));
-
-	ZERO_STRUCT(q);
-	ZERO_STRUCT(r);
-
-	/* Marshall data and send request */
-
-	init_samr_q_query_groupinfo(&q, group_pol, info_level);
-
-	CLI_DO_RPC(cli, mem_ctx, PI_SAMR, SAMR_QUERY_GROUPINFO,
-		q, r,
-		qbuf, rbuf,
-		samr_io_q_query_groupinfo,
-		samr_io_r_query_groupinfo,
-		NT_STATUS_UNSUCCESSFUL); 
-
-	*ctr = r.ctr;
-
-	/* Return output parameters */
-
-	result = r.status;
-
-	return result;
-}
-
 /* Query user groups */
 
 NTSTATUS rpccli_samr_query_usergroups(struct rpc_pipe_client *cli,
diff --git a/source/rpc_parse/parse_samr.c b/source/rpc_parse/parse_samr.c
index 436e284..329b754 100644
--- a/source/rpc_parse/parse_samr.c
+++ b/source/rpc_parse/parse_samr.c
@@ -1259,367 +1259,73 @@ bool samr_io_r_query_dispinfo(const char *desc, SAMR_R_QUERY_DISPINFO * r_u,
 }
 
 /*******************************************************************
-inits a GROUP_INFO1 structure.
+ inits a samr_GroupInfoAll structure.
 ********************************************************************/
 
-void init_samr_group_info1(GROUP_INFO1 * gr1,
-			   char *acct_name, char *acct_desc,
-			   uint32 num_members)
+void init_samr_group_info1(struct samr_GroupInfoAll *r,
+			   const char *name,
+			   uint32_t attributes,
+			   uint32_t num_members,
+			   const char *description)
 {
 	DEBUG(5, ("init_samr_group_info1\n"));
 
-	gr1->group_attr = (SE_GROUP_MANDATORY|SE_GROUP_ENABLED_BY_DEFAULT); /* why not | SE_GROUP_ENABLED ? */
-	gr1->num_members = num_members;
-
-	init_unistr2(&gr1->uni_acct_name, acct_name, UNI_FLAGS_NONE);
-	init_uni_hdr(&gr1->hdr_acct_name, &gr1->uni_acct_name);
-	init_unistr2(&gr1->uni_acct_desc, acct_desc, UNI_FLAGS_NONE);
-	init_uni_hdr(&gr1->hdr_acct_desc, &gr1->uni_acct_desc);
-}
-
-/*******************************************************************
-reads or writes a structure.
-********************************************************************/
-
-bool samr_io_group_info1(const char *desc, GROUP_INFO1 * gr1,
-			 prs_struct *ps, int depth)
-{
-	uint16 dummy = 1;
-
-	if (gr1 == NULL)
-		return False;
-
-	prs_debug(ps, depth, desc, "samr_io_group_info1");
-	depth++;
-
-	if(!prs_uint16("level", ps, depth, &dummy))
-		return False;
-
-	if(!prs_align(ps))
-		return False;
-
-	if(!smb_io_unihdr("hdr_acct_name", &gr1->hdr_acct_name, ps, depth))
-		return False;
-
-	if(!prs_uint32("group_attr", ps, depth, &gr1->group_attr))
-		return False;
-	if(!prs_uint32("num_members", ps, depth, &gr1->num_members))
-		return False;
-
-	if(!smb_io_unihdr("hdr_acct_desc", &gr1->hdr_acct_desc, ps, depth))
-		return False;
-
-	if(!smb_io_unistr2("uni_acct_name", &gr1->uni_acct_name,
-			   gr1->hdr_acct_name.buffer, ps, depth))
-		return False;
-
-	if(!smb_io_unistr2("uni_acct_desc", &gr1->uni_acct_desc,
-			   gr1->hdr_acct_desc.buffer, ps, depth))
-		return False;
-
-	return True;
+	init_lsa_String(&r->name, name);
+	r->attributes = attributes;
+	r->num_members = num_members;
+	init_lsa_String(&r->description, description);
 }
 
 /*******************************************************************
-inits a GROUP_INFO2 structure.
+ inits a lsa_String structure
 ********************************************************************/
 
-void init_samr_group_info2(GROUP_INFO2 * gr2, const char *acct_name)
+void init_samr_group_info2(struct lsa_String *r, const char *group_name)
 {
 	DEBUG(5, ("init_samr_group_info2\n"));
 
-	gr2->level = 2;
-	init_unistr2(&gr2->uni_acct_name, acct_name, UNI_FLAGS_NONE);
-	init_uni_hdr(&gr2->hdr_acct_name, &gr2->uni_acct_name);
-}
-
-/*******************************************************************
-reads or writes a structure.
-********************************************************************/
-
-bool samr_io_group_info2(const char *desc, GROUP_INFO2 *gr2, prs_struct *ps, int depth)
-{
-	if (gr2 == NULL)
-		return False;
-
-	prs_debug(ps, depth, desc, "samr_io_group_info2");
-	depth++;
-
-	if(!prs_uint16("hdr_level", ps, depth, &gr2->level))
-		return False;
-
-	if(!smb_io_unihdr("hdr_acct_name", &gr2->hdr_acct_name, ps, depth))
-		return False;
-	if(!smb_io_unistr2("uni_acct_name", &gr2->uni_acct_name,
-			   gr2->hdr_acct_name.buffer, ps, depth))
-		return False;
-
-	return True;
+	init_lsa_String(r, group_name);
 }
 
 /*******************************************************************
-inits a GROUP_INFO3 structure.
+ inits a samr_GroupInfoAttributes structure.
 ********************************************************************/
 
-void init_samr_group_info3(GROUP_INFO3 *gr3)
+void init_samr_group_info3(struct samr_GroupInfoAttributes *r,
+			   uint32_t attributes)
 {
 	DEBUG(5, ("init_samr_group_info3\n"));
 
-	gr3->group_attr = (SE_GROUP_MANDATORY|SE_GROUP_ENABLED_BY_DEFAULT); /* why not | SE_GROUP_ENABLED ? */
+	r->attributes = attributes;
 }
 
 /*******************************************************************
-reads or writes a structure.
+ inits a lsa_String structure
 ********************************************************************/
 
-bool samr_io_group_info3(const char *desc, GROUP_INFO3 *gr3, prs_struct *ps, int depth)
-{
-	if (gr3 == NULL)
-		return False;
-
-	prs_debug(ps, depth, desc, "samr_io_group_info3");
-	depth++;
-
-	if(!prs_align(ps))
-		return False;
-
-	if(!prs_uint32("group_attr", ps, depth, &gr3->group_attr))
-		return False;
-
-	return True;
-}
-
-/*******************************************************************
-inits a GROUP_INFO4 structure.
-********************************************************************/
-
-void init_samr_group_info4(GROUP_INFO4 * gr4, const char *acct_desc)
+void init_samr_group_info4(struct lsa_String *r, const char *description)
 {
 	DEBUG(5, ("init_samr_group_info4\n"));
 
-	gr4->level = 4;
-	init_unistr2(&gr4->uni_acct_desc, acct_desc, UNI_FLAGS_NONE);
-	init_uni_hdr(&gr4->hdr_acct_desc, &gr4->uni_acct_desc);
-}
-
-/*******************************************************************
-reads or writes a structure.
-********************************************************************/
-
-bool samr_io_group_info4(const char *desc, GROUP_INFO4 * gr4,
-			 prs_struct *ps, int depth)
-{
-	if (gr4 == NULL)
-		return False;
-
-	prs_debug(ps, depth, desc, "samr_io_group_info4");
-	depth++;
-
-	if(!prs_uint16("hdr_level", ps, depth, &gr4->level))
-		return False;
-	if(!smb_io_unihdr("hdr_acct_desc", &gr4->hdr_acct_desc, ps, depth))
-		return False;
-	if(!smb_io_unistr2("uni_acct_desc", &gr4->uni_acct_desc,
-			   gr4->hdr_acct_desc.buffer, ps, depth))
-		return False;
-
-	return True;
+	init_lsa_String(r, description);
 }
 
 /*******************************************************************
-inits a GROUP_INFO5 structure.
+ inits a samr_GroupInfoAll structure.
 ********************************************************************/
 
-void init_samr_group_info5(GROUP_INFO5 * gr5,
-			   char *acct_name, char *acct_desc,
-			   uint32 num_members)
+void init_samr_group_info5(struct samr_GroupInfoAll *r,
+			   const char *name,
+			   uint32_t attributes,
+			   uint32_t num_members,
+			   const char *description)
 {
 	DEBUG(5, ("init_samr_group_info5\n"));
 
-	gr5->group_attr = (SE_GROUP_MANDATORY|SE_GROUP_ENABLED_BY_DEFAULT); /* why not | SE_GROUP_ENABLED ? */
-	gr5->num_members = num_members;
-
-	init_unistr2(&gr5->uni_acct_name, acct_name, UNI_FLAGS_NONE);
-	init_uni_hdr(&gr5->hdr_acct_name, &gr5->uni_acct_name);
-	init_unistr2(&gr5->uni_acct_desc, acct_desc, UNI_FLAGS_NONE);
-	init_uni_hdr(&gr5->hdr_acct_desc, &gr5->uni_acct_desc);
-}
-
-/*******************************************************************
-reads or writes a structure.
-********************************************************************/
-
-bool samr_io_group_info5(const char *desc, GROUP_INFO5 * gr5,
-			 prs_struct *ps, int depth)
-{
-	uint16 dummy = 1;
-
-	if (gr5 == NULL)
-		return False;
-
-	prs_debug(ps, depth, desc, "samr_io_group_info5");
-	depth++;
-
-	if(!prs_uint16("level", ps, depth, &dummy))
-		return False;
-
-	if(!prs_align(ps))
-		return False;
-
-	if(!smb_io_unihdr("hdr_acct_name", &gr5->hdr_acct_name, ps, depth))
-		return False;
-
-	if(!prs_uint32("group_attr", ps, depth, &gr5->group_attr))
-		return False;
-	if(!prs_uint32("num_members", ps, depth, &gr5->num_members))
-		return False;
-
-	if(!smb_io_unihdr("hdr_acct_desc", &gr5->hdr_acct_desc, ps, depth))
-		return False;
-
-	if(!smb_io_unistr2("uni_acct_name", &gr5->uni_acct_name,
-			   gr5->hdr_acct_name.buffer, ps, depth))
-		return False;
-
-	if(!smb_io_unistr2("uni_acct_desc", &gr5->uni_acct_desc,
-			   gr5->hdr_acct_desc.buffer, ps, depth))
-		return False;
-
-	return True;
-}
-
-
-/*******************************************************************
-reads or writes a structure.
-********************************************************************/
-
-static bool samr_group_info_ctr(const char *desc, GROUP_INFO_CTR **ctr,
-				prs_struct *ps, int depth)
-{
-	if (UNMARSHALLING(ps))
-		*ctr = PRS_ALLOC_MEM(ps,GROUP_INFO_CTR,1);
-
-	if (*ctr == NULL)
-		return False;
-
-	prs_debug(ps, depth, desc, "samr_group_info_ctr");
-	depth++;
-
-	if(!prs_uint16("switch_value1", ps, depth, &(*ctr)->switch_value1))
-		return False;
-
-	switch ((*ctr)->switch_value1) {
-	case 1:
-		if(!samr_io_group_info1("group_info1", &(*ctr)->group.info1, ps, depth))
-			return False;
-		break;
-	case 2:
-		if(!samr_io_group_info2("group_info2", &(*ctr)->group.info2, ps, depth))
-			return False;
-		break;
-	case 3:
-		if(!samr_io_group_info3("group_info3", &(*ctr)->group.info3, ps, depth))
-			return False;
-		break;
-	case 4:
-		if(!samr_io_group_info4("group_info4", &(*ctr)->group.info4, ps, depth))
-			return False;
-		break;
-	case 5:
-		if(!samr_io_group_info5("group_info5", &(*ctr)->group.info5, ps, depth))
-			return False;
-		break;
-	default:
-		DEBUG(0,("samr_group_info_ctr: unsupported switch level\n"));
-		break;
-	}
-
-	return True;
-}
-
-/*******************************************************************
-inits a SAMR_Q_QUERY_GROUPINFO structure.
-********************************************************************/
-
-void init_samr_q_query_groupinfo(SAMR_Q_QUERY_GROUPINFO * q_e,
-				 POLICY_HND *pol, uint16 switch_level)
-{
-	DEBUG(5, ("init_samr_q_query_groupinfo\n"));
-
-	q_e->pol = *pol;
-
-	q_e->switch_level = switch_level;
-}
-
-/*******************************************************************
-reads or writes a structure.
-********************************************************************/
-
-bool samr_io_q_query_groupinfo(const char *desc, SAMR_Q_QUERY_GROUPINFO * q_e,
-			       prs_struct *ps, int depth)
-{
-	if (q_e == NULL)
-		return False;
-
-	prs_debug(ps, depth, desc, "samr_io_q_query_groupinfo");
-	depth++;
-
-	if(!prs_align(ps))
-		return False;
-
-	if(!smb_io_pol_hnd("pol", &q_e->pol, ps, depth))
-		return False;
-
-	if(!prs_uint16("switch_level", ps, depth, &q_e->switch_level))
-		return False;
-
-	return True;
-}
-
-/*******************************************************************
-inits a SAMR_R_QUERY_GROUPINFO structure.
-********************************************************************/
-


-- 
Samba Shared Repository


More information about the samba-cvs mailing list