[SCM] Samba Shared Repository - branch v3-2-test updated - release-3-2-0pre2-185-ge13b932

Günther Deschner gd at samba.org
Mon Mar 10 15:29:01 GMT 2008


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

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


- Log -----------------------------------------------------------------
commit e13b9325d251777cd9030f34fa98e22766c0bcfe
Author: Günther Deschner <gd at samba.org>
Date:   Mon Mar 10 16:26:56 2008 +0100

    Remove unused marshalling for SRV_NET_SHARE_{ENUM,ADD,SETINFO,GETINFO}
    
    Guenther

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

Summary of changes:
 source/include/rpc_srvsvc.h    |  350 ----------
 source/rpc_client/cli_srvsvc.c |  374 ----------
 source/rpc_parse/parse_srv.c   | 1493 ----------------------------------------
 3 files changed, 0 insertions(+), 2217 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source/include/rpc_srvsvc.h b/source/include/rpc_srvsvc.h
index 60ad23e..a8e145a 100644
--- a/source/include/rpc_srvsvc.h
+++ b/source/include/rpc_srvsvc.h
@@ -261,356 +261,6 @@ typedef struct r_net_conn_enum_info
 
 } SRV_R_NET_CONN_ENUM;
 
-/* SH_INFO_0 */
-typedef struct ptr_share_info0
-{
-	uint32 ptr_netname; /* pointer to net name. */
-} SH_INFO_0;
-
-/* SH_INFO_0_STR (level 0 share info strings) */
-typedef struct str_share_info0
-{
-        SH_INFO_0 *ptrs;
-
-	UNISTR2 uni_netname; /* unicode string of net name */
-
-} SH_INFO_0_STR;
-
-/* SRV_SHARE_INFO_0 */
-typedef struct share_info_0_info
-{
-	SH_INFO_0 info_0;
-	SH_INFO_0_STR info_0_str;
-
-} SRV_SHARE_INFO_0;
-
-/* SH_INFO_1 (pointers to level 1 share info strings) */
-typedef struct ptr_share_info1
-{
-	uint32 ptr_netname; /* pointer to net name. */
-	uint32 type; /* ipc, print, disk ... */
-	uint32 ptr_remark; /* pointer to comment. */
-
-} SH_INFO_1;
-
-/* SH_INFO_1_STR (level 1 share info strings) */
-typedef struct str_share_info1
-{
-        SH_INFO_1 *ptrs;
-
-	UNISTR2 uni_netname; /* unicode string of net name */
-	UNISTR2 uni_remark; /* unicode string of comment */
-
-} SH_INFO_1_STR;
-
-/* SRV_SHARE_INFO_1 */
-typedef struct share_info_1_info
-{
-	SH_INFO_1 info_1;
-	SH_INFO_1_STR info_1_str;
-
-} SRV_SHARE_INFO_1;
-
-/* SH_INFO_2 (pointers to level 2 share info strings) */
-typedef struct ptr_share_info2
-{
-	uint32 ptr_netname; /* pointer to net name. */
-	uint32 type; /* ipc, print, disk ... */
-	uint32 ptr_remark; /* pointer to comment. */
-	uint32 perms;      /* permissions */
-	uint32 max_uses;   /* maximum uses */
-	uint32 num_uses;   /* current uses */
-	uint32 ptr_path;   /* pointer to path name */
-	uint32 ptr_passwd; /* pointer to password */
-
-} SH_INFO_2;
-
-/* SH_INFO_2_STR (level 2 share info strings) */
-typedef struct str_share_info2
-{
-	SH_INFO_2 *ptrs;
-
-	UNISTR2 uni_netname; /* unicode string of net name (e.g NETLOGON) */
-	UNISTR2 uni_remark;  /* unicode string of comment (e.g "Logon server share") */
-	UNISTR2 uni_path;    /* unicode string of local path (e.g c:\winnt\system32\repl\import\scripts) */
-	UNISTR2 uni_passwd;  /* unicode string of password - presumably for share level security (e.g NULL) */
-
-} SH_INFO_2_STR;
-
-/* SRV_SHARE_INFO_2 */
-typedef struct share_info_2_info
-{
-	SH_INFO_2 info_2;
-	SH_INFO_2_STR info_2_str;
-
-} SRV_SHARE_INFO_2;
-
-typedef struct ptr_share_info501
-{
-	uint32 ptr_netname; /* pointer to net name */
-	uint32 type;     /* ipc, print, disk */
-	uint32 ptr_remark;  /* pointer to comment */
-	uint32 csc_policy;  /* client-side offline caching policy << 4 */
-} SH_INFO_501;
-
-typedef struct str_share_info501
-{
-	UNISTR2 uni_netname; /* unicode string of net name */
-	UNISTR2 uni_remark;  /* unicode string of comment */
-} SH_INFO_501_STR;
-
-/* SRV_SHARE_INFO_501 */
-typedef struct share_info_501_info
-{
-	SH_INFO_501 info_501;
-	SH_INFO_501_STR info_501_str;
-} SRV_SHARE_INFO_501;
-
-/* SH_INFO_502 (pointers to level 502 share info strings) */
-typedef struct ptr_share_info502
-{
-	uint32 ptr_netname; /* pointer to net name. */
-	uint32 type; /* ipc, print, disk ... */
-	uint32 ptr_remark; /* pointer to comment. */
-	uint32 perms;      /* permissions */
-	uint32 max_uses;   /* maximum uses */
-	uint32 num_uses;   /* current uses */
-	uint32 ptr_path;   /* pointer to path name */
-	uint32 ptr_passwd; /* pointer to password */
-        uint32 reserved;    /* this holds the space taken by the sd in the rpc packet */
-        uint32 reserved_offset;   /* required for _post operation when marshalling */
-	uint32 sd_size;    /* size of security descriptor */
-	uint32 ptr_sd;     /* pointer to security descriptor */
-
-} SH_INFO_502;
-
-/* SH_INFO_502_STR (level 502 share info strings) */
-typedef struct str_share_info502
-{
-	SH_INFO_502 *ptrs;
-
-	UNISTR2 uni_netname; /* unicode string of net name (e.g NETLOGON) */
-	UNISTR2 uni_remark;  /* unicode string of comment (e.g "Logon server share") */
-	UNISTR2 uni_path;    /* unicode string of local path (e.g c:\winnt\system32\repl\import\scripts) */
-	UNISTR2 uni_passwd;  /* unicode string of password - presumably for share level security (e.g NULL) */
-
-        uint32 reserved;
-	uint32 sd_size;
-	SEC_DESC *sd;
-
-} SH_INFO_502_STR;
-
-/* SRV_SHARE_INFO_502 */
-typedef struct share_info_502_info
-{
-	SH_INFO_502 info_502;
-	SH_INFO_502_STR info_502_str;
-
-} SRV_SHARE_INFO_502;
-
-typedef struct ptr_share_info1004
-{
-	uint32 ptr_remark;
-
-} SH_INFO_1004;
-
-typedef struct str_share_info1004
-{
-	SH_INFO_1004 *ptrs;
-
-	UNISTR2 uni_remark;
-
-} SH_INFO_1004_STR;
-
-typedef struct ptr_info_1004_info
-{
-	SH_INFO_1004     info_1004; 
-	SH_INFO_1004_STR info_1004_str; 
-} SRV_SHARE_INFO_1004;
-
-typedef struct share_info_1005_info
-{
-  uint32 share_info_flags; 
-} SRV_SHARE_INFO_1005;
-
-typedef struct share_info_1006_info
-{
-	uint32 max_uses; 
-} SRV_SHARE_INFO_1006;
-
-typedef struct ptr_share_info1007
-{
-	uint32 flags;
-	uint32 ptr_AlternateDirectoryName;
-
-} SH_INFO_1007;
-
-typedef struct str_share_info1007
-{
-	SH_INFO_1007 *ptrs;
-
-	UNISTR2 uni_AlternateDirectoryName;
-
-} SH_INFO_1007_STR;
-
-typedef struct ptr_info_1007_info
-{
-	SH_INFO_1007     info_1007; 
-	SH_INFO_1007_STR info_1007_str; 
-} SRV_SHARE_INFO_1007;
-
-/* SRV_SHARE_INFO_1501 */
-typedef struct share_info_1501_info
-{
-	SEC_DESC_BUF *sdb;
-} SRV_SHARE_INFO_1501;
-
-/* SRV_SHARE_INFO_CTR */
-typedef struct srv_share_info_ctr_info
-{
-	uint32 info_level;
-	uint32 switch_value;
-	uint32 ptr_share_info;
-
-	uint32 num_entries;
-	uint32 ptr_entries;
-	uint32 num_entries2;
-
-	union {
-		SRV_SHARE_INFO_0    *info0;
-		SRV_SHARE_INFO_1    *info1;    /* share info level 1 */
-		SRV_SHARE_INFO_2    *info2;    /* share info level 2 */
-		SRV_SHARE_INFO_501  *info501;  /* share info level 501 */
-		SRV_SHARE_INFO_502  *info502;  /* share info level 502 */
-		SRV_SHARE_INFO_1004 *info1004;
-		SRV_SHARE_INFO_1005 *info1005;
-		SRV_SHARE_INFO_1006 *info1006;
-		SRV_SHARE_INFO_1007 *info1007;
-		SRV_SHARE_INFO_1501 *info1501;
-		void *info;
-
-	} share;
-
-} SRV_SHARE_INFO_CTR;
-
-/* SRV_Q_NET_SHARE_ENUM */
-typedef struct q_net_share_enum_info
-{
-	uint32 ptr_srv_name;         /* pointer (to server name?) */
-	UNISTR2 uni_srv_name;        /* server name */
-
-	SRV_SHARE_INFO_CTR ctr;     /* share info container */
-
-	uint32 preferred_len;        /* preferred maximum length (0xffff ffff) */
-
-	ENUM_HND enum_hnd;
-
-} SRV_Q_NET_SHARE_ENUM;
-
-
-/* SRV_R_NET_SHARE_ENUM */
-typedef struct r_net_share_enum_info
-{
-	SRV_SHARE_INFO_CTR ctr;     /* share info container */
-
-	uint32 total_entries;                    /* total number of entries */
-	ENUM_HND enum_hnd;
-
-	WERROR status;               /* return status */
-
-} SRV_R_NET_SHARE_ENUM;
-
-
-/* SRV_Q_NET_SHARE_GET_INFO */
-typedef struct q_net_share_get_info_info
-{
-	uint32 ptr_srv_name;
-	UNISTR2 uni_srv_name;
-
-	UNISTR2 uni_share_name;
-	uint32 info_level;
-
-} SRV_Q_NET_SHARE_GET_INFO;
-
-/* SRV_SHARE_INFO */
-typedef struct srv_share_info {
-	uint32 switch_value;
-	uint32 ptr_share_ctr;
-
-	union {
-		SRV_SHARE_INFO_0    info0;
-		SRV_SHARE_INFO_1 info1;
-		SRV_SHARE_INFO_2 info2;
-		SRV_SHARE_INFO_501 info501;
-		SRV_SHARE_INFO_502 info502;
-		SRV_SHARE_INFO_1004 info1004;
-		SRV_SHARE_INFO_1005 info1005;
-		SRV_SHARE_INFO_1006 info1006;
-		SRV_SHARE_INFO_1007 info1007;
-		SRV_SHARE_INFO_1501 info1501;
-	} share;
-} SRV_SHARE_INFO;
-
-/* SRV_R_NET_SHARE_GET_INFO */
-typedef struct r_net_share_get_info_info
-{
-	SRV_SHARE_INFO info;
-	WERROR status;
-
-} SRV_R_NET_SHARE_GET_INFO;
-
-/* SRV_Q_NET_SHARE_SET_INFO */
-typedef struct q_net_share_set_info_info
-{
-	uint32 ptr_srv_name;
-	UNISTR2 uni_srv_name;
-
-	UNISTR2 uni_share_name;
-	uint32 info_level;
-
-	SRV_SHARE_INFO info;
-
-        uint32 ptr_parm_error;
-        uint32 parm_error;
-
-} SRV_Q_NET_SHARE_SET_INFO;
-
-/* SRV_R_NET_SHARE_SET_INFO */
-typedef struct r_net_share_set_info
-{
-        uint32 ptr_parm_error;
-        uint32 parm_error;
-
-	WERROR status;               /* return status */
-
-} SRV_R_NET_SHARE_SET_INFO;
-
-/* SRV_Q_NET_SHARE_ADD */
-typedef struct q_net_share_add
-{
-	uint32 ptr_srv_name;
-	UNISTR2 uni_srv_name;
-
-	uint32 info_level;
-
-	SRV_SHARE_INFO info;
-
-	uint32 ptr_err_index; /* pointer to error index */
-	uint32 err_index;     /* index in info to field in error */
-
-} SRV_Q_NET_SHARE_ADD;
-
-/* SRV_R_NET_SHARE_ADD */
-typedef struct r_net_share_add
-{
-
-        uint32 ptr_parm_error;
-        uint32 parm_error;
-
-	WERROR status;               /* return status */
-
-} SRV_R_NET_SHARE_ADD;
-
 /***************************/
 
 typedef struct {
diff --git a/source/rpc_client/cli_srvsvc.c b/source/rpc_client/cli_srvsvc.c
index c043120..068108c 100644
--- a/source/rpc_client/cli_srvsvc.c
+++ b/source/rpc_client/cli_srvsvc.c
@@ -24,380 +24,6 @@
 
 #include "includes.h"
 
-WERROR rpccli_srvsvc_net_share_enum(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx,
-				 uint32 info_level, SRV_SHARE_INFO_CTR *ctr,
-				 int preferred_len, ENUM_HND *hnd)
-{
-	prs_struct qbuf, rbuf;
-	SRV_Q_NET_SHARE_ENUM q;
-	SRV_R_NET_SHARE_ENUM r;
-	WERROR result = W_ERROR(ERRgeneral);
-	fstring server;
-	int i;
-
-	ZERO_STRUCT(q);
-	ZERO_STRUCT(r);
-
-	/* Initialise input parameters */
-
-	slprintf(server, sizeof(fstring)-1, "\\\\%s", cli->cli->desthost);
-	strupper_m(server);
-
-	init_srv_q_net_share_enum(&q, server, info_level, preferred_len, hnd);
-
-	/* Marshall data and send request */
-
-	CLI_DO_RPC_WERR(cli, mem_ctx, PI_SRVSVC, SRV_NET_SHARE_ENUM_ALL,
-		q, r,
-		qbuf, rbuf,
-		srv_io_q_net_share_enum,
-		srv_io_r_net_share_enum,
-		WERR_GENERAL_FAILURE);
-
-	result = r.status;
-
-	if (!W_ERROR_IS_OK(result))
-		goto done;
-
-	/* Oh yuck yuck yuck - we have to copy all the info out of the
-	   SRV_SHARE_INFO_CTR in the SRV_R_NET_SHARE_ENUM as when we do a
-	   prs_mem_free() it will all be invalidated.  The various share
-	   info structures suck badly too.  This really is gross. */
-
-	ZERO_STRUCTP(ctr);
-
-	if (!r.ctr.num_entries)
-		goto done;
-
-	ctr->info_level = info_level;
-	ctr->num_entries = r.ctr.num_entries;
-
-	switch(info_level) {
-	case 1:
-		ctr->share.info1 = TALLOC_ARRAY(mem_ctx, SRV_SHARE_INFO_1, ctr->num_entries);
-		if (ctr->share.info1 == NULL) {
-			return WERR_NOMEM;
-		}
-		
-		memset(ctr->share.info1, 0, sizeof(SRV_SHARE_INFO_1));
-
-		for (i = 0; i < ctr->num_entries; i++) {
-			SRV_SHARE_INFO_1 *info1 = &ctr->share.info1[i];
-			char *s;
-			
-			/* Copy pointer crap */
-
-			memcpy(&info1->info_1, &r.ctr.share.info1[i].info_1, 
-			       sizeof(SH_INFO_1));
-
-			/* Duplicate strings */
-
-			s = unistr2_to_ascii_talloc(mem_ctx, &r.ctr.share.info1[i].info_1_str.uni_netname);
-			if (s)
-				init_unistr2(&info1->info_1_str.uni_netname, s, UNI_STR_TERMINATE);
-		
-			s = unistr2_to_ascii_talloc(mem_ctx, &r.ctr.share.info1[i].info_1_str.uni_remark);
-			if (s)
-				init_unistr2(&info1->info_1_str.uni_remark, s, UNI_STR_TERMINATE);
-
-		}		
-
-		break;
-	case 2:
-		ctr->share.info2 = TALLOC_ARRAY(mem_ctx, SRV_SHARE_INFO_2, ctr->num_entries);
-		if (ctr->share.info2 == NULL) {
-			return WERR_NOMEM;
-		}
-		
-		memset(ctr->share.info2, 0, sizeof(SRV_SHARE_INFO_2));
-
-		for (i = 0; i < ctr->num_entries; i++) {
-			SRV_SHARE_INFO_2 *info2 = &ctr->share.info2[i];
-			char *s;
-			
-			/* Copy pointer crap */
-
-			memcpy(&info2->info_2, &r.ctr.share.info2[i].info_2, 
-			       sizeof(SH_INFO_2));
-
-			/* Duplicate strings */
-
-			s = unistr2_to_ascii_talloc(mem_ctx, &r.ctr.share.info2[i].info_2_str.uni_netname);
-			if (s)
-				init_unistr2(&info2->info_2_str.uni_netname, s, UNI_STR_TERMINATE);
-
-			s = unistr2_to_ascii_talloc(mem_ctx, &r.ctr.share.info2[i].info_2_str.uni_remark);
-			if (s)
-				init_unistr2(&info2->info_2_str.uni_remark, s, UNI_STR_TERMINATE);
-
-			s = unistr2_to_ascii_talloc(mem_ctx, &r.ctr.share.info2[i].info_2_str.uni_path);
-			if (s)
-				init_unistr2(&info2->info_2_str.uni_path, s, UNI_STR_TERMINATE);
-
-			s = unistr2_to_ascii_talloc(mem_ctx, &r.ctr.share.info2[i].info_2_str.uni_passwd);
-			if (s)
-				init_unistr2(&info2->info_2_str.uni_passwd, s, UNI_STR_TERMINATE);
-		}
-		break;
-	/* adding info-level 502 here */
-	case 502:
-		ctr->share.info502 = TALLOC_ARRAY(mem_ctx, SRV_SHARE_INFO_502, ctr->num_entries);
-
-		if (ctr->share.info502 == NULL) {
-			return WERR_NOMEM;
-		}
-		
-		memset(ctr->share.info502, 0, sizeof(SRV_SHARE_INFO_502));
-
-		for (i = 0; i < ctr->num_entries; i++) {
-			SRV_SHARE_INFO_502 *info502 = &ctr->share.info502[i];
-			char *s;
-			
-			/* Copy pointer crap */
-			memcpy(&info502->info_502, &r.ctr.share.info502[i].info_502, 


-- 
Samba Shared Repository


More information about the samba-cvs mailing list