summaryrefslogtreecommitdiffstats
path: root/contrib/packages/rpm/sle11/SOURCES/xorg-server-xdmcp.patch
blob: f405a28eb07c6c19414a0b281e52ebab20fcdcbe (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
--- xorg-server-1.6.5/os/access.c
+++ xorg-server-1.6.5/os/access.c
@@ -781,7 +781,9 @@
 
 	    /* 
 	     * ignore 'localhost' entries as they're not useful
-	     * on the other end of the wire
+	     * on the other end of the wire and because on hosts
+	     * with shared home dirs they'll result in conflic
+	     * entries in ~/.Xauthority
 	     */
 	    if (ifr->ifa_flags & IFF_LOOPBACK) 
 		    continue;
@@ -804,6 +806,14 @@
 	    else if (family == FamilyInternet6 && 
 	      IN6_IS_ADDR_LOOPBACK((struct in6_addr *)addr))
 		continue;
+
+            /* Ignore IPv6 link local addresses (fe80::/10), because
+             * they need a scope identifier, which we have no way
+             * of telling to the other end.
+             */
+            if (family == FamilyInternet6 &&
+              IN6_IS_ADDR_LINKLOCAL((struct in6_addr *)addr))
+                continue;
 #endif
 	    XdmcpRegisterConnection(family, (char *)addr, len);
 #if defined(IPv6) && defined(AF_INET6)