1.5.3
This commit is contained in:
parent
33e7e92082
commit
fecfdf6a4a
1
.gitignore
vendored
1
.gitignore
vendored
@ -50,3 +50,4 @@ cups-1.4.4-source.tar.bz2
|
||||
/cups-1.5rc1-source.tar.bz2
|
||||
/cups-1.5.0-source.tar.bz2
|
||||
/cups-1.5.2-source.tar.bz2
|
||||
/cups-1.5.3-source.tar.bz2
|
||||
|
@ -1,13 +1,14 @@
|
||||
diff -up cups-1.5b1/Makedefs.in.0755 cups-1.5b1/Makedefs.in
|
||||
--- cups-1.5b1/Makedefs.in.0755 2011-05-24 16:43:27.000000000 +0200
|
||||
+++ cups-1.5b1/Makedefs.in 2011-05-24 16:43:27.000000000 +0200
|
||||
@@ -41,13 +41,13 @@ SHELL = /bin/sh
|
||||
diff -up cups-1.5.3/Makedefs.in.0755 cups-1.5.3/Makedefs.in
|
||||
--- cups-1.5.3/Makedefs.in.0755 2012-05-15 16:51:31.000000000 +0200
|
||||
+++ cups-1.5.3/Makedefs.in 2012-05-15 16:52:59.246906315 +0200
|
||||
@@ -41,14 +41,14 @@ SHELL = /bin/sh
|
||||
# Installation programs...
|
||||
#
|
||||
|
||||
-INSTALL_BIN = $(LIBTOOL) $(INSTALL) -c -m 555 @INSTALL_STRIP@
|
||||
+INSTALL_BIN = $(LIBTOOL) $(INSTALL) -c -m 755 @INSTALL_STRIP@
|
||||
INSTALL_CONFIG = $(INSTALL) -c -m @CUPS_CONFIG_FILE_PERM@
|
||||
INSTALL_COMPDATA = $(INSTALL) -c -m 444 @INSTALL_GZIP@
|
||||
INSTALL_DATA = $(INSTALL) -c -m 444
|
||||
INSTALL_DIR = $(INSTALL) -d
|
||||
-INSTALL_LIB = $(LIBTOOL) $(INSTALL) -c -m 555 @INSTALL_STRIP@
|
||||
@ -18,9 +19,9 @@ diff -up cups-1.5b1/Makedefs.in.0755 cups-1.5b1/Makedefs.in
|
||||
|
||||
#
|
||||
# Default user, group, and system groups for the scheduler...
|
||||
diff -up cups-1.5b1/scheduler/Makefile.0755 cups-1.5b1/scheduler/Makefile
|
||||
--- cups-1.5b1/scheduler/Makefile.0755 2011-05-12 00:17:34.000000000 +0200
|
||||
+++ cups-1.5b1/scheduler/Makefile 2011-05-24 16:43:27.000000000 +0200
|
||||
diff -up cups-1.5.3/scheduler/Makefile.0755 cups-1.5.3/scheduler/Makefile
|
||||
--- cups-1.5.3/scheduler/Makefile.0755 2011-05-12 00:17:34.000000000 +0200
|
||||
+++ cups-1.5.3/scheduler/Makefile 2012-05-15 16:51:31.703516547 +0200
|
||||
@@ -213,7 +213,7 @@ install-data:
|
||||
install-exec:
|
||||
echo Installing programs in $(SBINDIR)...
|
||||
|
@ -1,6 +1,6 @@
|
||||
diff -up cups-1.5.2/backend/dnssd.c.avahi-2-backend cups-1.5.2/backend/dnssd.c
|
||||
--- cups-1.5.2/backend/dnssd.c.avahi-2-backend 2012-03-14 15:04:17.692305593 +0000
|
||||
+++ cups-1.5.2/backend/dnssd.c 2012-03-14 15:05:38.966405938 +0000
|
||||
diff -up cups-1.5.3/backend/dnssd.c.avahi-2-backend cups-1.5.3/backend/dnssd.c
|
||||
--- cups-1.5.3/backend/dnssd.c.avahi-2-backend 2012-05-15 16:53:18.164774446 +0200
|
||||
+++ cups-1.5.3/backend/dnssd.c 2012-05-15 17:09:07.684155704 +0200
|
||||
@@ -15,14 +15,21 @@
|
||||
*
|
||||
* Contents:
|
||||
@ -85,23 +85,24 @@ diff -up cups-1.5.2/backend/dnssd.c.avahi-2-backend cups-1.5.2/backend/dnssd.c
|
||||
static void browse_callback(DNSServiceRef sdRef,
|
||||
DNSServiceFlags flags,
|
||||
uint32_t interfaceIndex,
|
||||
@@ -93,12 +131,6 @@ static void browse_local_callback(DNSSe
|
||||
const char *regtype,
|
||||
@@ -95,13 +133,6 @@ static void browse_local_callback(DNSSe
|
||||
const char *replyDomain,
|
||||
void *context);
|
||||
void *context)
|
||||
__attribute__((nonnull(1,5,6,7,8)));
|
||||
-static int compare_devices(cups_device_t *a, cups_device_t *b);
|
||||
-static void exec_backend(char **argv);
|
||||
-static cups_device_t *get_device(cups_array_t *devices,
|
||||
- const char *serviceName,
|
||||
- const char *regtype,
|
||||
- const char *replyDomain);
|
||||
- const char *replyDomain)
|
||||
- __attribute__((nonnull(1,2,3,4)));
|
||||
static void query_callback(DNSServiceRef sdRef,
|
||||
DNSServiceFlags flags,
|
||||
uint32_t interfaceIndex,
|
||||
@@ -107,9 +139,118 @@ static void query_callback(DNSServiceRe
|
||||
uint16_t rrclass, uint16_t rdlen,
|
||||
@@ -111,10 +142,119 @@ static void query_callback(DNSServiceRe
|
||||
const void *rdata, uint32_t ttl,
|
||||
void *context);
|
||||
void *context)
|
||||
__attribute__((nonnull(1,5,9,11)));
|
||||
+#endif /* HAVE_DNSSD */
|
||||
+#ifdef HAVE_AVAHI
|
||||
+static void avahi_client_callback (AvahiClient *client,
|
||||
@ -117,7 +118,6 @@ diff -up cups-1.5.2/backend/dnssd.c.avahi-2-backend cups-1.5.2/backend/dnssd.c
|
||||
+ AvahiLookupResultFlags flags,
|
||||
+ void *context);
|
||||
+#endif /* HAVE_AVAHI */
|
||||
+
|
||||
+static cups_device_t * find_device (cups_array_t *devices,
|
||||
+ cups_txt_records_t *txt,
|
||||
+ cups_device_t *dkey);
|
||||
@ -126,9 +126,11 @@ diff -up cups-1.5.2/backend/dnssd.c.avahi-2-backend cups-1.5.2/backend/dnssd.c
|
||||
+static cups_device_t *get_device(cups_array_t *devices,
|
||||
+ const char *serviceName,
|
||||
+ const char *regtype,
|
||||
+ const char *replyDomain);
|
||||
+ const char *replyDomain)
|
||||
+ __attribute__((nonnull(1,2,3,4)));
|
||||
static void sigterm_handler(int sig);
|
||||
static void unquote(char *dst, const char *src, size_t dstsize);
|
||||
static void unquote(char *dst, const char *src, size_t dstsize)
|
||||
__attribute__((nonnull(1,2)));
|
||||
|
||||
+#ifdef HAVE_AVAHI
|
||||
+static AvahiSimplePoll *simple_poll = NULL;
|
||||
@ -217,7 +219,7 @@ diff -up cups-1.5.2/backend/dnssd.c.avahi-2-backend cups-1.5.2/backend/dnssd.c
|
||||
|
||||
/*
|
||||
* 'main()' - Browse for printers.
|
||||
@@ -120,6 +261,13 @@ main(int argc, /* I - Number of comm
|
||||
@@ -125,6 +265,13 @@ main(int argc, /* I - Number of comm
|
||||
char *argv[]) /* I - Command-line arguments */
|
||||
{
|
||||
const char *name; /* Backend name */
|
||||
@ -231,7 +233,7 @@ diff -up cups-1.5.2/backend/dnssd.c.avahi-2-backend cups-1.5.2/backend/dnssd.c
|
||||
DNSServiceRef main_ref, /* Main service reference */
|
||||
fax_ipp_ref, /* IPP fax service reference */
|
||||
ipp_ref, /* IPP service reference */
|
||||
@@ -133,12 +281,11 @@ main(int argc, /* I - Number of comm
|
||||
@@ -138,12 +285,11 @@ main(int argc, /* I - Number of comm
|
||||
pdl_datastream_ref, /* AppSocket service reference */
|
||||
printer_ref, /* LPD service reference */
|
||||
riousbprint_ref; /* Remote IO service reference */
|
||||
@ -249,7 +251,7 @@ diff -up cups-1.5.2/backend/dnssd.c.avahi-2-backend cups-1.5.2/backend/dnssd.c
|
||||
#if defined(HAVE_SIGACTION) && !defined(HAVE_SIGSET)
|
||||
struct sigaction action; /* Actions for POSIX signals */
|
||||
#endif /* HAVE_SIGACTION && !HAVE_SIGSET */
|
||||
@@ -198,6 +345,49 @@ main(int argc, /* I - Number of comm
|
||||
@@ -203,6 +349,49 @@ main(int argc, /* I - Number of comm
|
||||
* Browse for different kinds of printers...
|
||||
*/
|
||||
|
||||
@ -299,7 +301,7 @@ diff -up cups-1.5.2/backend/dnssd.c.avahi-2-backend cups-1.5.2/backend/dnssd.c
|
||||
if (DNSServiceCreateConnection(&main_ref) != kDNSServiceErr_NoError)
|
||||
{
|
||||
perror("ERROR: Unable to create service connection");
|
||||
@@ -258,6 +448,7 @@ main(int argc, /* I - Number of comm
|
||||
@@ -263,6 +452,7 @@ main(int argc, /* I - Number of comm
|
||||
riousbprint_ref = main_ref;
|
||||
DNSServiceBrowse(&riousbprint_ref, kDNSServiceFlagsShareConnection, 0,
|
||||
"_riousbprint._tcp", NULL, browse_callback, devices);
|
||||
@ -307,7 +309,7 @@ diff -up cups-1.5.2/backend/dnssd.c.avahi-2-backend cups-1.5.2/backend/dnssd.c
|
||||
|
||||
/*
|
||||
* Loop until we are killed...
|
||||
@@ -265,6 +456,9 @@ main(int argc, /* I - Number of comm
|
||||
@@ -270,6 +460,9 @@ main(int argc, /* I - Number of comm
|
||||
|
||||
while (!job_canceled)
|
||||
{
|
||||
@ -317,7 +319,7 @@ diff -up cups-1.5.2/backend/dnssd.c.avahi-2-backend cups-1.5.2/backend/dnssd.c
|
||||
FD_ZERO(&input);
|
||||
FD_SET(fd, &input);
|
||||
|
||||
@@ -284,11 +478,35 @@ main(int argc, /* I - Number of comm
|
||||
@@ -289,11 +482,35 @@ main(int argc, /* I - Number of comm
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -353,7 +355,7 @@ diff -up cups-1.5.2/backend/dnssd.c.avahi-2-backend cups-1.5.2/backend/dnssd.c
|
||||
cups_device_t *best; /* Best matching device */
|
||||
char device_uri[1024]; /* Device URI */
|
||||
int count; /* Number of queries */
|
||||
@@ -302,6 +520,7 @@ main(int argc, /* I - Number of comm
|
||||
@@ -307,6 +524,7 @@ main(int argc, /* I - Number of comm
|
||||
if (device->sent)
|
||||
sent ++;
|
||||
|
||||
@ -361,7 +363,7 @@ diff -up cups-1.5.2/backend/dnssd.c.avahi-2-backend cups-1.5.2/backend/dnssd.c
|
||||
if (device->ref)
|
||||
count ++;
|
||||
|
||||
@@ -333,14 +552,23 @@ main(int argc, /* I - Number of comm
|
||||
@@ -338,14 +556,23 @@ main(int argc, /* I - Number of comm
|
||||
count ++;
|
||||
}
|
||||
}
|
||||
@ -386,7 +388,7 @@ diff -up cups-1.5.2/backend/dnssd.c.avahi-2-backend cups-1.5.2/backend/dnssd.c
|
||||
|
||||
if (!best)
|
||||
best = device;
|
||||
@@ -401,6 +629,7 @@ main(int argc, /* I - Number of comm
|
||||
@@ -406,6 +633,7 @@ main(int argc, /* I - Number of comm
|
||||
}
|
||||
|
||||
|
||||
@ -394,7 +396,7 @@ diff -up cups-1.5.2/backend/dnssd.c.avahi-2-backend cups-1.5.2/backend/dnssd.c
|
||||
/*
|
||||
* 'browse_callback()' - Browse devices.
|
||||
*/
|
||||
@@ -489,6 +718,7 @@ browse_local_callback(
|
||||
@@ -494,6 +722,7 @@ browse_local_callback(
|
||||
device->fullName);
|
||||
device->sent = 1;
|
||||
}
|
||||
@ -402,7 +404,7 @@ diff -up cups-1.5.2/backend/dnssd.c.avahi-2-backend cups-1.5.2/backend/dnssd.c
|
||||
|
||||
|
||||
/*
|
||||
@@ -569,6 +799,41 @@ exec_backend(char **argv) /* I - Comman
|
||||
@@ -574,6 +803,41 @@ exec_backend(char **argv) /* I - Comman
|
||||
|
||||
|
||||
/*
|
||||
@ -444,7 +446,7 @@ diff -up cups-1.5.2/backend/dnssd.c.avahi-2-backend cups-1.5.2/backend/dnssd.c
|
||||
* 'get_device()' - Create or update a device.
|
||||
*/
|
||||
|
||||
@@ -589,20 +854,7 @@ get_device(cups_array_t *devices, /* I -
|
||||
@@ -594,20 +858,7 @@ get_device(cups_array_t *devices, /* I -
|
||||
*/
|
||||
|
||||
key.name = (char *)serviceName;
|
||||
@ -466,7 +468,7 @@ diff -up cups-1.5.2/backend/dnssd.c.avahi-2-backend cups-1.5.2/backend/dnssd.c
|
||||
|
||||
for (device = cupsArrayFind(devices, &key);
|
||||
device;
|
||||
@@ -622,8 +874,14 @@ get_device(cups_array_t *devices, /* I -
|
||||
@@ -627,8 +878,14 @@ get_device(cups_array_t *devices, /* I -
|
||||
free(device->domain);
|
||||
device->domain = strdup(replyDomain);
|
||||
|
||||
@ -481,7 +483,7 @@ diff -up cups-1.5.2/backend/dnssd.c.avahi-2-backend cups-1.5.2/backend/dnssd.c
|
||||
free(device->fullName);
|
||||
device->fullName = strdup(fullName);
|
||||
}
|
||||
@@ -643,6 +901,9 @@ get_device(cups_array_t *devices, /* I -
|
||||
@@ -648,6 +905,9 @@ get_device(cups_array_t *devices, /* I -
|
||||
device->domain = strdup(replyDomain);
|
||||
device->type = key.type;
|
||||
device->priority = 50;
|
||||
@ -491,7 +493,7 @@ diff -up cups-1.5.2/backend/dnssd.c.avahi-2-backend cups-1.5.2/backend/dnssd.c
|
||||
|
||||
cupsArrayAdd(devices, device);
|
||||
|
||||
@@ -650,13 +911,20 @@ get_device(cups_array_t *devices, /* I -
|
||||
@@ -655,13 +915,20 @@ get_device(cups_array_t *devices, /* I -
|
||||
* Set the "full name" of this service, which is used for queries...
|
||||
*/
|
||||
|
||||
@ -512,7 +514,7 @@ diff -up cups-1.5.2/backend/dnssd.c.avahi-2-backend cups-1.5.2/backend/dnssd.c
|
||||
/*
|
||||
* 'query_callback()' - Process query data.
|
||||
*/
|
||||
@@ -680,7 +948,7 @@ query_callback(
|
||||
@@ -685,7 +952,7 @@ query_callback(
|
||||
*ptr; /* Pointer into string */
|
||||
cups_device_t dkey, /* Search key */
|
||||
*device; /* Device */
|
||||
@ -521,7 +523,7 @@ diff -up cups-1.5.2/backend/dnssd.c.avahi-2-backend cups-1.5.2/backend/dnssd.c
|
||||
|
||||
fprintf(stderr, "DEBUG2: query_callback(sdRef=%p, flags=%x, "
|
||||
"interfaceIndex=%d, errorCode=%d, fullName=\"%s\", "
|
||||
@@ -714,94 +982,233 @@ query_callback(
|
||||
@@ -719,94 +986,233 @@ query_callback(
|
||||
if ((ptr = strstr(name, "._")) != NULL)
|
||||
*ptr = '\0';
|
||||
|
||||
@ -638,7 +640,8 @@ diff -up cups-1.5.2/backend/dnssd.c.avahi-2-backend cups-1.5.2/backend/dnssd.c
|
||||
else
|
||||
- dkey.type = CUPS_DEVICE_RIOUSBPRINT;
|
||||
+ fprintf (stderr, "DEBUG: Ignoring TXT record for \"%s\"...\n", name);
|
||||
+
|
||||
|
||||
- for (device = cupsArrayFind(devices, &dkey);
|
||||
+ avahi_service_resolver_free (resolver);
|
||||
+}
|
||||
+
|
||||
@ -713,8 +716,7 @@ diff -up cups-1.5.2/backend/dnssd.c.avahi-2-backend cups-1.5.2/backend/dnssd.c
|
||||
+}
|
||||
+#endif /* HAVE_AVAHI */
|
||||
+
|
||||
|
||||
- for (device = cupsArrayFind(devices, &dkey);
|
||||
+
|
||||
+/*
|
||||
+ * 'find_device()' - Find a device from its name and domain.
|
||||
+ */
|
||||
@ -817,7 +819,7 @@ diff -up cups-1.5.2/backend/dnssd.c.avahi-2-backend cups-1.5.2/backend/dnssd.c
|
||||
{
|
||||
/*
|
||||
* Add USB device ID information...
|
||||
@@ -856,6 +1263,10 @@ query_callback(
|
||||
@@ -861,6 +1267,10 @@ query_callback(
|
||||
if (device->type == CUPS_DEVICE_PRINTER)
|
||||
device->sent = 1;
|
||||
}
|
||||
@ -828,7 +830,7 @@ diff -up cups-1.5.2/backend/dnssd.c.avahi-2-backend cups-1.5.2/backend/dnssd.c
|
||||
}
|
||||
|
||||
if (device->device_id)
|
||||
@@ -912,11 +1323,9 @@ query_callback(
|
||||
@@ -917,11 +1327,9 @@ query_callback(
|
||||
}
|
||||
}
|
||||
|
||||
@ -841,9 +843,9 @@ diff -up cups-1.5.2/backend/dnssd.c.avahi-2-backend cups-1.5.2/backend/dnssd.c
|
||||
/*
|
||||
* 'sigterm_handler()' - Handle termination signals...
|
||||
*/
|
||||
diff -up cups-1.5.2/cups/http-support.c.avahi-2-backend cups-1.5.2/cups/http-support.c
|
||||
--- cups-1.5.2/cups/http-support.c.avahi-2-backend 2011-09-26 19:46:46.000000000 +0100
|
||||
+++ cups-1.5.2/cups/http-support.c 2012-03-14 15:05:38.997405971 +0000
|
||||
diff -up cups-1.5.3/cups/http-support.c.avahi-2-backend cups-1.5.3/cups/http-support.c
|
||||
--- cups-1.5.3/cups/http-support.c.avahi-2-backend 2012-02-15 02:06:12.000000000 +0100
|
||||
+++ cups-1.5.3/cups/http-support.c 2012-05-15 17:04:51.045944634 +0200
|
||||
@@ -43,6 +43,10 @@
|
||||
* http_copy_decode() - Copy and decode a URI.
|
||||
* http_copy_encode() - Copy and encode a URI.
|
||||
@ -892,7 +894,7 @@ diff -up cups-1.5.2/cups/http-support.c.avahi-2-backend cups-1.5.2/cups/http-sup
|
||||
|
||||
/*
|
||||
* 'httpAssembleURI()' - Assemble a uniform resource identifier from its
|
||||
@@ -1431,6 +1458,9 @@ _httpResolveURI(
|
||||
@@ -1434,6 +1461,9 @@ _httpResolveURI(
|
||||
|
||||
if (strstr(hostname, "._tcp"))
|
||||
{
|
||||
@ -902,7 +904,7 @@ diff -up cups-1.5.2/cups/http-support.c.avahi-2-backend cups-1.5.2/cups/http-sup
|
||||
#ifdef HAVE_DNSSD
|
||||
# ifdef WIN32
|
||||
# pragma comment(lib, "dnssd.lib")
|
||||
@@ -1449,6 +1479,17 @@ _httpResolveURI(
|
||||
@@ -1452,6 +1482,17 @@ _httpResolveURI(
|
||||
fd_set input_set; /* Input set for select() */
|
||||
struct timeval stimeout; /* Timeout value for select() */
|
||||
#endif /* HAVE_POLL */
|
||||
@ -920,7 +922,7 @@ diff -up cups-1.5.2/cups/http-support.c.avahi-2-backend cups-1.5.2/cups/http-sup
|
||||
|
||||
if (options & _HTTP_RESOLVE_STDERR)
|
||||
fprintf(stderr, "DEBUG: Resolving \"%s\"...\n", hostname);
|
||||
@@ -1485,9 +1526,16 @@ _httpResolveURI(
|
||||
@@ -1488,9 +1529,16 @@ _httpResolveURI(
|
||||
if (domain)
|
||||
*domain++ = '\0';
|
||||
|
||||
@ -937,7 +939,7 @@ diff -up cups-1.5.2/cups/http-support.c.avahi-2-backend cups-1.5.2/cups/http-sup
|
||||
resolved_uri[0] = '\0';
|
||||
|
||||
DEBUG_printf(("6_httpResolveURI: Resolving hostname=\"%s\", regtype=\"%s\", "
|
||||
@@ -1501,6 +1549,7 @@ _httpResolveURI(
|
||||
@@ -1504,6 +1552,7 @@ _httpResolveURI(
|
||||
|
||||
uri = NULL;
|
||||
|
||||
@ -945,7 +947,7 @@ diff -up cups-1.5.2/cups/http-support.c.avahi-2-backend cups-1.5.2/cups/http-sup
|
||||
if (DNSServiceCreateConnection(&ref) == kDNSServiceErr_NoError)
|
||||
{
|
||||
localref = ref;
|
||||
@@ -1608,6 +1657,36 @@ _httpResolveURI(
|
||||
@@ -1611,6 +1660,36 @@ _httpResolveURI(
|
||||
|
||||
DNSServiceRefDeallocate(ref);
|
||||
}
|
||||
@ -982,7 +984,7 @@ diff -up cups-1.5.2/cups/http-support.c.avahi-2-backend cups-1.5.2/cups/http-sup
|
||||
|
||||
if (options & _HTTP_RESOLVE_STDERR)
|
||||
{
|
||||
@@ -1619,13 +1698,13 @@ _httpResolveURI(
|
||||
@@ -1622,13 +1701,13 @@ _httpResolveURI(
|
||||
fputs("STATE: -connecting-to-device,offline-report\n", stderr);
|
||||
}
|
||||
|
||||
@ -998,10 +1000,10 @@ diff -up cups-1.5.2/cups/http-support.c.avahi-2-backend cups-1.5.2/cups/http-sup
|
||||
|
||||
if ((options & _HTTP_RESOLVE_STDERR) && !uri)
|
||||
_cupsLangPrintFilter(stderr, "ERROR", _("Unable to find printer."));
|
||||
@@ -1914,6 +1993,116 @@ http_resolve_cb(
|
||||
@@ -1916,6 +1995,115 @@ http_resolve_cb(
|
||||
}
|
||||
#endif /* HAVE_DNSSD */
|
||||
|
||||
|
||||
+#ifdef HAVE_AVAHI
|
||||
+/*
|
||||
+ * 'avahi_resolve_uri_client_cb()' - Avahi client callback for resolving URI.
|
||||
@ -1111,7 +1113,6 @@ diff -up cups-1.5.2/cups/http-support.c.avahi-2-backend cups-1.5.2/cups/http-sup
|
||||
+}
|
||||
+#endif /* HAVE_AVAHI */
|
||||
+
|
||||
+
|
||||
|
||||
/*
|
||||
* End of "$Id: http-support.c 10017 2011-09-26 18:46:46Z mike $".
|
||||
*/
|
||||
* End of "$Id: http-support.c 10284 2012-02-15 01:06:12Z mike $".
|
||||
|
@ -1,7 +1,7 @@
|
||||
diff -up cups-1.5b1/backend/ipp.c.eggcups cups-1.5b1/backend/ipp.c
|
||||
--- cups-1.5b1/backend/ipp.c.eggcups 2011-05-21 06:02:41.000000000 +0200
|
||||
+++ cups-1.5b1/backend/ipp.c 2011-05-23 18:07:45.000000000 +0200
|
||||
@@ -133,6 +133,70 @@ static cups_array_t *state_reasons; /* A
|
||||
diff -up cups-1.5.3/backend/ipp.c.eggcups cups-1.5.3/backend/ipp.c
|
||||
--- cups-1.5.3/backend/ipp.c.eggcups 2012-05-05 01:00:01.000000000 +0200
|
||||
+++ cups-1.5.3/backend/ipp.c 2012-05-15 16:50:41.142868986 +0200
|
||||
@@ -138,6 +138,70 @@ static cups_array_t *state_reasons; /* A
|
||||
static char tmpfilename[1024] = "";
|
||||
/* Temporary spool file name */
|
||||
|
||||
@ -72,7 +72,7 @@ diff -up cups-1.5b1/backend/ipp.c.eggcups cups-1.5b1/backend/ipp.c
|
||||
|
||||
/*
|
||||
* Local functions...
|
||||
@@ -1461,6 +1525,15 @@ main(int argc, /* I - Number of comm
|
||||
@@ -1520,6 +1584,15 @@ main(int argc, /* I - Number of comm
|
||||
_("Print file accepted - job ID %d."), job_id);
|
||||
}
|
||||
|
||||
@ -85,12 +85,12 @@ diff -up cups-1.5b1/backend/ipp.c.eggcups cups-1.5b1/backend/ipp.c
|
||||
+ getenv ("PRINTER"));
|
||||
+#endif /* HAVE_DBUS */
|
||||
+
|
||||
fprintf(stderr, "DEBUG: job-id=%d\n", job_id);
|
||||
ippDelete(response);
|
||||
|
||||
if (job_canceled)
|
||||
diff -up cups-1.5b1/backend/Makefile.eggcups cups-1.5b1/backend/Makefile
|
||||
--- cups-1.5b1/backend/Makefile.eggcups 2011-05-04 06:28:00.000000000 +0200
|
||||
+++ cups-1.5b1/backend/Makefile 2011-05-23 18:03:22.000000000 +0200
|
||||
diff -up cups-1.5.3/backend/Makefile.eggcups cups-1.5.3/backend/Makefile
|
||||
--- cups-1.5.3/backend/Makefile.eggcups 2012-04-23 19:42:12.000000000 +0200
|
||||
+++ cups-1.5.3/backend/Makefile 2012-05-15 16:48:17.253871982 +0200
|
||||
@@ -212,7 +212,7 @@ dnssd: dnssd.o ../cups/$(LIBCUPS) libbac
|
||||
|
||||
ipp: ipp.o ../cups/$(LIBCUPS) libbackend.a
|
||||
@ -100,10 +100,10 @@ diff -up cups-1.5b1/backend/Makefile.eggcups cups-1.5b1/backend/Makefile
|
||||
$(RM) http
|
||||
$(LN) ipp http
|
||||
|
||||
diff -up cups-1.5b1/scheduler/subscriptions.c.eggcups cups-1.5b1/scheduler/subscriptions.c
|
||||
--- cups-1.5b1/scheduler/subscriptions.c.eggcups 2011-05-20 05:49:49.000000000 +0200
|
||||
+++ cups-1.5b1/scheduler/subscriptions.c 2011-05-23 18:03:22.000000000 +0200
|
||||
@@ -1310,13 +1310,13 @@ cupsd_send_dbus(cupsd_eventmask_t event,
|
||||
diff -up cups-1.5.3/scheduler/subscriptions.c.eggcups cups-1.5.3/scheduler/subscriptions.c
|
||||
--- cups-1.5.3/scheduler/subscriptions.c.eggcups 2012-02-12 06:48:09.000000000 +0100
|
||||
+++ cups-1.5.3/scheduler/subscriptions.c 2012-05-15 16:48:17.253871982 +0200
|
||||
@@ -1314,13 +1314,13 @@ cupsd_send_dbus(cupsd_eventmask_t event,
|
||||
what = "PrinterAdded";
|
||||
else if (event & CUPSD_EVENT_PRINTER_DELETED)
|
||||
what = "PrinterRemoved";
|
||||
@ -119,7 +119,7 @@ diff -up cups-1.5b1/scheduler/subscriptions.c.eggcups cups-1.5b1/scheduler/subsc
|
||||
else
|
||||
return;
|
||||
|
||||
@@ -1352,7 +1352,7 @@ cupsd_send_dbus(cupsd_eventmask_t event,
|
||||
@@ -1356,7 +1356,7 @@ cupsd_send_dbus(cupsd_eventmask_t event,
|
||||
dbus_message_append_iter_init(message, &iter);
|
||||
if (dest)
|
||||
dbus_message_iter_append_string(&iter, dest->name);
|
||||
|
@ -1,7 +1,7 @@
|
||||
diff -up cups-1.5b1/config-scripts/cups-ssl.m4.no-export-ssllibs cups-1.5b1/config-scripts/cups-ssl.m4
|
||||
--- cups-1.5b1/config-scripts/cups-ssl.m4.no-export-ssllibs 2011-05-11 02:52:08.000000000 +0200
|
||||
+++ cups-1.5b1/config-scripts/cups-ssl.m4 2011-05-23 17:47:27.000000000 +0200
|
||||
@@ -164,7 +164,7 @@ AC_SUBST(IPPALIASES)
|
||||
diff -up cups-1.5.3/config-scripts/cups-ssl.m4.no-export-ssllibs cups-1.5.3/config-scripts/cups-ssl.m4
|
||||
--- cups-1.5.3/config-scripts/cups-ssl.m4.no-export-ssllibs 2012-03-21 05:45:48.000000000 +0100
|
||||
+++ cups-1.5.3/config-scripts/cups-ssl.m4 2012-05-15 16:47:13.753314620 +0200
|
||||
@@ -173,7 +173,7 @@ AC_SUBST(IPPALIASES)
|
||||
AC_SUBST(SSLFLAGS)
|
||||
AC_SUBST(SSLLIBS)
|
||||
|
||||
@ -9,4 +9,4 @@ diff -up cups-1.5b1/config-scripts/cups-ssl.m4.no-export-ssllibs cups-1.5b1/conf
|
||||
+EXPORT_SSLLIBS=""
|
||||
AC_SUBST(EXPORT_SSLLIBS)
|
||||
|
||||
|
||||
dnl
|
||||
|
@ -1,11 +0,0 @@
|
||||
diff -up cups-1.5.2/scheduler/cups-polld.c.polld-reconnect cups-1.5.2/scheduler/cups-polld.c
|
||||
--- cups-1.5.2/scheduler/cups-polld.c.polld-reconnect 2011-05-07 00:07:28.000000000 +0100
|
||||
+++ cups-1.5.2/scheduler/cups-polld.c 2012-02-23 10:50:57.272513141 +0000
|
||||
@@ -291,6 +291,7 @@ poll_server(http_t *http, /* I - H
|
||||
fprintf(stderr, "ERROR: %s CUPS-Get-Printers failed: %s\n", prefix,
|
||||
cupsLastErrorString());
|
||||
ippDelete(response);
|
||||
+ restart_polling = 1;
|
||||
return (-1);
|
||||
}
|
||||
|
@ -1,43 +0,0 @@
|
||||
From 19e2adf8307c8a908da80ceef335517139e5bf64 Mon Sep 17 00:00:00 2001
|
||||
From: mike <mike@7a7537e8-13f0-0310-91df-b6672ffda945>
|
||||
Date: Mon, 13 Feb 2012 23:43:07 +0000
|
||||
Subject: [PATCH] Detect authentication errors for all requests.
|
||||
|
||||
git-svn-id: http://svn.easysw.com/public/cups/trunk@10277 7a7537e8-13f0-0310-91df-b6672ffda945
|
||||
---
|
||||
backend/ipp.c | 9 ++++++---
|
||||
1 files changed, 6 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/backend/ipp.c b/backend/ipp.c
|
||||
index bcaab37..d4719e4 100644
|
||||
--- a/backend/ipp.c
|
||||
+++ b/backend/ipp.c
|
||||
@@ -898,7 +898,9 @@ main(int argc, /* I - Number of command-line args */
|
||||
|
||||
return (CUPS_BACKEND_STOP);
|
||||
}
|
||||
- else if (ipp_status == IPP_NOT_AUTHORIZED || ipp_status == IPP_FORBIDDEN)
|
||||
+ else if (ipp_status == IPP_NOT_AUTHORIZED ||
|
||||
+ ipp_status == IPP_FORBIDDEN ||
|
||||
+ ipp_status == IPP_AUTHENTICATION_CANCELED)
|
||||
{
|
||||
const char *www_auth = httpGetField(http, HTTP_FIELD_WWW_AUTHENTICATE);
|
||||
/* WWW-Authenticate field value */
|
||||
@@ -1472,11 +1474,12 @@ main(int argc, /* I - Number of command-line args */
|
||||
_cupsLangPrintFilter(stderr, "ERROR",
|
||||
_("Print file was not accepted."));
|
||||
|
||||
- if (ipp_status == IPP_NOT_AUTHORIZED || ipp_status == IPP_FORBIDDEN)
|
||||
+ if (ipp_status == IPP_NOT_AUTHORIZED || ipp_status == IPP_FORBIDDEN ||
|
||||
+ ipp_status == IPP_AUTHENTICATION_CANCELED)
|
||||
{
|
||||
const char *www_auth = httpGetField(http, HTTP_FIELD_WWW_AUTHENTICATE);
|
||||
/* WWW-Authenticate field value */
|
||||
-
|
||||
+
|
||||
if (!strncmp(www_auth, "Negotiate", 9))
|
||||
auth_info_required = "negotiate";
|
||||
else if (www_auth[0])
|
||||
--
|
||||
1.7.7.6
|
||||
|
@ -1,74 +0,0 @@
|
||||
diff -up cups-1.5.2/backend/ipp.c.str3985 cups-1.5.2/backend/ipp.c
|
||||
--- cups-1.5.2/backend/ipp.c.str3985 2012-04-05 10:28:12.568898781 +0200
|
||||
+++ cups-1.5.2/backend/ipp.c 2012-04-05 10:32:07.165612536 +0200
|
||||
@@ -957,9 +957,13 @@ main(int argc, /* I - Number of comm
|
||||
}
|
||||
else if (ipp_status == IPP_NOT_AUTHORIZED || ipp_status == IPP_FORBIDDEN)
|
||||
{
|
||||
- if (!strncmp(httpGetField(http, HTTP_FIELD_WWW_AUTHENTICATE),
|
||||
- "Negotiate", 9))
|
||||
+ const char *www_auth = httpGetField(http, HTTP_FIELD_WWW_AUTHENTICATE);
|
||||
+ /* WWW-Authenticate field value */
|
||||
+
|
||||
+ if (!strncmp(www_auth, "Negotiate", 9))
|
||||
auth_info_required = "negotiate";
|
||||
+ else if (www_auth[0])
|
||||
+ auth_info_required = "username,password";
|
||||
|
||||
fprintf(stderr, "ATTR: auth-info-required=%s\n", auth_info_required);
|
||||
return (CUPS_BACKEND_AUTH_REQUIRED);
|
||||
@@ -1315,23 +1319,13 @@ main(int argc, /* I - Number of comm
|
||||
else if (ipp_status == IPP_NOT_AUTHORIZED || ipp_status == IPP_FORBIDDEN ||
|
||||
ipp_status == IPP_AUTHENTICATION_CANCELED)
|
||||
{
|
||||
- /*
|
||||
- * Update auth-info-required as needed...
|
||||
- */
|
||||
-
|
||||
- fprintf(stderr, "DEBUG: WWW-Authenticate=\"%s\"\n",
|
||||
- httpGetField(http, HTTP_FIELD_WWW_AUTHENTICATE));
|
||||
-
|
||||
- /*
|
||||
- * Normal authentication goes through the password callback, which sets
|
||||
- * auth_info_required to "username,password". Kerberos goes directly
|
||||
- * through GSSAPI, so look for Negotiate in the WWW-Authenticate header
|
||||
- * here and set auth_info_required as needed...
|
||||
- */
|
||||
+ const char *www_auth = httpGetField(http, HTTP_FIELD_WWW_AUTHENTICATE);
|
||||
+ /* WWW-Authenticate field value */
|
||||
|
||||
- if (!strncmp(httpGetField(http, HTTP_FIELD_WWW_AUTHENTICATE),
|
||||
- "Negotiate", 9))
|
||||
+ if (!strncmp(www_auth, "Negotiate", 9))
|
||||
auth_info_required = "negotiate";
|
||||
+ else if (www_auth[0])
|
||||
+ auth_info_required = "username,password";
|
||||
|
||||
goto cleanup;
|
||||
}
|
||||
@@ -1486,19 +1480,13 @@ main(int argc, /* I - Number of comm
|
||||
|
||||
if (ipp_status == IPP_NOT_AUTHORIZED || ipp_status == IPP_FORBIDDEN)
|
||||
{
|
||||
- fprintf(stderr, "DEBUG: WWW-Authenticate=\"%s\"\n",
|
||||
- httpGetField(http, HTTP_FIELD_WWW_AUTHENTICATE));
|
||||
-
|
||||
- /*
|
||||
- * Normal authentication goes through the password callback, which sets
|
||||
- * auth_info_required to "username,password". Kerberos goes directly
|
||||
- * through GSSAPI, so look for Negotiate in the WWW-Authenticate header
|
||||
- * here and set auth_info_required as needed...
|
||||
- */
|
||||
-
|
||||
- if (!strncmp(httpGetField(http, HTTP_FIELD_WWW_AUTHENTICATE),
|
||||
- "Negotiate", 9))
|
||||
+ const char *www_auth = httpGetField(http, HTTP_FIELD_WWW_AUTHENTICATE);
|
||||
+ /* WWW-Authenticate field value */
|
||||
+
|
||||
+ if (!strncmp(www_auth, "Negotiate", 9))
|
||||
auth_info_required = "negotiate";
|
||||
+ else if (www_auth[0])
|
||||
+ auth_info_required = "username,password";
|
||||
}
|
||||
else
|
||||
sleep(10);
|
@ -1,16 +0,0 @@
|
||||
diff -up cups-1.5.2/scheduler/subscriptions.c.str4014 cups-1.5.2/scheduler/subscriptions.c
|
||||
--- cups-1.5.2/scheduler/subscriptions.c.str4014 2012-02-15 13:17:24.065004731 +0000
|
||||
+++ cups-1.5.2/scheduler/subscriptions.c 2012-02-15 13:17:34.021009331 +0000
|
||||
@@ -146,7 +146,11 @@ cupsdAddEvent(
|
||||
temp->time = time(NULL);
|
||||
temp->attrs = ippNew();
|
||||
temp->job = job;
|
||||
- temp->dest = dest;
|
||||
+
|
||||
+ if (dest)
|
||||
+ temp->dest = dest;
|
||||
+ else if (job)
|
||||
+ temp->dest = dest = cupsdFindPrinter(job->dest);
|
||||
|
||||
/*
|
||||
* Add common event notification attributes...
|
@ -1,12 +0,0 @@
|
||||
diff -up cups-1.5.2/cups/language.c.translation cups-1.5.2/cups/language.c
|
||||
--- cups-1.5.2/cups/language.c.translation 2011-11-01 07:06:15.000000000 +0100
|
||||
+++ cups-1.5.2/cups/language.c 2012-02-28 10:54:58.448744034 +0100
|
||||
@@ -1134,7 +1134,7 @@ _cupsMessageLookup(cups_array_t *a, /* I
|
||||
}
|
||||
#endif /* __APPLE__ && CUPS_BUNDLEDIR */
|
||||
|
||||
- if (match && match->str)
|
||||
+ if (match && match->str && (strlen(match->str) > 0))
|
||||
return (match->str);
|
||||
else
|
||||
return (m);
|
28
cups.spec
28
cups.spec
@ -11,8 +11,8 @@
|
||||
|
||||
Summary: Common Unix Printing System
|
||||
Name: cups
|
||||
Version: 1.5.2
|
||||
Release: 13%{?dist}
|
||||
Version: 1.5.3
|
||||
Release: 1%{?dist}
|
||||
License: GPLv2
|
||||
Group: System Environment/Daemons
|
||||
Source: http://ftp.easysw.com/pub/cups/%{version}/cups-%{version}-source.tar.bz2
|
||||
@ -69,11 +69,6 @@ Patch34: cups-avahi-5-services.patch
|
||||
|
||||
Patch35: cups-icc.patch
|
||||
Patch36: cups-systemd-socket.patch
|
||||
Patch37: cups-str4014.patch
|
||||
Patch38: cups-polld-reconnect.patch
|
||||
Patch39: cups-translation.patch
|
||||
Patch40: cups-str3985.patch
|
||||
Patch41: cups-revision10277.patch
|
||||
|
||||
Patch100: cups-lspp.patch
|
||||
|
||||
@ -292,22 +287,6 @@ Sends IPP requests to the specified URI and tests and/or displays the results.
|
||||
# Poettering).
|
||||
%patch36 -p1 -b .systemd-socket
|
||||
|
||||
# Synthesize notify-printer-uri for job-completed events where the job
|
||||
# never started processing (bug #784786, STR #4014).
|
||||
%patch37 -p1 -b .str4014
|
||||
|
||||
# cups-polld: restart polling on error (bug #769292, STR #4031).
|
||||
%patch38 -p1 -b .polld-reconnect
|
||||
|
||||
# If the translated message is empty return the original message (bug #797570, STR #4033).
|
||||
%patch39 -p1 -b .translation
|
||||
|
||||
# The IPP backend did not always setup username/password authentication for printers (bug #810007, STR #3985)
|
||||
%patch40 -p1 -b .str3985
|
||||
|
||||
# Detect authentication errors for all requests.
|
||||
%patch41 -p1 -b .revision10277
|
||||
|
||||
%if %lspp
|
||||
# LSPP support.
|
||||
%patch100 -p1 -b .lspp
|
||||
@ -676,6 +655,9 @@ rm -f %{cups_serverbin}/backend/smb
|
||||
%{_mandir}/man1/ipptool.1.gz
|
||||
|
||||
%changelog
|
||||
* Tue May 15 2012 Jiri Popelka <jpopelka@redhat.com> 1:1.5.3-1
|
||||
- 1.5.3
|
||||
|
||||
* Wed May 09 2012 Jiri Popelka <jpopelka@redhat.com> 1:1.5.2-13
|
||||
- Add triggers for samba4-client. (#817110)
|
||||
- No need to define BuildRoot and clean it in clean and install section anymore.
|
||||
|
Loading…
Reference in New Issue
Block a user