backport fixes for STR #4191, STR #4194

This commit is contained in:
Jiri Popelka 2012-10-01 12:28:11 +02:00
parent dbefc1a655
commit 7238440cc4
3 changed files with 64 additions and 11 deletions

24
cups-str4194.patch Normal file
View File

@ -0,0 +1,24 @@
From a94dbce56edeebbd3631ab6e734cf88248a41065 Mon Sep 17 00:00:00 2001
From: mike <mike@7a7537e8-13f0-0310-91df-b6672ffda945>
Date: Mon, 1 Oct 2012 02:10:26 +0000
Subject: [PATCH] The IPP backend could get stuck in an endless loop on
certain network errors (STR #4194)
git-svn-id: http://svn.easysw.com/public/cups/trunk@10623 7a7537e8-13f0-0310-91df-b6672ffda945
---
diff --git a/backend/ipp.c b/backend/ipp.c
index a53929e..b509996 100644
--- a/backend/ipp.c
+++ b/backend/ipp.c
@@ -952,6 +952,8 @@ main(int argc, /* I - Number of command-line args */
_cupsLangPrintFilter(stderr, "ERROR",
_("Unable to get printer status."));
sleep(10);
+
+ httpReconnect(http);
}
ippDelete(supported);
--
1.7.11.4

View File

@ -1,6 +1,6 @@
diff -up cups-1.5.4/backend/usb-libusb.c.usblp-quirks cups-1.5.4/backend/usb-libusb.c diff -up cups-1.5.4/backend/usb-libusb.c.usblp-quirks cups-1.5.4/backend/usb-libusb.c
--- cups-1.5.4/backend/usb-libusb.c.usblp-quirks 2012-07-16 19:16:46.000000000 +0200 --- cups-1.5.4/backend/usb-libusb.c.usblp-quirks 2012-07-16 19:16:46.000000000 +0200
+++ cups-1.5.4/backend/usb-libusb.c 2012-08-23 13:37:28.309013482 +0200 +++ cups-1.5.4/backend/usb-libusb.c 2012-10-01 12:25:00.971216077 +0200
@@ -70,7 +70,7 @@ typedef struct usb_printer_s /**** USB @@ -70,7 +70,7 @@ typedef struct usb_printer_s /**** USB
read_endp, /* Read endpoint */ read_endp, /* Read endpoint */
protocol, /* Protocol: 1 = Uni-di, 2 = Bi-di. */ protocol, /* Protocol: 1 = Uni-di, 2 = Bi-di. */
@ -19,7 +19,7 @@ diff -up cups-1.5.4/backend/usb-libusb.c.usblp-quirks cups-1.5.4/backend/usb-lib
#define USBLP_QUIRK_NO_REATTACH 0x8000 /* After printing we cannot re-attach #define USBLP_QUIRK_NO_REATTACH 0x8000 /* After printing we cannot re-attach
the usblp kernel module */ the usblp kernel module */
@@ -141,15 +143,21 @@ static const struct quirk_printer_struct @@ -141,15 +143,41 @@ static const struct quirk_printer_struct
{ 0x0409, 0xf1be, USBLP_QUIRK_BIDIR }, /* NEC Picty800 (HP OEM) */ { 0x0409, 0xf1be, USBLP_QUIRK_BIDIR }, /* NEC Picty800 (HP OEM) */
{ 0x0482, 0x0010, USBLP_QUIRK_BIDIR }, /* Kyocera Mita FS 820, { 0x0482, 0x0010, USBLP_QUIRK_BIDIR }, /* Kyocera Mita FS 820,
by zut <kernel@zut.de> */ by zut <kernel@zut.de> */
@ -27,9 +27,27 @@ diff -up cups-1.5.4/backend/usb-libusb.c.usblp-quirks cups-1.5.4/backend/usb-lib
+ Printer, http://www.cups.org/str.php?L4155 */ + Printer, http://www.cups.org/str.php?L4155 */
+ { 0x04a9, 0x10b6, USBLP_QUIRK_BIDIR }, /* Canon, Inc. PIXMA iP4300 + { 0x04a9, 0x10b6, USBLP_QUIRK_BIDIR }, /* Canon, Inc. PIXMA iP4300
+ Printer, https://bugs.launchpad.net/bugs/1032385 */ + Printer, https://bugs.launchpad.net/bugs/1032385 */
+ { 0x04a9, 0x170c, USBLP_QUIRK_BIDIR }, /* Canon, Inc. MP500
+ Printer, https://bugs.launchpad.net/bugs/1032456 */
+ { 0x04a9, 0x1717, USBLP_QUIRK_BIDIR }, /* Canon, Inc. MP510
+ Printer, https://bugs.launchpad.net/bugs/1050009 */
+ { 0x04a9, 0x173d, USBLP_QUIRK_BIDIR }, /* Canon, Inc. MP550
+ Printer, http://www.cups.org/str.php?L4155 */
+ { 0x04a9, 0x173e, USBLP_QUIRK_BIDIR }, /* Canon, Inc. MP560
+ Printer, http://www.cups.org/str.php?L4155 */
+ { 0x04f9, 0x001a, USBLP_QUIRK_NO_REATTACH }, /* Brother Industries, Ltd
+ HL-1430 Laser Printer,
+ https://bugs.launchpad.net/bugs/1038695 */
{ 0x04f9, 0x000d, USBLP_QUIRK_BIDIR | { 0x04f9, 0x000d, USBLP_QUIRK_BIDIR |
USBLP_QUIRK_NO_REATTACH }, /* Brother Industries, Ltd USBLP_QUIRK_NO_REATTACH }, /* Brother Industries, Ltd
HL-1440 Laser Printer */ - HL-1440 Laser Printer */
+ HL-1440 Laser Printer,
+ https://bugs.launchpad.net/bugs/1000253 */
+ { 0x06bc, 0x000b, USBLP_QUIRK_NO_REATTACH }, /* Oki Data Corp.
+ Okipage 14ex Printer,
+ https://bugs.launchpad.net/bugs/872483 */
+ { 0x06bc, 0x01c7, USBLP_QUIRK_NO_REATTACH }, /* Oki Data Corp. B410d,
+ https://bugs.launchpad.net/bugs/872483 */
{ 0x04b8, 0x0202, USBLP_QUIRK_BAD_CLASS }, /* Seiko Epson Receipt { 0x04b8, 0x0202, USBLP_QUIRK_BAD_CLASS }, /* Seiko Epson Receipt
Printer M129C */ Printer M129C */
{ 0x067b, 0x2305, USBLP_QUIRK_BIDIR | { 0x067b, 0x2305, USBLP_QUIRK_BIDIR |
@ -37,12 +55,16 @@ diff -up cups-1.5.4/backend/usb-libusb.c.usblp-quirks cups-1.5.4/backend/usb-lib
+ USBLP_QUIRK_NO_REATTACH | + USBLP_QUIRK_NO_REATTACH |
+ USBLP_QUIRK_RESET }, + USBLP_QUIRK_RESET },
/* Prolific Technology, Inc. PL2305 Parallel Port /* Prolific Technology, Inc. PL2305 Parallel Port
(USB -> Parallel adapter) */ - (USB -> Parallel adapter) */
+ { 0x04e8, 0x0000, USBLP_QUIRK_RESET }, /* All Samsung devices */ + (USB -> Parallel adapter), https://bugs.launchpad.net/bugs/987485 */
+ { 0x04e8, 0x0000, USBLP_QUIRK_RESET }, /* All Samsung devices,
+ https://bugs.launchpad.net/bugs/1032456 */
+ { 0x0a5f, 0x0000, USBLP_QUIRK_BIDIR }, /* All Zebra devices,
+ https://bugs.launchpad.net/bugs/1001028 */
{ 0, 0 } { 0, 0 }
}; };
@@ -256,7 +264,12 @@ print_device(const char *uri, /* I - De @@ -256,7 +284,12 @@ print_device(const char *uri, /* I - De
} }
g.print_fd = print_fd; g.print_fd = print_fd;
@ -56,7 +78,7 @@ diff -up cups-1.5.4/backend/usb-libusb.c.usblp-quirks cups-1.5.4/backend/usb-lib
/* /*
* If we are printing data from a print driver on stdin, ignore SIGTERM * If we are printing data from a print driver on stdin, ignore SIGTERM
@@ -772,7 +786,7 @@ close_device(usb_printer_t *printer) /* @@ -772,7 +805,7 @@ close_device(usb_printer_t *printer) /*
* Reset the device to clean up after the job * Reset the device to clean up after the job
*/ */
@ -65,7 +87,7 @@ diff -up cups-1.5.4/backend/usb-libusb.c.usblp-quirks cups-1.5.4/backend/usb-lib
{ {
if ((errcode = libusb_reset_device(printer->handle)) < 0) if ((errcode = libusb_reset_device(printer->handle)) < 0)
fprintf(stderr, fprintf(stderr,
@@ -1288,7 +1302,7 @@ open_device(usb_printer_t *printer, /* I @@ -1288,7 +1321,7 @@ open_device(usb_printer_t *printer, /* I
} }
printer->usblp_attached = 0; printer->usblp_attached = 0;
@ -74,7 +96,7 @@ diff -up cups-1.5.4/backend/usb-libusb.c.usblp-quirks cups-1.5.4/backend/usb-lib
if (verbose) if (verbose)
fputs("STATE: +connecting-to-device\n", stderr); fputs("STATE: +connecting-to-device\n", stderr);
@@ -1586,7 +1600,8 @@ static unsigned int quirks(int vendor, i @@ -1586,7 +1619,8 @@ static unsigned int quirks(int vendor, i
for (i = 0; quirk_printers[i].vendorId; i++) for (i = 0; quirk_printers[i].vendorId; i++)
{ {
if (vendor == quirk_printers[i].vendorId && if (vendor == quirk_printers[i].vendorId &&

View File

@ -12,7 +12,7 @@
Summary: Common Unix Printing System Summary: Common Unix Printing System
Name: cups Name: cups
Version: 1.5.4 Version: 1.5.4
Release: 7%{?dist} Release: 8%{?dist}
License: GPLv2 License: GPLv2
Group: System Environment/Daemons Group: System Environment/Daemons
Source: http://ftp.easysw.com/pub/cups/%{version}/cups-%{version}-source.tar.bz2 Source: http://ftp.easysw.com/pub/cups/%{version}/cups-%{version}-source.tar.bz2
@ -75,6 +75,7 @@ Patch37: cups-ipp-no-create-job.patch
Patch40: cups-r10572.patch Patch40: cups-r10572.patch
Patch41: cups-str4072.patch Patch41: cups-str4072.patch
Patch42: cups-str4124.patch Patch42: cups-str4124.patch
Patch43: cups-str4194.patch
Patch100: cups-lspp.patch Patch100: cups-lspp.patch
@ -269,7 +270,7 @@ Sends IPP requests to the specified URI and tests and/or displays the results.
%patch23 -p1 -b .str3382 %patch23 -p1 -b .str3382
# Problem is a port reset which is done by the new USB backend of CUPS 1.5.4 and 1.6.x to clean up after the job. # Problem is a port reset which is done by the new USB backend of CUPS 1.5.4 and 1.6.x to clean up after the job.
# This patch adds a quirk handler for this reset so that it will not be done for all printers. # This patch adds a quirk handler for this reset so that it will not be done for all printers.
#(bug #847923, STR #4155) # (bug #847923, STR #4155, STR #4191)
%patch24 -p1 -b .usblp-quirks %patch24 -p1 -b .usblp-quirks
# Use mode 0755 for binaries and libraries where appropriate. # Use mode 0755 for binaries and libraries where appropriate.
%patch25 -p1 -b .0755 %patch25 -p1 -b .0755
@ -310,6 +311,9 @@ Sends IPP requests to the specified URI and tests and/or displays the results.
# cupsBackendReport() now filters out all control characters # cupsBackendReport() now filters out all control characters
# from the reported 1284 device IDs (STR #4124) # from the reported 1284 device IDs (STR #4124)
%patch42 -p1 -b .str4124 %patch42 -p1 -b .str4124
# The IPP backend could get stuck in an endless loop on certain network errors
# (STR #4194)
%patch43 -p1 -b .str4194
%if %lspp %if %lspp
# LSPP support. # LSPP support.
@ -671,6 +675,9 @@ rm -f %{cups_serverbin}/backend/smb
%{_mandir}/man1/ipptool.1.gz %{_mandir}/man1/ipptool.1.gz
%changelog %changelog
* Mon Oct 01 2012 Jiri Popelka <jpopelka@redhat.com> 1:1.5.4-8
- backport fixes for STR #4191, STR #4194
* Fri Sep 21 2012 Jiri Popelka <jpopelka@redhat.com> 1:1.5.4-7 * Fri Sep 21 2012 Jiri Popelka <jpopelka@redhat.com> 1:1.5.4-7
- backport fixes for STR #4072, STR #4124 - backport fixes for STR #4072, STR #4124