I tried your fix of the call to XdmcpFlush() and it works for me. Thank you.
Unfortunately, the -broadcast flag still does not work. The X server sends the XDMCP queries to its own IP address instead of using the networks broadcast address.
In xc/lib/Xdmcp/Flush.c, the return code of sendto() is not checked for error return codes. In the CVS repository, the last change occured about two years ago. IMHO some check should be added here.
Am Dienstag, 30.12.03 um 17:48 Uhr schrieb Matthieu Herrb:
Mario Klebsch wrote (in a message from Sunday 28)[problem with kdm]
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.
Of course. Well, my first goal was to get the new X server running, so I did not mention the problem to the KDE developers.
Changing the order in which the addresses are sent may hide the problem a bit longer though.
It probably is a matter of taste, wether the kdm problem should be widely visable by leaving the code as it is, triggering the bug or wether it is worth the hassle to work around it. I personally know installations, that still use KDE-1 because the system resources are too tight for KDE-2 or KDE-3.
In early days of kdm, it shared a lot of code with xdm so it might be worth to be checked, wether older versions of xdm share the same bug with kdm. Some parts of kdm have been rewritten in C++, but the problem is in the C part, so it might be in the code copied from xdm. IMHO it should be possible to use the XFree-4.4.x X-server in combination with earlier versions of xdm and vice versa, at least back to X11R5.
I just tried it myself. Instead of running kdm, I started XFree-4.1.0's xdm. It also reports "out of memory", so probably every old version of xdm is affected.
BTW, even the current version of xdm seems to have this problem. It probably will be triggered, when an IPv6 Xserver tries to connect to an IPv4-only xdm. It also seems to trigger trigger, when an connection type other than IPv4 or IPv6 is send to xdm. Even decnet addresses (which were used since the first days of X11) seem to trigger the "out of memory" error message, although there is no memory problem.
The wrong error message is caused by NetworkAddressToName() in xc/programs/xdm/xdmcp.c returning NULL when it is fed with unsupported address types. In manage() (same file) it is called and every call returning NULL is reported as "out of memory" in line 1195. At this point some better differentiation is needed to report at least correct error messages.
BTW, when looking at the current xdm source code I realized, that it still looks very much the same as the kdm source code. The directory structure has changed a bit, but the files and the routines look similar.
I might be wrong, but at least to me it seems, the current xdm cole also only honors at the first connectionAddress send in the XDMCP request datagram. I can find no iteration on the elements of connectionAddress in manage(). So, is there any sense in sending multiple addresses in the XDMCP request datagrams?
73, Mario -- Mario Klebsch [EMAIL PROTECTED] PGP-Key available at http://www.klebsch.de/public.key Fingerprint DSS: EE7C DBCC D9C8 5DC1 D4DB 1483 30CE 9FB2 A047 9CE0 Diffie-Hellman: D447 4ED6 8A10 2C65 C5E5 8B98 9464 53FF 9382 F518
_______________________________________________ Devel mailing list [EMAIL PROTECTED] http://XFree86.Org/mailman/listinfo/devel
