s3: Lift the smbd_messaging_context from print_job_delete
authorVolker Lendecke <vl@samba.org>
Sun, 8 Aug 2010 12:42:47 +0000 (14:42 +0200)
committerVolker Lendecke <vl@samba.org>
Sun, 8 Aug 2010 14:03:26 +0000 (16:03 +0200)
source3/include/printing.h
source3/printing/printing.c
source3/rpc_server/srv_spoolss_nt.c

index eb277c991ad853a1af070be054ee155676470fcd..f43e4c029e4a9c798d7c7bd86862a5d375e396ef 100644 (file)
@@ -125,7 +125,8 @@ struct spoolss_DeviceMode *print_job_devmode(const char* sharename, uint32 jobid
 bool print_job_set_name(const char *sharename, uint32 jobid, const char *name);
 bool print_job_get_name(TALLOC_CTX *mem_ctx, const char *sharename, uint32_t jobid, char **name);
 WERROR print_job_delete(struct auth_serversupplied_info *server_info,
-                       int snum, uint32 jobid);
+                       struct messaging_context *msg_ctx,
+                       int snum, uint32_t jobid);
 bool print_job_pause(struct auth_serversupplied_info *server_info, int snum,
                     uint32 jobid, WERROR *errcode);
 bool print_job_resume(struct auth_serversupplied_info *server_info, int snum,
index ec9274cb350d95b338f9b473ca6cf4d01f326ad6..d3c8db3df51cd54c5df446ff1186c94dc71e0762 100644 (file)
@@ -2112,6 +2112,7 @@ static bool is_owner(struct auth_serversupplied_info *server_info,
 ****************************************************************************/
 
 WERROR print_job_delete(struct auth_serversupplied_info *server_info,
+                       struct messaging_context *msg_ctx,
                        int snum, uint32_t jobid)
 {
        const char* sharename = lp_const_servicename(snum);
@@ -2125,7 +2126,7 @@ WERROR print_job_delete(struct auth_serversupplied_info *server_info,
           owns their job. */
 
        if (!owner &&
-           !print_access_check(server_info, smbd_messaging_context(), snum,
+           !print_access_check(server_info, msg_ctx, snum,
                                JOB_ACCESS_ADMINISTER)) {
                DEBUG(3, ("delete denied by security descriptor\n"));
 
index 7ec0162f1a936fd56163ee7528560937a1eeb12c..097110cca0e2d6c7faf0252c72a8742ef12a2038 100644 (file)
@@ -5405,7 +5405,8 @@ WERROR _spoolss_AbortPrinter(struct pipes_struct *p,
                return WERR_SPL_NO_STARTDOC;
        }
 
-       errcode = print_job_delete(p->server_info, snum, Printer->jobid);
+       errcode = print_job_delete(p->server_info, p->msg_ctx, snum,
+                                  Printer->jobid);
 
        return errcode;
 }
@@ -6684,7 +6685,7 @@ WERROR _spoolss_SetJob(struct pipes_struct *p,
        switch (r->in.command) {
        case SPOOLSS_JOB_CONTROL_CANCEL:
        case SPOOLSS_JOB_CONTROL_DELETE:
-               errcode = print_job_delete(p->server_info,
+               errcode = print_job_delete(p->server_info, p->msg_ctx,
                                           snum, r->in.job_id);
                if (W_ERROR_EQUAL(errcode, WERR_PRINTER_HAS_JOBS_QUEUED)) {
                        errcode = WERR_OK;