X-Git-Url: https://git.pld-linux.org/?a=blobdiff_plain;f=cups-avahi-address.patch;h=b8090ea0cabd9a7e19aa3bb7cbf8b53fc3ff08b6;hb=b3b509330e6840e7a1a1b6c08b72cbab040eb5d5;hp=308ee8933580f6090388a55756cabd30300af4b8;hpb=3e1538e57b83f63a8917a29574f01dd20dc4bd9b;p=packages%2Fcups.git diff --git a/cups-avahi-address.patch b/cups-avahi-address.patch index 308ee89..b8090ea 100644 --- a/cups-avahi-address.patch +++ b/cups-avahi-address.patch @@ -1,7 +1,7 @@ -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( +diff -up cups-2.2b2/cups/http-support.c.avahi-address cups-2.2b2/cups/http-support.c +--- cups-2.2b2/cups/http-support.c.avahi-address 2016-06-24 17:43:35.000000000 +0200 ++++ cups-2.2b2/cups/http-support.c 2016-06-27 15:31:34.201361844 +0200 +@@ -2340,7 +2340,7 @@ http_resolve_cb( const char *type, /* I - Registration type */ const char *domain, /* I - Domain (unused) */ const char *hostTarget, /* I - Hostname */ @@ -10,7 +10,7 @@ diff -up cups-1.6.2/cups/http-support.c.avahi-address cups-1.6.2/cups/http-suppo uint16_t port, /* I - Port number */ AvahiStringList *txt, /* I - TXT record */ AvahiLookupResultFlags flags, /* I - Lookup flags (unused) */ -@@ -2248,41 +2248,59 @@ http_resolve_cb( +@@ -2493,39 +2493,62 @@ http_resolve_cb( * getting the IP address of the .local name and then do reverse-lookups... */ @@ -20,7 +20,7 @@ diff -up cups-1.6.2/cups/http-support.c.avahi-address cups-1.6.2/cups/http-suppo + size_t addrlen; + int error; - DEBUG_printf(("8http_resolve_cb: Looking up \"%s\".", hostTarget)); + DEBUG_printf(("5http_resolve_cb: Looking up \"%s\".", hostTarget)); - snprintf(fqdn, sizeof(fqdn), "%d", ntohs(port)); - if ((addrlist = httpAddrGetList(hostTarget, AF_UNSPEC, fqdn)) != NULL) @@ -49,38 +49,38 @@ diff -up cups-1.6.2/cups/http-support.c.avahi-address cups-1.6.2/cups/http-suppo + + if (!error) { -- int error = getnameinfo(&(addr->addr.addr), -- httpAddrLength(&(addr->addr)), -- fqdn, sizeof(fqdn), NULL, 0, NI_NAMEREQD); +- int error = getnameinfo(&(addr->addr.addr), (socklen_t)httpAddrLength(&(addr->addr)), fqdn, sizeof(fqdn), NULL, 0, NI_NAMEREQD); + DEBUG_printf(("8http_resolve_cb: Found \"%s\".", fqdn)); - if (!error) +- { +- DEBUG_printf(("5http_resolve_cb: Found \"%s\".", fqdn)); + 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", +- DEBUG_printf(("5http_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 {