On Mon, 22 Mar 2004, Peter Breitenlohner wrote: > ..... With the two patches the IPv6 enabled chooser, xdm, > and XFree86 server work together quite well on a linux system without IPv6 > support from the kernel. .....
Hi, the above was somewhat too enthusiastic since there was (at least) one remaining problem (not directly related to IPv6): xdm segfaulted with an Xaccess directive "LISTEN" without a hostname. Attached are two additional patches, one for this and another one for a trivial manpage typo. I hope you will be able to commit all that. regards Peter Breitenlohner <[EMAIL PROTECTED]>
An Access file statement "LISTEN" (without interface) is against the specs (xdm manpage) but certainly shouldn't yield a segmentation fault as with the original code. I think it is best to interprete "LISTEN" as "LISTEN *" and let listenfunction (i.e. UpdateListener in socket.c) handle the case h==NULL in the same way as h->entry.hostAddress.length==0 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 2003-11-23 23:02:07.000000000 +0100 +++ XF86-4.4.0/xc/programs/xdm/access.c 2004-03-23 11:13:43.000000000 +0100 @@ -901,11 +901,13 @@ if (d->type == DISPLAY_LISTEN) { listenFound = 1; h = d->hosts; - if (h != NULL) { + if (h == NULL) { + (*listenfunction) (NULL, closure); + } else { (*listenfunction) (&h->entry.hostAddress, closure); - } - for (h = h->next; h != NULL; h = h->next) { - (*mcastfunction) (&h->entry.hostAddress, closure); + for (h = h->next; h != NULL; h = h->next) { + (*mcastfunction) (&h->entry.hostAddress, closure); + } } } }
Just a typo in the Xau manpage diff -ur -N XF86-4.4.0.orig/xc/doc/man/Xau/Xau.man XF86-4.4.0/xc/doc/man/Xau/Xau.man --- XF86-4.4.0.orig/xc/doc/man/Xau/Xau.man 2003-04-29 00:18:14.000000000 +0200 +++ XF86-4.4.0/xc/doc/man/Xau/Xau.man 2004-03-23 10:12:57.000000000 +0100 @@ -82,7 +82,7 @@ \fBnot\fP statically allocated and should be freed by calling \fIXauDisposeAuth\fP. .PP -\fBXuWriteAuth\fP writes an authorization entry to \fIauth_file\fP. It +\fBXauWriteAuth\fP writes an authorization entry to \fIauth_file\fP. It returns 1 on success, 0 on failure. .PP \fBXauGetAuthByAddr\fP searches for an entry which matches the given network