+++ /dev/null
-diff -up cups-1.7.0/scheduler/log.c.jobhistory cups-1.7.0/scheduler/log.c
---- cups-1.7.0/scheduler/log.c.jobhistory 2013-10-28 16:30:39.852015304 +0000
-+++ cups-1.7.0/scheduler/log.c 2013-10-28 16:30:48.502057711 +0000
-@@ -525,12 +525,13 @@ cupsdLogJob(cupsd_job_t *job, /* I - Jo
- */
-
- cupsd_joblog_t *temp; /* Copy of log message */
-+ size_t log_len = strlen(log_line);
-+ /* Length of log message */
-
--
-- if ((temp = malloc(sizeof(cupsd_joblog_t) + strlen(log_line))) != NULL)
-+ if ((temp = malloc(sizeof(cupsd_joblog_t) + log_len)) != NULL)
- {
- temp->time = time(NULL);
-- strlcpy(temp->message, log_line, sizeof(temp->message));
-+ memcpy(temp->message, log_line, log_len + 1);
- }
-
- if (!job->history)
+++ /dev/null
-diff -up cups-1.7.0/scheduler/printers.c.stringpool-rdar15382819 cups-1.7.0/scheduler/printers.c
---- cups-1.7.0/scheduler/printers.c.stringpool-rdar15382819 2013-11-07 13:26:56.077499193 +0000
-+++ cups-1.7.0/scheduler/printers.c 2013-11-07 13:27:54.665787144 +0000
-@@ -1876,12 +1876,13 @@ void
- cupsdSetPrinterAttr(
- cupsd_printer_t *p, /* I - Printer */
- const char *name, /* I - Attribute name */
-- char *value) /* I - Attribute value string */
-+ const char *value) /* I - Attribute value string */
- {
- ipp_attribute_t *attr; /* Attribute */
- int i, /* Looping var */
- count; /* Number of values */
-- char *ptr, /* Pointer into value */
-+ char *temp, /* Temporary copy of value string */
-+ *ptr, /* Pointer into value */
- *start, /* Start of value */
- quote; /* Quote character */
- ipp_tag_t value_tag; /* Value tag for this attribute */
-@@ -1898,10 +1899,21 @@ cupsdSetPrinterAttr(
- }
-
- /*
-+ * Copy the value string so we can do what we want with it...
-+ */
-+
-+ if ((temp = strdup(value)) == NULL)
-+ {
-+ cupsdLogMessage(CUPSD_LOG_ERROR,
-+ "Unable to duplicate value for \"%s\" attribute.", name);
-+ return;
-+ }
-+
-+ /*
- * Count the number of values...
- */
-
-- for (count = 1, quote = '\0', ptr = value;
-+ for (count = 1, quote = '\0', ptr = temp;
- *ptr;
- ptr ++)
- {
-@@ -1949,15 +1961,15 @@ cupsdSetPrinterAttr(
- return;
- }
-
-- for (i = 0; i < count; i ++)
-+ for (i = 0, start = temp; i < count; i ++)
- {
-- if ((ptr = strchr(value, ',')) != NULL)
-+ if ((ptr = strchr(start, ',')) != NULL)
- *ptr++ = '\0';
-
-- attr->values[i].integer = strtol(value, NULL, 10);
-+ attr->values[i].integer = strtol(start, NULL, 10);
-
- if (ptr)
-- value = ptr;
-+ start = ptr;
- }
- }
- else
-@@ -1999,7 +2011,7 @@ cupsdSetPrinterAttr(
- return;
- }
-
-- for (i = 0, quote = '\0', ptr = value; i < count; i ++)
-+ for (i = 0, quote = '\0', ptr = temp; i < count; i ++)
- {
- for (start = ptr; *ptr; ptr ++)
- {
-@@ -2028,6 +2040,8 @@ cupsdSetPrinterAttr(
- attr->values[i].string.text = _cupsStrAlloc(start);
- }
- }
-+
-+ free(temp);
- }
-
-
-diff -up cups-1.7.0/scheduler/printers.h.stringpool-rdar15382819 cups-1.7.0/scheduler/printers.h
---- cups-1.7.0/scheduler/printers.h.stringpool-rdar15382819 2013-05-29 12:51:34.000000000 +0100
-+++ cups-1.7.0/scheduler/printers.h 2013-11-07 13:27:54.666787149 +0000
-@@ -166,7 +166,8 @@ extern int cupsdSetAuthInfoRequired(cup
- ipp_attribute_t *attr);
- extern void cupsdSetDeviceURI(cupsd_printer_t *p, const char *uri);
- extern void cupsdSetPrinterAttr(cupsd_printer_t *p,
-- const char *name, char *value);
-+ const char *name,
-+ const char *value);
- extern void cupsdSetPrinterAttrs(cupsd_printer_t *p);
- extern int cupsdSetPrinterReasons(cupsd_printer_t *p,
- const char *s);
Summary(pl.UTF-8): Ogólny system druku dla Uniksa
Summary(pt_BR.UTF-8): Sistema Unix de Impressão
Name: cups
-Version: 1.7.0
-Release: 5
+Version: 1.7.1
+Release: 1
Epoch: 1
License: LGPL v2 (libraries), GPL v2 (the rest) + openssl exception
Group: Applications/Printing
Source0: http://www.cups.org/software/%{version}/%{name}-%{version}-source.tar.bz2
-# Source0-md5: 5ab496a2ce27017fcdb3d7ec4818a75a
+# Source0-md5: 55277c40fd4b7183dc3671d39c5c42b7
Source1: %{name}.init
Source2: %{name}.pamd
Source3: %{name}.logrotate
Patch16: read-embedded-options-from-incoming-postscript-and-add-to-ipp-attrs.patch
Patch17: %{name}-use-ipp1.1.patch
Patch18: %{name}-final-content-type.patch
-Patch19: %{name}-jobhistory.patch
-Patch20: %{name}-stringpool-rdar15382819.patch
# avahi patches from fedora
Patch100: %{name}-avahi-address.patch
Patch101: %{name}-avahi-no-threaded.patch
%patch16 -p1
%patch17 -p1
%patch18 -p1
-%patch19 -p1
-%patch20 -p1
%if %{with avahi}
%patch100 -p1