ALT Linux repos
S: | 2.4.7-alt1 |
5.0: | 1.3.10-alt1 |
4.1: | 1.3.10-alt0.M41.4 |
+updates: | 1.3.9-alt1.M41.1 |
4.0: | 1.2.12-alt6.M40.9 |
+updates: | 1.2.12-alt6.M40.8 |
3.0: | 1.1.20-alt14.1 |
Group :: System/Servers
RPM: cups
Main Changelog Spec Patches Sources Download Gear Bugs and FR Repocop
Patch: ALT-1.7.2-local_ipv6.patch
Download
Download
diff -ur cups-1.7.3/cups/http-addr.c cups-1.7.3.new/cups/http-addr.c
--- cups-1.7.3/cups/http-addr.c 2014-06-24 14:39:21.174954690 +0000
+++ cups-1.7.3.new/cups/http-addr.c 2014-06-24 14:33:22.455553712 +0000
@@ -202,9 +202,14 @@
return (1);
#ifdef AF_INET6
- if (addr->addr.sa_family == AF_INET6 &&
- IN6_IS_ADDR_LOOPBACK(&(addr->ipv6.sin6_addr)))
- return (1);
+ if (addr->addr.sa_family == AF_INET6) {
+ if (IN6_IS_ADDR_LOOPBACK(&(addr->ipv6.sin6_addr)))
+ return (1);
+ if (IN6_IS_ADDR_V4MAPPED(&(addr->ipv6.sin6_addr)))
+ if(addr->ipv6.sin6_addr.s6_addr32[3] == htonl(INADDR_LOOPBACK))
+ return (1);
+ }
+
#endif /* AF_INET6 */
#ifdef AF_LOCAL
diff -ur cups-1.7.3/scheduler/auth.c cups-1.7.3.new/scheduler/auth.c
--- cups-1.7.3/scheduler/auth.c 2014-06-24 14:39:21.162954978 +0000
+++ cups-1.7.3.new/scheduler/auth.c 2014-06-24 13:58:23.235903941 +0000
@@ -1301,6 +1301,9 @@
netip6[1] = htonl(ip[1]);
netip6[2] = htonl(ip[2]);
netip6[3] = htonl(ip[3]);
+
+ if(!IN6_IS_ADDR_V4MAPPED(netip6))
+ netip4 = 0;
#endif /* AF_INET6 */
cupsdNetIFUpdate();
@@ -1906,7 +1909,7 @@
address[0] = 0;
address[1] = 0;
- address[2] = 0;
+ address[2] = 0xffff;
address[3] = ntohl(hostaddr->ipv4.sin_addr.s_addr);
}
else
diff -ur cups-1.7.3/scheduler/client.c cups-1.7.3.new/scheduler/client.c
--- cups-1.7.3/scheduler/client.c 2014-06-24 14:39:21.290951910 +0000
+++ cups-1.7.3.new/scheduler/client.c 2014-06-24 14:01:32.878499053 +0000
@@ -4354,6 +4354,7 @@
!_cups_strcasecmp(con->clientname, "localhost.localdomain") ||
#endif /* __linux */
!strcmp(con->clientname, "127.0.0.1") ||
+ !strcmp(con->clientname, "[v1.::ffff:127.0.0.1]") ||
!strcmp(con->clientname, "[::1]"));
}