From ed27866c4a4e73395e1d7e7ec7101a29e3dcb1ec Mon Sep 17 00:00:00 2001 From: Tim Waugh Date: Dec 08 2009 12:34:18 +0000 Subject: - The scheduler did not use the Get-Job-Attributes policy for a printer (STR #3431). --- diff --git a/cups-str3431.patch b/cups-str3431.patch new file mode 100644 index 0000000..636960d --- /dev/null +++ b/cups-str3431.patch @@ -0,0 +1,32 @@ +diff -up cups-1.4.2/scheduler/ipp.c.str3431 cups-1.4.2/scheduler/ipp.c +--- cups-1.4.2/scheduler/ipp.c.str3431 2009-12-08 12:28:21.095374048 +0000 ++++ cups-1.4.2/scheduler/ipp.c 2009-12-08 12:32:03.829498891 +0000 +@@ -7183,6 +7183,7 @@ get_job_attrs(cupsd_client_t *con, /* I + ipp_attribute_t *attr; /* Current attribute */ + int jobid; /* Job ID */ + cupsd_job_t *job; /* Current job */ ++ cupsd_printer_t *printer; /* Current printer */ + char scheme[HTTP_MAX_URI], /* Method portion of URI */ + username[HTTP_MAX_URI], /* Username portion of URI */ + host[HTTP_MAX_URI], /* Host portion of URI */ +@@ -7257,7 +7258,19 @@ get_job_attrs(cupsd_client_t *con, /* I + * Check policy... + */ + +- if ((status = cupsdCheckPolicy(DefaultPolicyPtr, con, NULL)) != HTTP_OK) ++ if ((printer = job->printer) == NULL) ++ printer = cupsdFindDest(job->dest); ++ ++ if (printer) ++ { ++ if ((status = cupsdCheckPolicy(printer->op_policy_ptr, con, ++ NULL)) != HTTP_OK) ++ { ++ send_http_error(con, status, printer); ++ return; ++ } ++ } ++ else if ((status = cupsdCheckPolicy(DefaultPolicyPtr, con, NULL)) != HTTP_OK) + { + send_http_error(con, status, NULL); + return; diff --git a/cups.spec b/cups.spec index 3960a53..25e11ec 100644 --- a/cups.spec +++ b/cups.spec @@ -71,6 +71,7 @@ Patch44: cups-str3435.patch Patch45: cups-str3436.patch Patch46: cups-str3425.patch Patch47: cups-str3428.patch +Patch48: cups-str3431.patch Patch100: cups-lspp.patch @@ -247,6 +248,7 @@ module. %patch45 -p1 -b .str3436 %patch46 -p1 -b .str3425 %patch47 -p1 -b .str3428 +%patch48 -p1 -b .str3431 %if %lspp %patch100 -p1 -b .lspp @@ -546,6 +548,8 @@ rm -rf $RPM_BUILD_ROOT %changelog * Tue Dec 8 2009 Tim Waugh - 1:1.4.2-14 +- The scheduler did not use the Get-Job-Attributes policy for a + printer (STR #3431). - The scheduler added two job-name attributes to each job object (STR #3428). - The scheduler did not clean out completed jobs when