diff options
| -rw-r--r-- | source3/include/proto.h | 11 | ||||
| -rw-r--r-- | source3/rpc_client/cli_spoolss.c | 206 | ||||
| -rw-r--r-- | source3/rpc_parse/parse_spoolss.c | 25 | 
3 files changed, 0 insertions, 242 deletions
diff --git a/source3/include/proto.h b/source3/include/proto.h index 1db9281b16..112c660d7c 100644 --- a/source3/include/proto.h +++ b/source3/include/proto.h @@ -5531,9 +5531,6 @@ WERROR rpccli_spoolss_enumprinters(struct rpc_pipe_client *cli,  				   uint32_t offered,  				   uint32_t *count,  				   union spoolss_PrinterInfo **info); -WERROR rpccli_spoolss_enum_printers(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, -				 char *name, uint32 flags, uint32 level, -				 uint32 *num_printers, PRINTER_INFO_CTR *ctr);  WERROR rpccli_spoolss_getprinterdata(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx,  				  POLICY_HND *hnd, const char *valuename,   				  REGISTRY_VALUE *value); @@ -5860,14 +5857,6 @@ uint32 spoolss_size_printer_info_3(PRINTER_INFO_3 *info);  uint32 spoolss_size_printer_info_7(PRINTER_INFO_7 *info);  uint32 spoolss_size_string_array(uint16 *string);  uint32 spoolss_size_printer_enum_values(PRINTER_ENUM_VALUES *p); -bool make_spoolss_q_enumprinters( -	SPOOL_Q_ENUMPRINTERS *q_u,  -	uint32 flags,  -	char *servername,  -	uint32 level,  -	RPC_BUFFER *buffer,  -	uint32 offered -);  bool spoolss_io_q_enumprinters(const char *desc, SPOOL_Q_ENUMPRINTERS *q_u, prs_struct *ps, int depth);  bool spoolss_io_r_enumprinters(const char *desc, SPOOL_R_ENUMPRINTERS *r_u, prs_struct *ps, int depth);  bool spoolss_io_r_getprinter(const char *desc, SPOOL_R_GETPRINTER *r_u, prs_struct *ps, int depth); diff --git a/source3/rpc_client/cli_spoolss.c b/source3/rpc_client/cli_spoolss.c index 5467c6d736..76614c67eb 100644 --- a/source3/rpc_client/cli_spoolss.c +++ b/source3/rpc_client/cli_spoolss.c @@ -712,212 +712,6 @@ WERROR rpccli_spoolss_enumprinters(struct rpc_pipe_client *cli,  /**********************************************************************  **********************************************************************/ -static bool decode_printer_info_0(TALLOC_CTX *mem_ctx, RPC_BUFFER *buffer, -				uint32 returned, PRINTER_INFO_0 **info) -{ -	uint32 i; -	PRINTER_INFO_0  *inf; - -	if (returned) { -		inf=TALLOC_ARRAY(mem_ctx, PRINTER_INFO_0, returned); -		if (!inf) { -			return False; -		} -		memset(inf, 0, returned*sizeof(PRINTER_INFO_0)); -	} else { -		inf = NULL; -	} - -	prs_set_offset(&buffer->prs,0); - -	for (i=0; i<returned; i++) { -		if (!smb_io_printer_info_0("", buffer, &inf[i], 0)) { -			return False; -		} -	} - -	*info=inf; -	return True; -} - -/********************************************************************** -**********************************************************************/ - -static bool decode_printer_info_1(TALLOC_CTX *mem_ctx, RPC_BUFFER *buffer, -				uint32 returned, PRINTER_INFO_1 **info) -{ -	uint32 i; -	PRINTER_INFO_1  *inf; - -	if (returned) { -		inf=TALLOC_ARRAY(mem_ctx, PRINTER_INFO_1, returned); -		if (!inf) { -			return False; -		} -		memset(inf, 0, returned*sizeof(PRINTER_INFO_1)); -	} else { -		inf = NULL; -	} - -	prs_set_offset(&buffer->prs,0); - -	for (i=0; i<returned; i++) { -		if (!smb_io_printer_info_1("", buffer, &inf[i], 0)) { -			return False; -		} -	} - -	*info=inf; -	return True; -} - -/********************************************************************** -**********************************************************************/ - -static bool decode_printer_info_2(TALLOC_CTX *mem_ctx, RPC_BUFFER *buffer,  -				uint32 returned, PRINTER_INFO_2 **info) -{ -	uint32 i; -	PRINTER_INFO_2  *inf; - -	if (returned) { -		inf=TALLOC_ARRAY(mem_ctx, PRINTER_INFO_2, returned); -		if (!inf) { -			return False; -		} -		memset(inf, 0, returned*sizeof(PRINTER_INFO_2)); -	} else { -		inf = NULL; -	} - -	prs_set_offset(&buffer->prs,0); - -	for (i=0; i<returned; i++) { -		/* a little initialization as we go */ -		inf[i].secdesc = NULL; -		if (!smb_io_printer_info_2("", buffer, &inf[i], 0)) { -			return False; -		} -	} - -	*info=inf; -	return True; -} - -/********************************************************************** -**********************************************************************/ - -static bool decode_printer_info_3(TALLOC_CTX *mem_ctx, RPC_BUFFER *buffer,  -				uint32 returned, PRINTER_INFO_3 **info) -{ -	uint32 i; -	PRINTER_INFO_3  *inf; - -	if (returned) { -		inf=TALLOC_ARRAY(mem_ctx, PRINTER_INFO_3, returned); -		if (!inf) { -			return False; -		} -		memset(inf, 0, returned*sizeof(PRINTER_INFO_3)); -	} else { -		inf = NULL; -	} - -	prs_set_offset(&buffer->prs,0); - -	for (i=0; i<returned; i++) { -		inf[i].secdesc = NULL; -		if (!smb_io_printer_info_3("", buffer, &inf[i], 0)) { -			return False; -		} -	} - -	*info=inf; -	return True; -} - -/********************************************************************** -**********************************************************************/ - -WERROR rpccli_spoolss_enum_printers(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, -				 char *name, uint32 flags, uint32 level, -				 uint32 *num_printers, PRINTER_INFO_CTR *ctr) -{ -	prs_struct qbuf, rbuf; -	SPOOL_Q_ENUMPRINTERS in; -        SPOOL_R_ENUMPRINTERS out; -	RPC_BUFFER buffer; -	uint32 offered; - -	ZERO_STRUCT(in); -	ZERO_STRUCT(out); - -	offered = 0; -	if (!rpcbuf_init(&buffer, offered, mem_ctx)) -		return WERR_NOMEM; -	make_spoolss_q_enumprinters( &in, flags, name, level, &buffer, offered ); - -	CLI_DO_RPC_WERR( cli, mem_ctx, &syntax_spoolss, SPOOLSS_ENUMPRINTERS, -	            in, out,  -	            qbuf, rbuf, -	            spoolss_io_q_enumprinters, -	            spoolss_io_r_enumprinters,  -	            WERR_GENERAL_FAILURE ); -		     -	if ( W_ERROR_EQUAL( out.status, WERR_INSUFFICIENT_BUFFER ) ) { -		offered = out.needed; -		 -		ZERO_STRUCT(in); -		ZERO_STRUCT(out); - -		if (!rpcbuf_init(&buffer, offered, mem_ctx)) -			return WERR_NOMEM; -		make_spoolss_q_enumprinters( &in, flags, name, level, &buffer, offered ); - -		CLI_DO_RPC_WERR( cli, mem_ctx, &syntax_spoolss, SPOOLSS_ENUMPRINTERS, -		            in, out,  -		            qbuf, rbuf, -		            spoolss_io_q_enumprinters, -		            spoolss_io_r_enumprinters,  -		            WERR_GENERAL_FAILURE ); -	} - -	if ( !W_ERROR_IS_OK(out.status) ) -		return out.status; - -	switch (level) { -	case 0: -		if (!decode_printer_info_0(mem_ctx, out.buffer, out.returned, &ctr->printers_0)) { -			return WERR_GENERAL_FAILURE; -		} -		break; -	case 1: -		if (!decode_printer_info_1(mem_ctx, out.buffer, out.returned, &ctr->printers_1)) { -			return WERR_GENERAL_FAILURE; -		} -		break; -	case 2: -		if (!decode_printer_info_2(mem_ctx, out.buffer, out.returned, &ctr->printers_2)) { -			return WERR_GENERAL_FAILURE; -		} -		break; -	case 3: -		if (!decode_printer_info_3(mem_ctx, out.buffer, out.returned, &ctr->printers_3)) { -			return WERR_GENERAL_FAILURE; -		} -		break; -	default: -		return WERR_UNKNOWN_LEVEL; -	}			 - -	*num_printers = out.returned; - -	return out.status; -} - -/********************************************************************** -**********************************************************************/ -  WERROR rpccli_spoolss_getprinterdata(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx,  				  POLICY_HND *hnd, const char *valuename,   				  REGISTRY_VALUE *value) diff --git a/source3/rpc_parse/parse_spoolss.c b/source3/rpc_parse/parse_spoolss.c index d77199d624..10d61ae6e9 100644 --- a/source3/rpc_parse/parse_spoolss.c +++ b/source3/rpc_parse/parse_spoolss.c @@ -1041,31 +1041,6 @@ uint32 spoolss_size_printer_enum_values(PRINTER_ENUM_VALUES *p)  }  /******************************************************************* - * init a structure. - ********************************************************************/ - -bool make_spoolss_q_enumprinters( -	SPOOL_Q_ENUMPRINTERS *q_u,  -	uint32 flags,  -	char *servername,  -	uint32 level,  -	RPC_BUFFER *buffer,  -	uint32 offered -) -{ -	q_u->flags=flags; -	 -	q_u->servername_ptr = (servername != NULL) ? 1 : 0; -	init_buf_unistr2(&q_u->servername, &q_u->servername_ptr, servername); - -	q_u->level=level; -	q_u->buffer=buffer; -	q_u->offered=offered; - -	return True; -} - -/*******************************************************************   * read a structure.   * called from spoolss_enumprinters (srv_spoolss.c)   ********************************************************************/  | 
