- The scheduler did not use the Get-Job-Attributes policy for a printer

(STR #3431).
This commit is contained in:
Tim Waugh 2009-12-08 12:34:18 +00:00
parent 7f6e506a3f
commit ed27866c4a
2 changed files with 36 additions and 0 deletions

32
cups-str3431.patch Normal file
View File

@ -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;

View File

@ -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 <twaugh@redhat.com> - 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