On Tue, 30 Mar 2004, Marc Aurele La France wrote:

> I've committed these.  Thanks.

Hi Marc,

1. thanks for applying these patches (as well as those from patch seq: 6190).
When do you expect patches in ftp:..../XFree86/4.4.0/fixes/ ?

2. Meanwhile I carefully reread the xdm manpage and found out that my last
patch (patch-17-segfault) didn't do the right thing. According to the
manpage an Access file statement "LISTEN" (without interface) should disable
listening. The attached patch corrects this.

3. Let me summarize our current status: On all our (mpi theory group) permanent
linux system we run the IPv6 enabled XFree86, xdm, and chooser. All host
have a chooser list (with IPv4 hostnames) and "LISTEN 0.0.0.0". There are a
few choosers running for ncd terminals and for Xnest. All Xservers are
started with "-nolisten inet6" and all this works to our satisfaction.

There are, however, a few notebooks, all with a slave nameserver and a slave
nis server. As long as they are attached to the local network everything is
fine. Without network connection there is a terrible delay (of the order of
10 minutes or more) until xdm and X start. I have tried without LISTEN as
well as with "LISTEN", "LISTEN *", and "LISTEN 0.0.0.0" but this makes no
difference. The Xserver eventually starts but it takes a very long time. For
those notebooks we therefore use an IPv6 disabled version of xdm and with
that version everything is OK.

>From experience with other programs (we had, e.g., to disable IPv6 support
in ssh) I suspect the long delays are due to some (direct or reverse) dns
lookups, although I never understood why that is so. We certainly don't use
any explicit inet6 addresses. The necessity for the change in xdm/xdmcp.c
around line 1420 (kludge, patch-16-IPv6) might actually stem from a similar
lookup failure. These problems only occur in xdm, the IPv6 enabled versions
of chooser, XFree86, and Xnest work without problems (there are just a few
harmless warnings).

In view of all this and since Debian, Mandrake, RedHat, SuSE et. al. will
certainly distribute IPv6 enabled versions it would probably be extremely
useful to have a command line option and/or resource and/or Xaccess file
statement to completely disable xdm's use of IPv6 at runtime. This would
mean to keep some of the non-IPv6 code in the IPv6 enabled version of xdm,
and in particular using gethostname instead of getaddrinfo since this seems
to cause all the problems. Without such an option I forsee an endless
sequence of questions on the mailing list(s) that are related (in a
non-obvious way) to this issue.

regards
Peter Breitenlohner <[EMAIL PROTECTED]>
        This patch (to be applied on top of the previous
        patch-17-segfault) fixes the Access file statement "LISTEN" (without
        interface). According to the xdm manpage this should completely
        disable listening as long as there are no other LISTEN's. 

diff -ur -N XF86-4.4.0.orig/xc/programs/xdm/access.c 
XF86-4.4.0/xc/programs/xdm/access.c
--- XF86-4.4.0.orig/xc/programs/xdm/access.c    2004-03-23 11:13:43.000000000 +0100
+++ XF86-4.4.0/xc/programs/xdm/access.c 2004-04-01 11:24:12.000000000 +0200
@@ -901,9 +901,7 @@
        if (d->type == DISPLAY_LISTEN) {
            listenFound = 1;
            h = d->hosts;
-           if (h == NULL) {
-               (*listenfunction) (NULL, closure);
-           } else {
+           if (h != NULL) {
                (*listenfunction) (&h->entry.hostAddress, closure);
                for (h = h->next; h != NULL; h = h->next) {
                    (*mcastfunction) (&h->entry.hostAddress, closure);

Reply via email to