diff options
-rw-r--r-- | source3/include/printing.h | 3 | ||||
-rw-r--r-- | source3/printing/printing.c | 5 | ||||
-rw-r--r-- | source3/rpc_server/srv_spoolss_nt.c | 2 |
3 files changed, 6 insertions, 4 deletions
diff --git a/source3/include/printing.h b/source3/include/printing.h index d3e77bcc90..33a1d0ff2a 100644 --- a/source3/include/printing.h +++ b/source3/include/printing.h @@ -144,7 +144,8 @@ NTSTATUS print_job_end(int snum, uint32 jobid, enum file_close_type close_type); int print_queue_status(int snum, print_queue_struct **ppqueue, print_status_struct *status); -WERROR print_queue_pause(struct auth_serversupplied_info *server_info, int snum); +WERROR print_queue_pause(struct auth_serversupplied_info *server_info, + struct messaging_context *msg_ctx, int snum); WERROR print_queue_resume(struct auth_serversupplied_info *server_info, int snum); WERROR print_queue_purge(struct auth_serversupplied_info *server_info, int snum); diff --git a/source3/printing/printing.c b/source3/printing/printing.c index 9b8426ae32..fbe3bdf275 100644 --- a/source3/printing/printing.c +++ b/source3/printing/printing.c @@ -3035,12 +3035,13 @@ int print_queue_status(int snum, Pause a queue. ****************************************************************************/ -WERROR print_queue_pause(struct auth_serversupplied_info *server_info, int snum) +WERROR print_queue_pause(struct auth_serversupplied_info *server_info, + struct messaging_context *msg_ctx, int snum) { int ret; struct printif *current_printif = get_printer_fns( snum ); - if (!print_access_check(server_info, smbd_messaging_context(), snum, + if (!print_access_check(server_info, msg_ctx, snum, PRINTER_ACCESS_ADMINISTER)) { return WERR_ACCESS_DENIED; } diff --git a/source3/rpc_server/srv_spoolss_nt.c b/source3/rpc_server/srv_spoolss_nt.c index 3a83898a6a..48d7fbf520 100644 --- a/source3/rpc_server/srv_spoolss_nt.c +++ b/source3/rpc_server/srv_spoolss_nt.c @@ -5362,7 +5362,7 @@ static WERROR control_printer(struct policy_handle *handle, uint32_t command, switch (command) { case SPOOLSS_PRINTER_CONTROL_PAUSE: - errcode = print_queue_pause(p->server_info, snum); + errcode = print_queue_pause(p->server_info, p->msg_ctx, snum); break; case SPOOLSS_PRINTER_CONTROL_RESUME: case SPOOLSS_PRINTER_CONTROL_UNPAUSE: |