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

Stefan Dirsch sndirsch at suse.de
Fri Apr 29 09:22:29 UTC 2016


On Fri, Apr 29, 2016 at 09:40:05AM +0200, Julien Cristau wrote:
> 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?

Good question. Maybe Reinhard still remembers. Meanwhile I found slightly
different descriptions for the patch. Seems the patch changed in between.
Sigh.

Thu Aug 19 14:34:02 CEST 2010 - max at suse.de
- Replaced the previous xdmcp fix with a simpler approach that
  doesn't cause login problems in xdm and kdm.
  bnc#462283, bnc#625598
  https://bugzilla.opensuse.org/show_bug.cgi?id=462283
  https://bugzilla.opensuse.org/show_bug.cgi?id=625598

Wed Jul 28 05:11:59 CEST 2010 - sndirsch at suse.de
- Fix some shortcomings in the xdmcp implementation. It used to
  suppress loopback addresses from the list of potential display
  addresses to report to xdm, even when talking to xdm through
  a loopback address. Now only display addresses of the same kind
  as the xdm connection are reported to xdm.

  This most notably helps Xvnc servers contacting the local xdm,
  because they were severely affected by the suppression of
  loopback addresses. (xorg-server-xdmcp.patch, Reinhard Max)

I agree, that it doesn't make sense to accept patches, which are no longer
fully understood by downstream and/or not yet fully understood by
upstream. ;-)

Thanks,
Stefan

> >  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

Public Key available
------------------------------------------------------
Stefan Dirsch (Res. & Dev.)   SUSE LINUX GmbH
Tel: 0911-740 53 0            Maxfeldstraße 5
FAX: 0911-740 53 479          D-90409 Nürnberg
http://www.suse.de            Germany 
---------------------------------------------------------------
SUSE Linux GmbH, GF: Felix Imendörffer, Jane Smithard, Graham
Norton, HRB 21284 (AG Nürnberg)
---------------------------------------------------------------


More information about the xorg-devel mailing list