rpms/cups/F-12 cups-str3435.patch,NONE,1.1 cups.spec,1.556,1.557

Tim Waugh twaugh at fedoraproject.org
Tue Dec 8 12:14:52 UTC 2009


Author: twaugh

Update of /cvs/pkgs/rpms/cups/F-12
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv7200

Modified Files:
	cups.spec 
Added Files:
	cups-str3435.patch 
Log Message:
* Tue Dec  8 2009 Tim Waugh <twaugh at redhat.com> - 1:1.4.2-14
- Authenticated printing did not always work when printing directly to
  a remote server (STR #3435).


cups-str3435.patch:
 util.c |   34 +++++++++++++++++++++++++++++-----
 1 file changed, 29 insertions(+), 5 deletions(-)

--- NEW FILE cups-str3435.patch ---
diff -up cups-1.4.2/cups/util.c.str3435 cups-1.4.2/cups/util.c
--- cups-1.4.2/cups/util.c.str3435	2009-06-22 21:44:34.000000000 +0100
+++ cups-1.4.2/cups/util.c	2009-12-08 12:11:38.647375446 +0000
@@ -1511,12 +1511,36 @@ cupsPrintFiles2(
       return (0);
     }
 
-    status = cupsStartDocument(http, name, job_id, docname, format,
-                               i == (num_files - 1));
+    do
+    {
+      cupsFileRewind(fp);
+
+      status = cupsStartDocument(http, name, job_id, docname, format,
+			         i == (num_files - 1));
+
+      while (status == HTTP_CONTINUE &&
+	     (bytes = cupsFileRead(fp, buffer, sizeof(buffer))) > 0)
+        status = cupsWriteRequestData(http, buffer, bytes);
+
+      if (status == HTTP_UNAUTHORIZED)
+      {
+        char	resource[1024];		/* Printer resource */
 
-    while (status == HTTP_CONTINUE &&
-           (bytes = cupsFileRead(fp, buffer, sizeof(buffer))) > 0)
-      status = cupsWriteRequestData(http, buffer, bytes);
+        snprintf(resource, sizeof(resource), "/printers/%s", name);
+
+        if (!cupsDoAuthentication(http, "POST", resource))
+        {
+	  if (httpReconnect(http))
+	  {
+	    _cupsSetError(IPP_SERVICE_UNAVAILABLE, NULL, 0);
+	    return (0);
+	  }
+        }
+	else
+	  status = HTTP_AUTHORIZATION_CANCELED;
+      }
+    }
+    while (status == HTTP_UNAUTHORIZED);
 
     cupsFileClose(fp);
 


Index: cups.spec
===================================================================
RCS file: /cvs/pkgs/rpms/cups/F-12/cups.spec,v
retrieving revision 1.556
retrieving revision 1.557
diff -u -p -r1.556 -r1.557
--- cups.spec	8 Dec 2009 11:25:18 -0000	1.556
+++ cups.spec	8 Dec 2009 12:14:51 -0000	1.557
@@ -67,6 +67,7 @@ Patch40: cups-str3442.patch
 Patch41: cups-negative-snmp-string-length.patch
 Patch42: cups-sidechannel-intrs.patch
 Patch43: cups-media-empty-warning.patch
+Patch44: cups-str3435.patch
 
 Patch100: cups-lspp.patch
 
@@ -239,6 +240,7 @@ module. 
 %patch41 -p1 -b .negative-snmp-string-length
 %patch42 -p1 -b .sidechannel-intrs
 %patch43 -p1 -b .media-empty-warning
+%patch44 -p1 -b .str3435
 
 %if %lspp
 %patch100 -p1 -b .lspp
@@ -538,6 +540,8 @@ rm -rf $RPM_BUILD_ROOT
 
 %changelog
 * Tue Dec  8 2009 Tim Waugh <twaugh at redhat.com> - 1:1.4.2-14
+- Authenticated printing did not always work when printing directly to
+  a remote server (STR #3435).
 - Use upstream patch to stop the network backends incorrectly clearing
   the media-empty-warning state (rev 8896).
 - Use upstream patch to fix interrupt handling in the side-channel




More information about the scm-commits mailing list