[PATCH xserver] XDMCP: For IPv6 add IPv6 link local addresses to the end of the list

Julien Cristau jcristau at debian.org
Fri Apr 29 07:40:05 UTC 2016


On Thu, Apr 28, 2016 at 15:21:15 +0200, Stefan Dirsch wrote:

> From: Reinhard Max <max at suse.de>
> 
> For IPv6 add a link local addresses to the end of the list passed to
> the XDMCP servers.
> Reason: 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.

Commit message says "add to the end of the list", code says "ignore",
which is it?

Cheers,
Julien

> ---
>  os/access.c | 12 +++++++++++-
>  1 file changed, 11 insertions(+), 1 deletion(-)
> 
> diff --git a/os/access.c b/os/access.c
> index 58f95a9..f44d93e 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)
> -- 
> 2.6.2
> 
> _______________________________________________
> xorg-devel at lists.x.org: X.Org development
> Archives: http://lists.x.org/archives/xorg-devel
> Info: https://lists.x.org/mailman/listinfo/xorg-devel


More information about the xorg-devel mailing list