[cups/f17] Apply upstream patch to stop backend spinning on failed auth (bug #873264).
Tim Waugh
twaugh at fedoraproject.org
Mon Nov 5 17:28:58 UTC 2012
commit cf9fdc393c33c1a7d420c7e6c788ae787cb7e4d4
Author: Tim Waugh <twaugh at redhat.com>
Date: Mon Nov 5 17:22:12 2012 +0000
Apply upstream patch to stop backend spinning on failed auth (bug #873264).
Resolves: rhbz#873264
cups-str4190.patch | 71 ++++++++++++++++++++++++++++++++++++++++++++++++++++
cups.spec | 8 +++++-
2 files changed, 78 insertions(+), 1 deletions(-)
---
diff --git a/cups-str4190.patch b/cups-str4190.patch
new file mode 100644
index 0000000..9ec31e1
--- /dev/null
+++ b/cups-str4190.patch
@@ -0,0 +1,71 @@
+diff -up cups-1.5.4/backend/ipp.c.str4190 cups-1.5.4/backend/ipp.c
+--- cups-1.5.4/backend/ipp.c.str4190 2012-11-05 17:18:56.265644206 +0000
++++ cups-1.5.4/backend/ipp.c 2012-11-05 17:19:23.948745897 +0000
+@@ -1305,6 +1305,16 @@ main(int argc, /* I - Number of comm
+ }
+
+ /*
++ * If the printer only claims to support IPP/1.0, or if the user specifically
++ * included version=1.0 in the URI, then do not try to use Create-Job or
++ * Send-Document. This is another dreaded compatibility hack, but unfortunately
++ * there are enough broken printers out there that we need this for now...
++ */
++
++ if (version == 10)
++ create_job = send_document = 0;
++
++ /*
+ * Start monitoring the printer in the background...
+ */
+
+@@ -1520,10 +1530,9 @@ main(int argc, /* I - Number of comm
+ goto cleanup;
+ }
+ }
+- else if (ipp_status == IPP_ERROR_JOB_CANCELED)
++ else if (ipp_status == IPP_ERROR_JOB_CANCELED ||
++ ipp_status == IPP_NOT_AUTHORIZED)
+ goto cleanup;
+- else if (ipp_status == IPP_NOT_AUTHORIZED)
+- continue;
+ else
+ {
+ /*
+@@ -1709,14 +1718,35 @@ main(int argc, /* I - Number of comm
+ ipp_status == IPP_NOT_POSSIBLE ||
+ ipp_status == IPP_PRINTER_BUSY)
+ continue;
+- else if (ipp_status == IPP_REQUEST_VALUE)
++ else if (ipp_status == IPP_REQUEST_VALUE ||
++ ipp_status == IPP_ERROR_JOB_CANCELED ||
++ ipp_status == IPP_NOT_AUTHORIZED)
+ {
+ /*
+- * Print file is too large, abort this job...
++ * Print file is too large, job was canceled, or we need new
++ * authentication data...
+ */
+
+ goto cleanup;
+ }
++ else if (ipp_status == IPP_NOT_FOUND)
++ {
++ /*
++ * Printer does not actually implement support for Create-Job/
++ * Send-Document, so log the conformance issue and stop the printer.
++ */
++
++ fputs("DEBUG: This printer claims to support Create-Job and "
++ "Send-Document, but those operations failed.\n", stderr);
++ fputs("DEBUG: Add '?version=1.0' to the device URI to use legacy "
++ "compatibility mode.\n", stderr);
++ update_reasons(NULL, "+cups-ipp-conformance-failure-report,"
++ "cups-ipp-missing-send-document");
++
++ ipp_status = IPP_INTERNAL_ERROR; /* Force queue to stop */
++
++ goto cleanup;
++ }
+ else
+ copies_remaining --;
+
diff --git a/cups.spec b/cups.spec
index 1784097..de21dca 100644
--- a/cups.spec
+++ b/cups.spec
@@ -12,7 +12,7 @@
Summary: Common Unix Printing System
Name: cups
Version: 1.5.4
-Release: 10%{?dist}
+Release: 11%{?dist}
License: GPLv2
Group: System Environment/Daemons
Source: http://ftp.easysw.com/pub/cups/%{version}/cups-%{version}-source.tar.bz2
@@ -78,6 +78,7 @@ Patch42: cups-str4124.patch
Patch43: cups-str4194.patch
Patch44: cups-r10638.patch
Patch45: cups-r10642.patch
+Patch46: cups-str4190.patch
Patch100: cups-lspp.patch
@@ -321,6 +322,8 @@ Sends IPP requests to the specified URI and tests and/or displays the results.
%patch44 -p1 -b .r10638
# Work around broken 1284 device IDs that use a newline instead of a semicolon.
%patch45 -p1 -b .r10642
+# Apply upstream patch to stop backend spinning on failed auth (bug #873264).
+%patch46 -p1 -b .str4190
%if %lspp
# LSPP support.
@@ -690,6 +693,9 @@ rm -f %{cups_serverbin}/backend/smb
%{_mandir}/man1/ipptool.1.gz
%changelog
+* Mon Nov 5 2012 Tim Waugh <twaugh at redhat.com> 1:1.5.4-11
+- Apply upstream patch to stop backend spinning on failed auth (bug #873264).
+
* Wed Oct 31 2012 Tim Waugh <twaugh at redhat.com> 1:1.5.4-10
- Ensure attributes are valid UTF-8 in dbus notifier (bug #863387).
More information about the scm-commits
mailing list