xserver: Branch 'master'

Adam Jackson ajax at kemper.freedesktop.org
Tue Jun 21 15:43:29 UTC 2016


 os/access.c |   12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

New commits:
commit fdd448cd39b4ca84a28d73fc628911070437b703
Author: Reinhard Max <max at suse.de>
Date:   Thu Apr 28 15:21:15 2016 +0200

    XDMCP: For IPv6 add link local addresses to the end of the list
    
    For link local addresses the XDMCP server would need to either know the
    interface thru a scope identifier or try all available interfaces.  If
    they don't this address will fail in which case the XDMCP server could
    still try the other addresses passed - however some only try the first
    address and then give up.
    
    Even if this seems to be the wrong place to fix this it seems to be
    easier than fixing all display servers.
    
    [ajax: Cleaned up commit message]
    
    Reviewed-by: Adam Jackson <ajax at redhat.com>

diff --git a/os/access.c b/os/access.c
index 8828e08..e7d9d29 100644
--- a/os/access.c
+++ b/os/access.c
@@ -827,7 +827,9 @@ DefineSelf(int fd)
 
             /*
              * 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 conflicting
+             * entries in ~/.Xauthority
              */
             if (ifr->ifa_flags & IFF_LOOPBACK)
                 continue;
@@ -848,6 +850,14 @@ DefineSelf(int fd)
             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)


More information about the xorg-commit mailing list