rpms/cups/F-9 cups-str2892.patch,NONE,1.1
Tim Waugh (twaugh)
fedora-extras-commits at redhat.com
Sun Aug 3 13:50:22 UTC 2008
- Previous message (by thread): rpms/cups/F-9 .cvsignore, 1.40, 1.41 cups-getnameddest.patch, 1.1, 1.2 cups-lspp.patch, 1.34, 1.35 cups.spec, 1.418, 1.419 sources, 1.43, 1.44 cups-CVE-2008-1373.patch, 1.1, NONE cups-CVE-2008-1722.patch, 1.1, NONE
- Next message (by thread): rpms/contacts/devel contacts.spec,1.16,1.17
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: twaugh
Update of /cvs/pkgs/rpms/cups/F-9
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv32481
Added Files:
cups-str2892.patch
Log Message:
* Sun Aug 3 2008 Tim Waugh <twaugh at redhat.com> 1:1.3.8-1
- 1.3.8.
- Applied patch to fix STR #2892 (bug #453610).
- Removed autoconf requirement by applying autoconf-generated changes
to patches that caused them. Affected patches: cups-lspp.
- CVE-2008-1373 patch is no longer needed (applied upstream).
- Mark HTML files and templates config(noreplace) for site-local
modifications (bug #441719).
- The cups-devel package requires zlib-devel (bug #455192).
cups-str2892.patch:
--- NEW FILE cups-str2892.patch ---
diff -up cups-1.3.7/scheduler/client.c.str2892 cups-1.3.7/scheduler/client.c
--- cups-1.3.7/scheduler/client.c.str2892 2008-02-12 00:20:32.000000000 +0000
+++ cups-1.3.7/scheduler/client.c 2008-08-01 22:18:22.000000000 +0100
@@ -28,6 +28,7 @@
* cupsdUpdateCGI() - Read status messages from CGI scripts and programs.
* cupsdWriteClient() - Write data to a client as needed.
* check_if_modified() - Decode an "If-Modified-Since" line.
+ * data_ready() - Check whether data is available from a client.
* encrypt_client() - Enable encryption for the client...
* get_cdsa_certificate() - Convert a keychain name into the CFArrayRef
* required by SSLSetCertificate.
@@ -83,6 +84,7 @@ extern const char *cssmErrorString(int e
static int check_if_modified(cupsd_client_t *con,
struct stat *filestats);
+static int data_ready(cupsd_client_t *con);
#ifdef HAVE_SSL
static int encrypt_client(cupsd_client_t *con);
#endif /* HAVE_SSL */
@@ -986,8 +988,7 @@ cupsdReadClient(cupsd_client_t *con) /*
*/
while ((status = httpUpdate(HTTP(con))) == HTTP_CONTINUE)
- if (con->http.used == 0 ||
- !memchr(con->http.buffer, '\n', con->http.used))
+ if (!data_ready(con))
break;
if (status != HTTP_OK && status != HTTP_CONTINUE)
@@ -1884,7 +1885,7 @@ cupsdReadClient(cupsd_client_t *con) /*
}
}
}
- while (con->http.state == HTTP_PUT_RECV && con->http.used > 0);
+ while (con->http.state == HTTP_PUT_RECV && data_ready(con));
if (con->http.state == HTTP_WAITING)
{
@@ -2059,7 +2060,7 @@ cupsdReadClient(cupsd_client_t *con) /*
}
}
}
- while (con->http.state == HTTP_POST_RECV && con->http.used > 0);
+ while (con->http.state == HTTP_POST_RECV && data_ready(con));
if (con->http.state == HTTP_POST_SEND)
{
@@ -2909,6 +2910,38 @@ check_if_modified(
}
+/*
+ * 'data_ready()' - Check whether data is available from a client.
+ */
+
+static int /* O - 1 if data is ready, 0 otherwise */
+data_ready(cupsd_client_t *con) /* I - Client */
+{
+ if (con->http.used > 0)
+ return (1);
+#ifdef HAVE_SSL
+ else if (con->http.tls)
+ {
+# ifdef HAVE_LIBSSL
+ if (SSL_pending((SSL *)(con->http.tls)))
+ return (1);
+# elif defined(HAVE_GNUTLS)
+ if (gnutls_record_check_pending(((http_tls_t *)(con->http.tls))->session))
+ return (1);
+# elif defined(HAVE_CDSASSL)
+ size_t bytes; /* Bytes that are available */
+
+ if (!SSLGetBufferedReadSize(((http_tls_t *)(con->http.tls))->session,
+ &bytes) && bytes > 0)
+ return (1);
+# endif /* HAVE_LIBSSL */
+ }
+#endif /* HAVE_SSL */
+
+ return (0);
+}
+
+
#ifdef HAVE_SSL
/*
* 'encrypt_client()' - Enable encryption for the client...
- Previous message (by thread): rpms/cups/F-9 .cvsignore, 1.40, 1.41 cups-getnameddest.patch, 1.1, 1.2 cups-lspp.patch, 1.34, 1.35 cups.spec, 1.418, 1.419 sources, 1.43, 1.44 cups-CVE-2008-1373.patch, 1.1, NONE cups-CVE-2008-1722.patch, 1.1, NONE
- Next message (by thread): rpms/contacts/devel contacts.spec,1.16,1.17
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the fedora-extras-commits
mailing list