rpms/cups/FC-5 cups-str1528.patch,NONE,1.1 cups.spec,1.135,1.136

fedora-cvs-commits at redhat.com fedora-cvs-commits at redhat.com
Fri Mar 31 15:39:29 UTC 2006


Author: twaugh

Update of /cvs/dist/rpms/cups/FC-5
In directory cvs.devel.redhat.com:/tmp/cvs-serv20126

Modified Files:
	cups.spec 
Added Files:
	cups-str1528.patch 
Log Message:
* Fri Mar 31 2006 Tim Waugh <twaugh at redhat.com> 1:1.2-0.2.rc1.2.4
- Fixed interaction with CUPS 1.1 servers (STR #1528).


cups-str1528.patch:
 request.c |   73 +++++++++++++++++++++++++++++++++-----------------------------
 1 files changed, 39 insertions(+), 34 deletions(-)

--- NEW FILE cups-str1528.patch ---
--- cups-1.2rc1/cups/request.c.str1528	2006-02-22 16:37:44.000000000 +0000
+++ cups-1.2rc1/cups/request.c	2006-03-31 16:33:23.000000000 +0100
@@ -64,6 +64,7 @@
   ipp_t		*response;		/* IPP response data */
   size_t	length;			/* Content-Length value */
   http_status_t	status;			/* Status of HTTP request */
+  int		got_status;		/* Did we get the status? */
   ipp_state_t	state;			/* State of IPP processing */
   FILE		*file;			/* File to send */
   struct stat	fileinfo;		/* File information */
@@ -184,54 +185,58 @@
     }
 
    /*
-    * Wait up to 1 second for a 100-continue response...
+    * Send the IPP data...
     */
 
-    if (httpWait(http, 1000))
-      status = httpUpdate(http);
-    else
-      status = HTTP_CONTINUE;
+    DEBUG_puts("cupsDoFileRequest: ipp write...");
 
-    if (status == HTTP_CONTINUE)
+    request->state = IPP_IDLE;
+    status         = HTTP_CONTINUE;
+    got_status     = 0;
+
+    while ((state = ippWrite(http, request)) != IPP_DATA)
+      if (state == IPP_ERROR)
+	break;
+      else if (httpCheck(http))
+      {
+        got_status = 1;
+
+	if ((status = httpUpdate(http)) != HTTP_CONTINUE)
+	  break;
+      }
+
+    if (!got_status)
     {
      /*
-      * Send the IPP data...
+      * Wait up to 1 second to get the 100-continue response...
       */
 
-      DEBUG_puts("cupsDoFileRequest: ipp write...");
+      if (httpWait(http, 1000))
+        status = httpUpdate(http);
+    }
+    else if (httpCheck(http))
+      status = httpUpdate(http);
 
-      request->state = IPP_IDLE;
+    if (status == HTTP_CONTINUE && state == IPP_DATA && filename)
+    {
+      DEBUG_puts("cupsDoFileRequest: file write...");
 
-      while ((state = ippWrite(http, request)) != IPP_DATA)
-        if (state == IPP_ERROR)
-	  break;
-	else if (httpCheck(http))
+     /*
+      * Send the file...
+      */
+
+      rewind(file);
+
+      while ((bytes = (int)fread(buffer, 1, sizeof(buffer), file)) > 0)
+      {
+	if (httpCheck(http))
 	{
 	  if ((status = httpUpdate(http)) != HTTP_CONTINUE)
 	    break;
         }
 
-      if (state == IPP_DATA && filename)
-      {
-        DEBUG_puts("cupsDoFileRequest: file write...");
-
-       /*
-        * Send the file...
-        */
-
-        rewind(file);
-
-        while ((bytes = (int)fread(buffer, 1, sizeof(buffer), file)) > 0)
-	{
-	  if (httpCheck(http))
-	  {
-	    if ((status = httpUpdate(http)) != HTTP_CONTINUE)
-	      break;
-          }
-
-  	  if (httpWrite2(http, buffer, bytes) < bytes)
-            break;
-        }
+  	if (httpWrite2(http, buffer, bytes) < bytes)
+          break;
       }
     }
 


Index: cups.spec
===================================================================
RCS file: /cvs/dist/rpms/cups/FC-5/cups.spec,v
retrieving revision 1.135
retrieving revision 1.136
diff -u -r1.135 -r1.136
--- cups.spec	30 Mar 2006 15:15:36 -0000	1.135
+++ cups.spec	31 Mar 2006 15:39:27 -0000	1.136
@@ -7,7 +7,7 @@
 Summary: Common Unix Printing System
 Name: cups
 Version: 1.2
-Release: 0.2.%{beta}.2.3
+Release: 0.2.%{beta}.2.4
 License: GPL
 Group: System Environment/Daemons
 Source: ftp://ftp.easysw.com/pub/cups/test/cups-1.2%{beta}-source.tar.bz2
@@ -31,6 +31,7 @@
 Patch8: cups-logfileperm.patch
 Patch9: cups-1.1.17-rcp.patch
 Patch10: cups-1.1.17-ppdsdat.patch
+Patch11: cups-str1528.patch
 Patch12: cups-locale.patch
 Patch13: cups-CAN-2005-0064.patch
 Patch14: cups-str1521.patch
@@ -123,6 +124,7 @@
 %patch8 -p1 -b .logfileperm
 %patch9 -p1 -b .rcp
 %patch10 -p1 -b .ppdsdat
+%patch11 -p1 -b .str1528
 %patch12 -p1 -b .locale
 %patch13 -p1 -b .CAN-2005-0064
 %patch14 -p1 -b .str1521
@@ -381,6 +383,9 @@
 %{cups_serverbin}/daemon/cups-lpd
 
 %changelog
+* Fri Mar 31 2006 Tim Waugh <twaugh at redhat.com> 1:1.2-0.2.rc1.2.4
+- Fixed interaction with CUPS 1.1 servers (STR #1528).
+
 * Thu Mar 30 2006 Tim Waugh <twaugh at redhat.com> 1:1.2-0.2.rc1.2.3
 - Added conflicts.
 - Built for FC5 update.




More information about the fedora-cvs-commits mailing list