summaryrefslogtreecommitdiff
path: root/source3/rpc_server
diff options
context:
space:
mode:
authorGerald Carter <jerry@samba.org>2002-09-10 21:37:53 +0000
committerGerald Carter <jerry@samba.org>2002-09-10 21:37:53 +0000
commit5d390fc5c7b1ac4374ee65b546f9e80b9ee0eee1 (patch)
treedd189d7f9ab1c336a51a9e161a365cc738a3bf1b /source3/rpc_server
parent96cf2abf9dfd72d5a2c8565d9894f9072f1ce04e (diff)
downloadsamba-5d390fc5c7b1ac4374ee65b546f9e80b9ee0eee1.tar.gz
samba-5d390fc5c7b1ac4374ee65b546f9e80b9ee0eee1.tar.bz2
samba-5d390fc5c7b1ac4374ee65b546f9e80b9ee0eee1.zip
AbortPrinter() fix merged from APP_HEAD.
(This used to be commit 97ede49e1271fa00c6ffdf9e6e3c2330ea935461)
Diffstat (limited to 'source3/rpc_server')
-rw-r--r--source3/rpc_server/srv_spoolss_nt.c24
1 files changed, 21 insertions, 3 deletions
diff --git a/source3/rpc_server/srv_spoolss_nt.c b/source3/rpc_server/srv_spoolss_nt.c
index ff9ac2ce50..07c22b063a 100644
--- a/source3/rpc_server/srv_spoolss_nt.c
+++ b/source3/rpc_server/srv_spoolss_nt.c
@@ -5417,13 +5417,31 @@ static WERROR control_printer(POLICY_HND *handle, uint32 command,
/********************************************************************
* api_spoolss_abortprinter
+ * From MSDN: "Deletes printer's spool file if printer is configured
+ * for spooling"
********************************************************************/
WERROR _spoolss_abortprinter(pipes_struct *p, SPOOL_Q_ABORTPRINTER *q_u, SPOOL_R_ABORTPRINTER *r_u)
{
- POLICY_HND *handle = &q_u->handle;
-
- return control_printer(handle, PRINTER_CONTROL_PURGE, p);
+ POLICY_HND *handle = &q_u->handle;
+ Printer_entry *Printer = find_printer_index_by_hnd(p, handle);
+ int snum;
+ struct current_user user;
+ WERROR errcode = WERR_OK;
+
+ if (!Printer) {
+ DEBUG(2,("_spoolss_abortprinter: Invalid handle (%s:%u:%u)\n",OUR_HANDLE(handle)));
+ return WERR_BADFID;
+ }
+
+ if (!get_printer_snum(p, handle, &snum))
+ return WERR_BADFID;
+
+ get_current_user( &user, p );
+
+ print_job_delete( &user, snum, Printer->jobid, &errcode );
+
+ return errcode;
}
/********************************************************************