Resolves: rhbz#1072952
This commit is contained in:
parent
52c42a0a13
commit
e3384fee59
44
cups-str4386.patch
Normal file
44
cups-str4386.patch
Normal file
@ -0,0 +1,44 @@
|
||||
diff -up cups-1.7.2/cups/request.c.str4386 cups-1.7.2/cups/request.c
|
||||
--- cups-1.7.2/cups/request.c.str4386 2014-03-26 21:06:04.000000000 +0000
|
||||
+++ cups-1.7.2/cups/request.c 2014-04-16 14:02:20.039876149 +0100
|
||||
@@ -749,9 +749,8 @@ cupsSendRequest(http_t *http, /* I -
|
||||
got_status = 0;
|
||||
|
||||
while ((state = ippWrite(http, request)) != IPP_STATE_DATA)
|
||||
- if (state == IPP_STATE_ERROR)
|
||||
- break;
|
||||
- else if (httpCheck(http))
|
||||
+ {
|
||||
+ if (httpCheck(http))
|
||||
{
|
||||
got_status = 1;
|
||||
|
||||
@@ -759,15 +758,24 @@ cupsSendRequest(http_t *http, /* I -
|
||||
if (status >= HTTP_STATUS_MULTIPLE_CHOICES)
|
||||
break;
|
||||
}
|
||||
+ else if (state == IPP_STATE_ERROR)
|
||||
+ break;
|
||||
+ }
|
||||
|
||||
if (state == IPP_STATE_ERROR)
|
||||
{
|
||||
- DEBUG_puts("1cupsSendRequest: Unable to send IPP request.");
|
||||
+ /* We weren't able to send the IPP request. But did we already
|
||||
+ * get an HTTP error status? */
|
||||
+ if (!(got_status && status >= HTTP_STATUS_MULTIPLE_CHOICES))
|
||||
+ {
|
||||
+ /* No, something else went wrong. */
|
||||
+ DEBUG_puts("1cupsSendRequest: Unable to send IPP request.");
|
||||
|
||||
- http->status = HTTP_STATUS_ERROR;
|
||||
- http->state = HTTP_STATE_WAITING;
|
||||
+ http->status = HTTP_STATUS_ERROR;
|
||||
+ http->state = HTTP_STATE_WAITING;
|
||||
|
||||
- return (HTTP_STATUS_ERROR);
|
||||
+ return (HTTP_STATUS_ERROR);
|
||||
+ }
|
||||
}
|
||||
|
||||
/*
|
10
cups.spec
10
cups.spec
@ -11,7 +11,7 @@ Summary: CUPS printing system
|
||||
Name: cups
|
||||
Epoch: 1
|
||||
Version: 1.7.2
|
||||
Release: 2%{?dist}
|
||||
Release: 3%{?dist}
|
||||
License: GPLv2
|
||||
Url: http://www.cups.org/
|
||||
Source: http://www.cups.org/software/%{version}/cups-%{version}-source.tar.bz2
|
||||
@ -30,6 +30,7 @@ Source8: macros.cups
|
||||
Patch1: cups-no-gzip-man.patch
|
||||
Patch2: cups-system-auth.patch
|
||||
Patch3: cups-multilib.patch
|
||||
Patch4: cups-str4386.patch
|
||||
Patch5: cups-banners.patch
|
||||
Patch6: cups-serverbin-compat.patch
|
||||
Patch7: cups-no-export-ssllibs.patch
|
||||
@ -192,6 +193,9 @@ Sends IPP requests to the specified URI and tests and/or displays the results.
|
||||
%patch2 -p1 -b .system-auth
|
||||
# Prevent multilib conflict in cups-config script.
|
||||
%patch3 -p1 -b .multilib
|
||||
# Apply patch to fix cupsSendRequest() race condition (bug #1072952,
|
||||
# STR #4386).
|
||||
%patch4 -p1 -b .str4386
|
||||
# Ignore rpm save/new files in the banners directory.
|
||||
%patch5 -p1 -b .banners
|
||||
# Use compatibility fallback path for ServerBin.
|
||||
@ -667,6 +671,10 @@ rm -f %{cups_serverbin}/backend/smb
|
||||
%{_mandir}/man5/ipptoolfile.5.gz
|
||||
|
||||
%changelog
|
||||
* Fri May 9 2014 Tim Waugh <twaugh@redhat.com> - 1:1.7.2-3
|
||||
- Another attempt at avoiding race condition when sending IPP requests
|
||||
(STR #4386, bug #1072952).
|
||||
|
||||
* Thu Apr 17 2014 Jiri Popelka <jpopelka@redhat.com> - 1:1.7.2-2
|
||||
- Make cups.service Type=notify (bug #1088918).
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user