[SCM] Samba Shared Repository - branch master updated - release-4-0-0alpha6-580-g88f09a8

Günther Deschner gd at samba.org
Fri Feb 6 17:59:51 GMT 2009


The branch, master has been updated
       via  88f09a8353597b72885838dfdc61b7631ae0192f (commit)
       via  0bd5698dabdf8a408e21c5261a688dd2599af3cf (commit)
       via  46903a0f907869253899d05b3c04c93aa2e2812d (commit)
      from  a45107abca61c2c7f097c807818bc11fc5910fd4 (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 88f09a8353597b72885838dfdc61b7631ae0192f
Author: Günther Deschner <gd at samba.org>
Date:   Fri Nov 14 23:59:39 2008 +0100

    s3-spoolss: remove old _spoolss_ClosePrinter.
    
    Guenther

commit 0bd5698dabdf8a408e21c5261a688dd2599af3cf
Author: Günther Deschner <gd at samba.org>
Date:   Fri Nov 14 23:58:26 2008 +0100

    s3-spoolss: use rpccli_spoolss_ClosePrinter.
    
    Guenther

commit 46903a0f907869253899d05b3c04c93aa2e2812d
Author: Günther Deschner <gd at samba.org>
Date:   Fri Nov 14 23:36:11 2008 +0100

    s3-spoolss: use pidl for _spoolss_ClosePrinter.
    
    Guenther

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

Summary of changes:
 source3/include/proto.h             |    6 ---
 source3/include/rpc_spoolss.h       |   13 -------
 source3/libads/ldap_printer.c       |    2 +-
 source3/rpc_client/cli_spoolss.c    |   25 --------------
 source3/rpc_parse/parse_spoolss.c   |   60 -----------------------------------
 source3/rpc_server/srv_spoolss.c    |   22 +------------
 source3/rpc_server/srv_spoolss_nt.c |   24 ++++----------
 source3/rpcclient/cmd_spoolss.c     |   42 ++++++++++++------------
 source3/utils/net_rpc_printer.c     |   50 ++++++++++++++--------------
 9 files changed, 55 insertions(+), 189 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/include/proto.h b/source3/include/proto.h
index baf0a4a..2c77945 100644
--- a/source3/include/proto.h
+++ b/source3/include/proto.h
@@ -5428,8 +5428,6 @@ NTSTATUS rpccli_try_samr_connects(struct rpc_pipe_client *cli,
 WERROR rpccli_spoolss_open_printer_ex(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx,
 				const char *printername, const char *datatype, uint32 access_required,
 				const char *station, const char *username, POLICY_HND *pol);
-WERROR rpccli_spoolss_close_printer(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx,
-				 POLICY_HND *pol);
 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);
@@ -5881,7 +5879,6 @@ bool spoolss_io_r_deleteprinterdata(const char *desc, SPOOL_R_DELETEPRINTERDATA
 bool spoolss_io_q_deleteprinterdataex(const char *desc, SPOOL_Q_DELETEPRINTERDATAEX *q_u, prs_struct *ps, int depth);
 bool spoolss_io_r_deleteprinterdataex(const char *desc, SPOOL_R_DELETEPRINTERDATAEX *r_u, prs_struct *ps, int depth);
 bool spoolss_io_r_getprinterdata(const char *desc, SPOOL_R_GETPRINTERDATA *r_u, prs_struct *ps, int depth);
-bool make_spoolss_q_closeprinter(SPOOL_Q_CLOSEPRINTER *q_u, POLICY_HND *hnd);
 bool spoolss_io_q_abortprinter(const char *desc, SPOOL_Q_ABORTPRINTER *q_u, prs_struct *ps, int depth);
 bool spoolss_io_r_abortprinter(const char *desc, SPOOL_R_ABORTPRINTER *r_u, prs_struct *ps, int depth);
 bool spoolss_io_q_deleteprinter(const char *desc, SPOOL_Q_DELETEPRINTER *q_u, prs_struct *ps, int depth);
@@ -5890,8 +5887,6 @@ bool spoolss_io_q_deleteprinterdriver(const char *desc, SPOOL_Q_DELETEPRINTERDRI
 bool spoolss_io_r_deleteprinterdriver(const char *desc, SPOOL_R_DELETEPRINTERDRIVER *r_u, prs_struct *ps, int depth);
 bool spoolss_io_q_deleteprinterdriverex(const char *desc, SPOOL_Q_DELETEPRINTERDRIVEREX *q_u, prs_struct *ps, int depth);
 bool spoolss_io_r_deleteprinterdriverex(const char *desc, SPOOL_R_DELETEPRINTERDRIVEREX *r_u, prs_struct *ps, int depth);
-bool spoolss_io_q_closeprinter(const char *desc, SPOOL_Q_CLOSEPRINTER *q_u, prs_struct *ps, int depth);
-bool spoolss_io_r_closeprinter(const char *desc, SPOOL_R_CLOSEPRINTER *r_u, prs_struct *ps, int depth);
 bool spoolss_io_q_startdocprinter(const char *desc, SPOOL_Q_STARTDOCPRINTER *q_u, prs_struct *ps, int depth);
 bool spoolss_io_r_startdocprinter(const char *desc, SPOOL_R_STARTDOCPRINTER *r_u, prs_struct *ps, int depth);
 bool spoolss_io_q_enddocprinter(const char *desc, SPOOL_Q_ENDDOCPRINTER *q_u, prs_struct *ps, int depth);
@@ -6299,7 +6294,6 @@ WERROR _spoolss_open_printer(pipes_struct *p, SPOOL_Q_OPEN_PRINTER *q_u, SPOOL_R
 WERROR _spoolss_open_printer_ex( pipes_struct *p, SPOOL_Q_OPEN_PRINTER_EX *q_u, SPOOL_R_OPEN_PRINTER_EX *r_u);
 bool convert_devicemode(const char *printername, const DEVICEMODE *devmode,
 				NT_DEVICEMODE **pp_nt_devmode);
-WERROR _spoolss_closeprinter(pipes_struct *p, SPOOL_Q_CLOSEPRINTER *q_u, SPOOL_R_CLOSEPRINTER *r_u);
 WERROR _spoolss_deleteprinter(pipes_struct *p, SPOOL_Q_DELETEPRINTER *q_u, SPOOL_R_DELETEPRINTER *r_u);
 WERROR _spoolss_deleteprinterdriver(pipes_struct *p, SPOOL_Q_DELETEPRINTERDRIVER *q_u, SPOOL_R_DELETEPRINTERDRIVER *r_u);
 WERROR _spoolss_deleteprinterdriverex(pipes_struct *p, SPOOL_Q_DELETEPRINTERDRIVEREX *q_u, SPOOL_R_DELETEPRINTERDRIVEREX *r_u);
diff --git a/source3/include/rpc_spoolss.h b/source3/include/rpc_spoolss.h
index 3290933..c4c4062 100644
--- a/source3/include/rpc_spoolss.h
+++ b/source3/include/rpc_spoolss.h
@@ -545,19 +545,6 @@ typedef struct spool_r_deleteprinterdata
 }
 SPOOL_R_DELETEPRINTERDATA;
 
-typedef struct spool_q_closeprinter
-{
-	POLICY_HND handle;
-}
-SPOOL_Q_CLOSEPRINTER;
-
-typedef struct spool_r_closeprinter
-{
-	POLICY_HND handle;
-	WERROR status;
-}
-SPOOL_R_CLOSEPRINTER;
-
 typedef struct spool_q_startpageprinter
 {
 	POLICY_HND handle;
diff --git a/source3/libads/ldap_printer.c b/source3/libads/ldap_printer.c
index 169c3bb..023acaa 100644
--- a/source3/libads/ldap_printer.c
+++ b/source3/libads/ldap_printer.c
@@ -369,7 +369,7 @@ WERROR get_remote_printer_publishing_data(struct rpc_pipe_client *cli,
 	TALLOC_FREE( dsdriver_ctr );
 	TALLOC_FREE( dsspooler_ctr );
 
-	rpccli_spoolss_close_printer(cli, mem_ctx, &pol);
+	rpccli_spoolss_ClosePrinter(cli, mem_ctx, &pol, NULL);
 
 	return result;
 }
diff --git a/source3/rpc_client/cli_spoolss.c b/source3/rpc_client/cli_spoolss.c
index 30a707f..68420de 100644
--- a/source3/rpc_client/cli_spoolss.c
+++ b/source3/rpc_client/cli_spoolss.c
@@ -482,31 +482,6 @@ WERROR rpccli_spoolss_open_printer_ex(struct rpc_pipe_client *cli, TALLOC_CTX *m
 /**********************************************************************
 **********************************************************************/
 
-WERROR rpccli_spoolss_close_printer(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx,
-				 POLICY_HND *pol)
-{
-	prs_struct qbuf, rbuf;
-	SPOOL_Q_CLOSEPRINTER in;
-	SPOOL_R_CLOSEPRINTER out;
-
-	ZERO_STRUCT(in);
-	ZERO_STRUCT(out);
-
-        make_spoolss_q_closeprinter( &in, pol );
-
-	CLI_DO_RPC_WERR( cli, mem_ctx, &syntax_spoolss, SPOOLSS_CLOSEPRINTER,
-	            in, out, 
-	            qbuf, rbuf,
-	            spoolss_io_q_closeprinter,
-	            spoolss_io_r_closeprinter, 
-	            WERR_GENERAL_FAILURE );
-		    
-	return out.status;
-}
-
-/**********************************************************************
-**********************************************************************/
-
 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)
diff --git a/source3/rpc_parse/parse_spoolss.c b/source3/rpc_parse/parse_spoolss.c
index 3fe0c3a..091b2e5 100644
--- a/source3/rpc_parse/parse_spoolss.c
+++ b/source3/rpc_parse/parse_spoolss.c
@@ -1477,21 +1477,6 @@ bool spoolss_io_r_getprinterdata(const char *desc, SPOOL_R_GETPRINTERDATA *r_u,
 }
 
 /*******************************************************************
- * make a structure.
- ********************************************************************/
-
-bool make_spoolss_q_closeprinter(SPOOL_Q_CLOSEPRINTER *q_u, POLICY_HND *hnd)
-{
-	if (q_u == NULL) return False;
-
-	DEBUG(5,("make_spoolss_q_closeprinter\n"));
-
-	memcpy(&q_u->handle, hnd, sizeof(q_u->handle));
-
-	return True;
-}
-
-/*******************************************************************
  * read a structure.
  * called from static spoolss_q_abortprinter (srv_spoolss.c)
  * called from spoolss_abortprinter (cli_spoolss.c)
@@ -1681,51 +1666,6 @@ bool spoolss_io_r_deleteprinterdriverex(const char *desc, SPOOL_R_DELETEPRINTERD
 }
 
 
-
-/*******************************************************************
- * read a structure.
- * called from static spoolss_q_closeprinter (srv_spoolss.c)
- * called from spoolss_closeprinter (cli_spoolss.c)
- ********************************************************************/
-
-bool spoolss_io_q_closeprinter(const char *desc, SPOOL_Q_CLOSEPRINTER *q_u, prs_struct *ps, int depth)
-{
-	if (q_u == NULL) return False;
-
-	prs_debug(ps, depth, desc, "spoolss_io_q_closeprinter");
-	depth++;
-
-	if (!prs_align(ps))
-		return False;
-
-	if (!smb_io_pol_hnd("printer handle",&q_u->handle,ps,depth))
-		return False;
-
-	return True;
-}
-
-/*******************************************************************
- * write a structure.
- * called from static spoolss_r_closeprinter (srv_spoolss.c)
- * called from spoolss_closeprinter (cli_spoolss.c)
- ********************************************************************/
-
-bool spoolss_io_r_closeprinter(const char *desc, SPOOL_R_CLOSEPRINTER *r_u, prs_struct *ps, int depth)
-{
-	prs_debug(ps, depth, desc, "spoolss_io_r_closeprinter");
-	depth++;
-	
-	if (!prs_align(ps))
-		return False;
-
-	if (!smb_io_pol_hnd("printer handle",&r_u->handle,ps,depth))
-		return False;
-	if (!prs_werror("status", ps, depth, &r_u->status))
-		return False;
-	
-	return True;
-}
-
 /*******************************************************************
  * read a structure.
  * called from spoolss_q_startdocprinter (srv_spoolss.c)
diff --git a/source3/rpc_server/srv_spoolss.c b/source3/rpc_server/srv_spoolss.c
index c34fd8f..1f25342 100644
--- a/source3/rpc_server/srv_spoolss.c
+++ b/source3/rpc_server/srv_spoolss.c
@@ -179,27 +179,7 @@ static bool api_spoolss_deleteprinterdata(pipes_struct *p)
 
 static bool api_spoolss_closeprinter(pipes_struct *p)
 {
-	SPOOL_Q_CLOSEPRINTER q_u;
-	SPOOL_R_CLOSEPRINTER r_u;
-	prs_struct *data = &p->in_data.data;
-	prs_struct *rdata = &p->out_data.rdata;
-
-	ZERO_STRUCT(q_u);
-	ZERO_STRUCT(r_u);
-
-	if (!spoolss_io_q_closeprinter("", &q_u, data, 0)) {
-		DEBUG(0,("spoolss_io_q_closeprinter: unable to unmarshall SPOOL_Q_CLOSEPRINTER.\n"));
-		return False;
-	}
-
-	r_u.status = _spoolss_closeprinter(p, &q_u, &r_u);
-
-	if (!spoolss_io_r_closeprinter("",&r_u,rdata,0)) {
-		DEBUG(0,("spoolss_io_r_closeprinter: unable to marshall SPOOL_R_CLOSEPRINTER.\n"));
-		return False;
-	}
-
-	return True;
+	return proxy_spoolss_call(p, NDR_SPOOLSS_CLOSEPRINTER);
 }
 
 /********************************************************************
diff --git a/source3/rpc_server/srv_spoolss_nt.c b/source3/rpc_server/srv_spoolss_nt.c
index 9836e4e..e5e4106 100644
--- a/source3/rpc_server/srv_spoolss_nt.c
+++ b/source3/rpc_server/srv_spoolss_nt.c
@@ -1913,13 +1913,14 @@ static WERROR _spoolss_enddocprinter_internal(pipes_struct *p, POLICY_HND *handl
 	return WERR_OK;
 }
 
-/********************************************************************
- * api_spoolss_closeprinter
- ********************************************************************/
+/****************************************************************
+ _spoolss_ClosePrinter
+****************************************************************/
 
-WERROR _spoolss_closeprinter(pipes_struct *p, SPOOL_Q_CLOSEPRINTER *q_u, SPOOL_R_CLOSEPRINTER *r_u)
+WERROR _spoolss_ClosePrinter(pipes_struct *p,
+			     struct spoolss_ClosePrinter *r)
 {
-	POLICY_HND *handle = &q_u->handle;
+	POLICY_HND *handle = r->in.handle;
 
 	Printer_entry *Printer=find_printer_index_by_hnd(p, handle);
 
@@ -1934,7 +1935,7 @@ WERROR _spoolss_closeprinter(pipes_struct *p, SPOOL_Q_CLOSEPRINTER *q_u, SPOOL_R
 	   Previous code just copied the value of the closed
 	   handle.    --jerry */
 
-	memset(&r_u->handle, '\0', sizeof(r_u->handle));
+	ZERO_STRUCTP(r->out.handle);
 
 	return WERR_OK;
 }
@@ -10261,17 +10262,6 @@ WERROR _spoolss_WaitForPrinterChange(pipes_struct *p,
 }
 
 /****************************************************************
- _spoolss_ClosePrinter
-****************************************************************/
-
-WERROR _spoolss_ClosePrinter(pipes_struct *p,
-			     struct spoolss_ClosePrinter *r)
-{
-	p->rng_fault_state = true;
-	return WERR_NOT_SUPPORTED;
-}
-
-/****************************************************************
  _spoolss_AddForm
 ****************************************************************/
 
diff --git a/source3/rpcclient/cmd_spoolss.c b/source3/rpcclient/cmd_spoolss.c
index ecd0f36..057fc25 100644
--- a/source3/rpcclient/cmd_spoolss.c
+++ b/source3/rpcclient/cmd_spoolss.c
@@ -122,7 +122,7 @@ static WERROR cmd_spoolss_open_printer_ex(struct rpc_pipe_client *cli,
 
 	if (W_ERROR_IS_OK(werror)) {
 		printf("Printer %s opened successfully\n", printername);
-		werror = rpccli_spoolss_close_printer(cli, mem_ctx, &hnd);
+		rpccli_spoolss_ClosePrinter(cli, mem_ctx, &hnd, &werror);
 
 		if (!W_ERROR_IS_OK(werror)) {
 			printf("Error closing printer handle! (%s)\n", 
@@ -521,7 +521,7 @@ static WERROR cmd_spoolss_setprinter(struct rpc_pipe_client *cli,
 
  done:
 	if (opened_hnd)
-		rpccli_spoolss_close_printer(cli, mem_ctx, &pol);
+		rpccli_spoolss_ClosePrinter(cli, mem_ctx, &pol, NULL);
 
 	return result;
 }
@@ -586,7 +586,7 @@ static WERROR cmd_spoolss_setprintername(struct rpc_pipe_client *cli,
 
  done:
 	if (opened_hnd)
-		rpccli_spoolss_close_printer(cli, mem_ctx, &pol);
+		rpccli_spoolss_ClosePrinter(cli, mem_ctx, &pol, NULL);
 
 	return result;
 }
@@ -665,7 +665,7 @@ static WERROR cmd_spoolss_getprinter(struct rpc_pipe_client *cli,
 
  done: 
 	if (opened_hnd) 
-		rpccli_spoolss_close_printer(cli, mem_ctx, &pol);
+		rpccli_spoolss_ClosePrinter(cli, mem_ctx, &pol, NULL);
 
 	return result;
 }
@@ -791,7 +791,7 @@ static WERROR cmd_spoolss_getprinterdata(struct rpc_pipe_client *cli,
 
  done: 
 	if (opened_hnd) 
-		rpccli_spoolss_close_printer(cli, mem_ctx, &pol);
+		rpccli_spoolss_ClosePrinter(cli, mem_ctx, &pol, NULL);
 
 	return result;
 }
@@ -859,7 +859,7 @@ static WERROR cmd_spoolss_getprinterdataex(struct rpc_pipe_client *cli,
 
  done: 
 	if (opened_hnd) 
-		rpccli_spoolss_close_printer(cli, mem_ctx, &pol);
+		rpccli_spoolss_ClosePrinter(cli, mem_ctx, &pol, NULL);
 
 	return result;
 }
@@ -1055,7 +1055,7 @@ static WERROR cmd_spoolss_getdriver(struct rpc_pipe_client *cli,
 	/* Cleanup */
 
 	if (opened_hnd)
-		rpccli_spoolss_close_printer (cli, mem_ctx, &pol);
+		rpccli_spoolss_ClosePrinter(cli, mem_ctx, &pol, NULL);
 	
 	if ( success )
 		werror = WERR_OK;
@@ -1490,7 +1490,7 @@ done:
 	/* Cleanup */
 
 	if (opened_hnd)
-		rpccli_spoolss_close_printer(cli, mem_ctx, &pol);
+		rpccli_spoolss_ClosePrinter(cli, mem_ctx, &pol, NULL);
 
 	return result;
 }
@@ -1692,7 +1692,7 @@ static WERROR cmd_spoolss_addform(struct rpc_pipe_client *cli, TALLOC_CTX *mem_c
 
  done:
 	if (got_handle)
-		rpccli_spoolss_close_printer(cli, mem_ctx, &handle);
+		rpccli_spoolss_ClosePrinter(cli, mem_ctx, &handle, NULL);
 
 	SAFE_FREE(servername);
 	SAFE_FREE(printername);
@@ -1756,7 +1756,7 @@ static WERROR cmd_spoolss_setform(struct rpc_pipe_client *cli, TALLOC_CTX *mem_c
 
  done:
 	if (got_handle)
-		rpccli_spoolss_close_printer(cli, mem_ctx, &handle);
+		rpccli_spoolss_ClosePrinter(cli, mem_ctx, &handle, NULL);
 
 	SAFE_FREE(servername);
 	SAFE_FREE(printername);
@@ -1852,7 +1852,7 @@ static WERROR cmd_spoolss_getform(struct rpc_pipe_client *cli, TALLOC_CTX *mem_c
 
  done:
 	if (got_handle)
-		rpccli_spoolss_close_printer(cli, mem_ctx, &handle);
+		rpccli_spoolss_ClosePrinter(cli, mem_ctx, &handle, NULL);
 
 	SAFE_FREE(servername);
 	SAFE_FREE(printername);
@@ -1905,7 +1905,7 @@ static WERROR cmd_spoolss_deleteform(struct rpc_pipe_client *cli,
 
  done:
 	if (got_handle)
-		rpccli_spoolss_close_printer(cli, mem_ctx, &handle);
+		rpccli_spoolss_ClosePrinter(cli, mem_ctx, &handle, NULL);
 
 	SAFE_FREE(servername);
 	SAFE_FREE(printername);
@@ -1971,7 +1971,7 @@ static WERROR cmd_spoolss_enum_forms(struct rpc_pipe_client *cli,
 
  done:
 	if (got_handle)
-		rpccli_spoolss_close_printer(cli, mem_ctx, &handle);
+		rpccli_spoolss_ClosePrinter(cli, mem_ctx, &handle, NULL);
 
 	SAFE_FREE(servername);
 	SAFE_FREE(printername);
@@ -2142,7 +2142,7 @@ done:
 	/* cleanup */
 	TALLOC_FREE(tmp_ctx);
 	if (opened_hnd)
-		rpccli_spoolss_close_printer(cli, mem_ctx, &pol);
+		rpccli_spoolss_ClosePrinter(cli, mem_ctx, &pol, NULL);
 
 	return result;
 }
@@ -2260,7 +2260,7 @@ static WERROR cmd_spoolss_enum_jobs(struct rpc_pipe_client *cli,
 	
 done:
 	if (got_hnd)
-		rpccli_spoolss_close_printer(cli, mem_ctx, &hnd);
+		rpccli_spoolss_ClosePrinter(cli, mem_ctx, &hnd, NULL);
 
 	return result;
 }
@@ -2326,7 +2326,7 @@ static WERROR cmd_spoolss_enum_data( struct rpc_pipe_client *cli,
 
 done:
 	if (got_hnd)
-		rpccli_spoolss_close_printer(cli, mem_ctx, &hnd);
+		rpccli_spoolss_ClosePrinter(cli, mem_ctx, &hnd, NULL);
 
 	return result;
 }
@@ -2397,7 +2397,7 @@ static WERROR cmd_spoolss_enum_data_ex( struct rpc_pipe_client *cli,
 
 done:
 	if (got_hnd)
-		rpccli_spoolss_close_printer(cli, mem_ctx, &hnd);
+		rpccli_spoolss_ClosePrinter(cli, mem_ctx, &hnd, NULL);
 
 	return result;
 }
@@ -2477,7 +2477,7 @@ done:
 	SAFE_FREE(keylist);
 
 	if (got_hnd)
-		rpccli_spoolss_close_printer(cli, mem_ctx, &hnd);
+		rpccli_spoolss_ClosePrinter(cli, mem_ctx, &hnd, NULL);
 
 	return result;
 }
@@ -2562,7 +2562,7 @@ static WERROR cmd_spoolss_rffpcnex(struct rpc_pipe_client *cli,
 
 done:		
 	if (got_hnd)
-		rpccli_spoolss_close_printer(cli, mem_ctx, &hnd);
+		rpccli_spoolss_ClosePrinter(cli, mem_ctx, &hnd, NULL);
 
 	return result;
 }
@@ -2760,8 +2760,8 @@ done:
 	/* cleanup */
 
 	printf("Closing printers...");
-	rpccli_spoolss_close_printer( cli, mem_ctx, &hPrinter1 );
-	rpccli_spoolss_close_printer( cli2, mem_ctx, &hPrinter2 );
+	rpccli_spoolss_ClosePrinter( cli, mem_ctx, &hPrinter1, NULL );
+	rpccli_spoolss_ClosePrinter( cli2, mem_ctx, &hPrinter2, NULL );
 	printf("ok\n");
 
 	/* close the second remote connection */
diff --git a/source3/utils/net_rpc_printer.c b/source3/utils/net_rpc_printer.c
index c750e46..60e823e 100644
--- a/source3/utils/net_rpc_printer.c
+++ b/source3/utils/net_rpc_printer.c
@@ -1006,11 +1006,11 @@ static bool get_printer_info(struct rpc_pipe_client *pipe_hnd,
 		return false;
 
 	if (!net_spoolss_getprinter(pipe_hnd, mem_ctx, &hnd, level, ctr)) {
-		rpccli_spoolss_close_printer(pipe_hnd, mem_ctx, &hnd);
+		rpccli_spoolss_ClosePrinter(pipe_hnd, mem_ctx, &hnd, NULL);
 		return false;
 	}
 
-	rpccli_spoolss_close_printer(pipe_hnd, mem_ctx, &hnd);
+	rpccli_spoolss_ClosePrinter(pipe_hnd, mem_ctx, &hnd, NULL);
 
 	*num_printers = 1;
 
@@ -1242,7 +1242,7 @@ static NTSTATUS rpc_printer_publish_internals_args(struct rpc_pipe_client *pipe_
 
 done:
 	if (got_hnd)
-		rpccli_spoolss_close_printer(pipe_hnd, mem_ctx, &hnd);
+		rpccli_spoolss_ClosePrinter(pipe_hnd, mem_ctx, &hnd, NULL);
 
 	return nt_status;
 }
@@ -1383,7 +1383,7 @@ NTSTATUS rpc_printer_publish_list_internals(struct net_context *c,
 
 done:
 	if (got_hnd)
-		rpccli_spoolss_close_printer(pipe_hnd, mem_ctx, &hnd);
+		rpccli_spoolss_ClosePrinter(pipe_hnd, mem_ctx, &hnd, NULL);
 
 	return nt_status;
 }
@@ -1522,12 +1522,12 @@ NTSTATUS rpc_printer_migrate_security_internals(struct net_context *c,
 
 		/* close printer handles here */
 		if (got_hnd_src) {
-			rpccli_spoolss_close_printer(pipe_hnd, mem_ctx, &hnd_src);


-- 
Samba Shared Repository


More information about the samba-cvs mailing list