moved into main repo for pisi 2.0
This commit is contained in:
@@ -0,0 +1,95 @@
|
||||
diff -up cups-1.6.2/cups/http-support.c.avahi-address cups-1.6.2/cups/http-support.c
|
||||
--- cups-1.6.2/cups/http-support.c.avahi-address 2013-03-11 18:44:36.000000000 +0000
|
||||
+++ cups-1.6.2/cups/http-support.c 2013-06-28 13:42:15.834715511 +0100
|
||||
@@ -2121,7 +2121,7 @@ http_resolve_cb(
|
||||
const char *type, /* I - Registration type */
|
||||
const char *domain, /* I - Domain (unused) */
|
||||
const char *hostTarget, /* I - Hostname */
|
||||
- const AvahiAddress *address, /* I - Address (unused) */
|
||||
+ const AvahiAddress *address, /* I - Address */
|
||||
uint16_t port, /* I - Port number */
|
||||
AvahiStringList *txt, /* I - TXT record */
|
||||
AvahiLookupResultFlags flags, /* I - Lookup flags (unused) */
|
||||
@@ -2248,41 +2248,59 @@ http_resolve_cb(
|
||||
* getting the IP address of the .local name and then do reverse-lookups...
|
||||
*/
|
||||
|
||||
- http_addrlist_t *addrlist, /* List of addresses */
|
||||
- *addr; /* Current address */
|
||||
+ http_addr_t addr;
|
||||
+ size_t addrlen;
|
||||
+ int error;
|
||||
|
||||
DEBUG_printf(("8http_resolve_cb: Looking up \"%s\".", hostTarget));
|
||||
|
||||
- snprintf(fqdn, sizeof(fqdn), "%d", ntohs(port));
|
||||
- if ((addrlist = httpAddrGetList(hostTarget, AF_UNSPEC, fqdn)) != NULL)
|
||||
+ switch (address->proto)
|
||||
{
|
||||
- for (addr = addrlist; addr; addr = addr->next)
|
||||
+ case AVAHI_PROTO_INET:
|
||||
+ addr.ipv4.sin_family = AF_INET;
|
||||
+ addrlen = sizeof (addr.ipv4.sin_addr);
|
||||
+ memcpy (&addr.ipv4.sin_addr, &address->data, addrlen);
|
||||
+ break;
|
||||
+ case AVAHI_PROTO_INET6:
|
||||
+ addr.ipv6.sin6_family = AF_INET6;
|
||||
+ addrlen = sizeof (addr.ipv6.sin6_addr);
|
||||
+ memcpy (&addr.ipv6.sin6_addr, &address->data, addrlen);
|
||||
+ break;
|
||||
+ default:
|
||||
+ DEBUG_printf(("8http_resolve_cb: unknown address family %d",
|
||||
+ address->proto));
|
||||
+ addrlen = 0;
|
||||
+ }
|
||||
+
|
||||
+ if (addrlen > 0) {
|
||||
+ error = getnameinfo(&addr.addr, httpAddrLength (&addr),
|
||||
+ fqdn, sizeof(fqdn), NULL, 0, NI_NAMEREQD);
|
||||
+
|
||||
+ if (!error)
|
||||
{
|
||||
- int error = getnameinfo(&(addr->addr.addr),
|
||||
- httpAddrLength(&(addr->addr)),
|
||||
- fqdn, sizeof(fqdn), NULL, 0, NI_NAMEREQD);
|
||||
+ DEBUG_printf(("8http_resolve_cb: Found \"%s\".", fqdn));
|
||||
|
||||
- if (!error)
|
||||
+ if ((hostptr = fqdn + strlen(fqdn) - 6) <= fqdn ||
|
||||
+ _cups_strcasecmp(hostptr, ".local"))
|
||||
{
|
||||
- DEBUG_printf(("8http_resolve_cb: Found \"%s\".", fqdn));
|
||||
-
|
||||
- if ((hostptr = fqdn + strlen(fqdn) - 6) <= fqdn ||
|
||||
- _cups_strcasecmp(hostptr, ".local"))
|
||||
- {
|
||||
- hostTarget = fqdn;
|
||||
- break;
|
||||
- }
|
||||
+ hostTarget = fqdn;
|
||||
}
|
||||
+ } else {
|
||||
+ avahi_address_snprint (fqdn, sizeof (fqdn), address);
|
||||
+ hostTarget = fqdn;
|
||||
#ifdef DEBUG
|
||||
- else
|
||||
- DEBUG_printf(("8http_resolve_cb: \"%s\" did not resolve: %d",
|
||||
- httpAddrString(&(addr->addr), fqdn, sizeof(fqdn)),
|
||||
- error));
|
||||
+ DEBUG_printf(("8http_resolve_cb: \"%s\" did not resolve: %d",
|
||||
+ fqdn, error));
|
||||
#endif /* DEBUG */
|
||||
}
|
||||
-
|
||||
- httpAddrFreeList(addrlist);
|
||||
}
|
||||
+ } else {
|
||||
+ /*
|
||||
+ * Use the IP address that responded...
|
||||
+ */
|
||||
+
|
||||
+ avahi_address_snprint (fqdn, sizeof (fqdn), address);
|
||||
+ hostTarget = fqdn;
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -0,0 +1,17 @@
|
||||
diff -up cups-1.6.2/cups/dest.c.enum-all cups-1.6.2/cups/dest.c
|
||||
--- cups-1.6.2/cups/dest.c.enum-all 2013-06-04 10:58:36.169786250 +0100
|
||||
+++ cups-1.6.2/cups/dest.c 2013-06-04 10:59:02.147900811 +0100
|
||||
@@ -2724,9 +2724,12 @@ cups_dnssd_browse_cb(
|
||||
break;
|
||||
|
||||
case AVAHI_BROWSER_REMOVE:
|
||||
- case AVAHI_BROWSER_ALL_FOR_NOW:
|
||||
case AVAHI_BROWSER_CACHE_EXHAUSTED:
|
||||
break;
|
||||
+
|
||||
+ case AVAHI_BROWSER_ALL_FOR_NOW:
|
||||
+ avahi_simple_poll_quit(data->simple_poll);
|
||||
+ break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
diff -up cups-1.6.4/scheduler/job.c.final-content-type cups-1.6.4/scheduler/job.c
|
||||
--- cups-1.6.4/scheduler/job.c.final-content-type 2013-09-27 16:58:13.934775402 +0100
|
||||
+++ cups-1.6.4/scheduler/job.c 2013-09-27 17:00:57.716549576 +0100
|
||||
@@ -692,12 +692,7 @@ cupsdContinueJob(cupsd_job_t *job) /* I
|
||||
|
||||
if (!job->printer->remote)
|
||||
{
|
||||
- for (filter = (mime_filter_t *)cupsArrayLast(filters);
|
||||
- filter && filter->dst;
|
||||
- filter = (mime_filter_t *)cupsArrayPrev(filters))
|
||||
- if (strcmp(filter->dst->super, "printer") ||
|
||||
- strcmp(filter->dst->type, job->printer->name))
|
||||
- break;
|
||||
+ filter = (mime_filter_t *)cupsArrayLast(filters);
|
||||
|
||||
if (filter && filter->dst)
|
||||
{
|
||||
@@ -0,0 +1,26 @@
|
||||
diff -up cups-1.7b1/cups/http-addr.c.res_init cups-1.7b1/cups/http-addr.c
|
||||
--- cups-1.7b1/cups/http-addr.c.res_init 2013-03-20 19:14:10.000000000 +0100
|
||||
+++ cups-1.7b1/cups/http-addr.c 2013-04-19 12:01:36.927512159 +0200
|
||||
@@ -319,7 +319,8 @@ httpAddrLookup(
|
||||
|
||||
if (error)
|
||||
{
|
||||
- if (error == EAI_FAIL)
|
||||
+ if (error == EAI_FAIL || error == EAI_AGAIN || error == EAI_NODATA ||
|
||||
+ error == EAI_NONAME)
|
||||
cg->need_res_init = 1;
|
||||
|
||||
return (httpAddrString(addr, name, namelen));
|
||||
diff -up cups-1.7b1/cups/http-addrlist.c.res_init cups-1.7b1/cups/http-addrlist.c
|
||||
--- cups-1.7b1/cups/http-addrlist.c.res_init 2013-04-19 12:01:36.930512119 +0200
|
||||
+++ cups-1.7b1/cups/http-addrlist.c 2013-04-19 12:03:13.769229554 +0200
|
||||
@@ -581,7 +581,8 @@ httpAddrGetList(const char *hostname, /*
|
||||
}
|
||||
else
|
||||
{
|
||||
- if (error == EAI_FAIL)
|
||||
+ if (error == EAI_FAIL || error == EAI_AGAIN || error == EAI_NODATA ||
|
||||
+ error == EAI_NONAME)
|
||||
cg->need_res_init = 1;
|
||||
|
||||
_cupsSetError(IPP_STATUS_ERROR_INTERNAL, gai_strerror(error), 0);
|
||||
@@ -0,0 +1,47 @@
|
||||
*PPD-Adobe: "4.3"
|
||||
*%
|
||||
*% Text-only printer definition
|
||||
*%
|
||||
*FormatVersion: "4.3"
|
||||
*FileVersion: "1.1"
|
||||
*LanguageVersion: English
|
||||
*LanguageEncoding: ISOLatin1
|
||||
*PCFileName: "TEXTONLY.PPD"
|
||||
*Manufacturer: "Generic"
|
||||
*Product: "(Generic)"
|
||||
*cupsVersion: 1.0
|
||||
*cupsManualCopies: True
|
||||
*cupsModelNumber: 2
|
||||
*cupsFilter: "text/plain 0 textonly"
|
||||
*ModelName: "Generic text-only printer"
|
||||
*ShortNickName: "Generic text-only printer"
|
||||
*NickName: "Generic text-only printer"
|
||||
*PSVersion: "(2017.000) 0"
|
||||
*LanguageLevel: "2"
|
||||
*ColorDevice: False
|
||||
*DefaultColorSpace: Gray
|
||||
*FileSystem: False
|
||||
*Throughput: "8"
|
||||
*LandscapeOrientation: Plus90
|
||||
*VariablePaperSize: False
|
||||
*TTRasterizer: Type42
|
||||
*DefaultImageableArea: Letter
|
||||
*ImageableArea Letter/US Letter: "18 36 594 756"
|
||||
*DefaultPaperDimension: Letter
|
||||
*PaperDimension Letter/Letter: "612 792"
|
||||
*OpenUI *PageSize/Media Size: PickOne
|
||||
*OrderDependency: 10 AnySetup *PageSize
|
||||
*DefaultPageSize: Letter
|
||||
*PageSize Letter/Letter: "<</PageSize[612 792]/ImagingBBox null>>setpagedevice"
|
||||
*CloseUI: *PageSize
|
||||
*OpenUI *PageRegion: PickOne
|
||||
*OrderDependency: 10 AnySetup *PageRegion
|
||||
*DefaultPageRegion: Letter
|
||||
*PageRegion Letter/Letter: "<</PageSize[612 792]/ImagingBBox null>>setpagedevice"
|
||||
*CloseUI: *PageRegion
|
||||
|
||||
*OpenUI *SendFF: Boolean
|
||||
*DefaultSendFF: False
|
||||
*SendFF True/True: ""
|
||||
*SendFF False/False: ""
|
||||
*CloseUI: *SendFF
|
||||
Reference in New Issue
Block a user