Mario Klebsch wrote (in a message from Sunday 28)
>
> The first problem I found was, that no XDMCP datagrams arrived on my
> xdm server. As the reason for this I found out, that at least on MacOSX
> sendto() does not tolerate its tolen argument being 128 for IPv4
> adresses. In xc/programs/Xserver/os/xdmcp.c at the end of
> send_query_msg(), XdmcpFlush() is called and sizeof (ManagerAddress) is
> given as the size of the address. On my system, it is 128. XdmcpFlush()
> passes this parameter to sendto(), which returns EINVAL on my system
> (BTW, the return code of sendto() in XdmcpFlush() is ignored). When I
> change XdmcpFlush() to force tolen to 16, the XDMCP datagrams are send
> and can be seen on the xdm-server using ethereal.
I've commited a fix for this problem.
Thanks for the report.
>
> After seeing the XDMCP datagrams, the problem still was not solved. I
> suddenly got an out of memory error. It turned out, that this error was
> send from the xdm server. In fact, I use kdm and have installed
> KED-3.1.1a. The reason for this failure is that in the XDMCP request
> datagram, a list of connection types and connection addresses is send
> to the xdm server. It does contain four addresses, three IPv6 addresses
> and the fourth one is an IPv4 address. Since the kdm was not able to
> handle IPv6 addresses, an internal function returned NULL, which was
> converted to "out of memory". This in fact is a problem of kdm, but
> IMHO the Xserver should avoid triggering this bug.
>
> There might be several ways to avoid this. First, the XDMCP request
> datagram could only include addresses of the same IP version that XDMCP
> itself uses. It might cause problems, when the Xserver and xdm are
> running on the same host and unix:0 is excluded from the address list
> by this measure.
>
> One could also change the order of addresses in the XDMCP request
> datagram. I have not tried it, but it seems, that at least kdm does
> simply use the first address given in the XDMCP request datagram.
>
> After I changed XdmcpRegisterConnection() to ignore IPv6 addresses, I
> finally managed to get a session running. I usually use the -query
> <host> -once arguments to Xserver to connect to xdm.
>
I'm not sure about what to do here. There's definatly a bug in KDM if
it assumes that it will only get AF_INET type addresses. It should be
reported to the KDE team.
Changing the order in which the addresses are sent may hide the
problem a bit longer though.
Matthieu
_______________________________________________
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel