Debian IPv6 Archives Debian IPv6 Archives X-six
Home Developers μhowto Download Mirrors Stats

The X-six Strike Force

(and I know.... Branden is going to kill me!)

Introduction

Farly simple: this is an attempt to get the TCP6 transport layer for XFree86 4.2.1 working on Linux systems based on the original kame patch.

Before you will proceed you MUST read this:

The packages are EXPERIMENTAL and they might break stuff around.
Use them at your own risk and be always ready to downgrade.
For NO reason you should submit bugs against the Debian BTS since these pkgs are unoffical and especially don't ask support for them to the debian-x mailing list. If you believe that you have encountered a bug that is not strictly related to the IPv6 implementation than downgrade to the offical X packages, reproduce the problem and submit the bug.
There are already some known issues! read them and if you can contribute to fix them you are welcome to join the club.
Send all your comments, patches, bugs to me and I will care to update the list in here.
Do not expect new pkgs every day! X is a huge beast to compile even on fast machines and only after we will solve all the known issues and after atleast some weeks of testing I will consider pushing the work to The X Strike Force. So simply do not ask when it will be in main.

We need badly TEST! TEST! TEST! TEST! as much as you can!

Thanks
Fabbione

History
  • 03 Mar 2003 - X4.2.1-6.ipv6.r0.6 released. Waiting for X4.3 to test the patches and send them upstream.
  • 28 Jan 2003 - r0.6 released
  • 03 Dic 2002 - r0.4 released (closes bug id #7)
  • 08 Nov 2002 - bug id #7 opened.
  • 27 Oct 2002 - r0.3 released (i386, other archs will follow)
  • 26 Oct 2002 - Closed bug id #1, #3 and #4 (they will be available in r0.3).
  • 25 Oct 2002 - mips/alpha uploaded.
  • 23 Oct 2002 - hppa uploaded.
  • 22 Oct 2002 - Closed bug id #2 (it will be available in r0.3).
  • 20 Oct 2002 - First release (i386 and powerpc).
Few hints for the first v6 use
  • add -nolisten tcp to your /etc/X11/xinit/xserverrc (see bug id #1 and #2)
  • export DISPLAY=[ipv6_addr]:0.0 works
  • xhost [ipv6_addr] works as well
  • and now spend time to read the table below!
Known issues and work in progress table
This table list the bugs, missing features, things to be done and the problems that we're aware of. References on where to fix the code are only suggestions. There might be hundreds better places where to do it.
ID# Status Description Arch specific Who's on it
1 Closed in r0.3

-nolisten [tcp|tcp6] must be specified as startup option for X. (see also bud ID #2) Since the nature of the BSD way of handling multiple ipv4 and ipv6 binds separatly this leads to a small problem on Linux system. The patch implements tcp6 as a standalone transport layer and tries a separate bind. This fails on linux and X will not start. A temporary workaround is to disable tcp4 transport layer (-nolisten tcp) or tcp6 (-nolisten tcp6). In the first case the ipv4 access will continue to work, in the second one only ipv4 access will work. Some graphical logins do not use /etc/X11/xinit/xserverc so be careful to check before reporting a problem. In case of a mistake you will find an explicit error message in /var/log/XFree86.0.log

Solution

Refer to debian/patches/992_debian_ipv6_no_nolisten_fix.diff for the code. It is no more required to specify -nolisten [tcp|tcp6]. The patch apply some defaults that will avoid protocols to conflict. Specifically for linux it will apply tcp6 by default due to the fact that it will reflect the condition of a missing -nolisten listening at the same time on tcp and tcp6. The patch also disable tcp6 by default on hurd system since there is no ipv6 support yet.

Reported by: fabbione —  Solved by: fabbione

no Fabbione
2 Closed in r0.3

X does not accept more than one -nolisten [proto] option. This prevents people to disable more than one protocol at a time. due to this limitation your X will always listen on the network.

Solution

Refer to debian/patches/991_debian_ipv6_multi_nolisten.diff for the code. It is now possible to specify a comma separted list of protocols to -nolisten. The patch is generic and can theoretically go directly upstream. Example: -nolisten tcp,tcp6 will disable both tcp and tcp6 transport layers.

Reported by: fabbione —  Solved by: fabbione

no Fabbione
3 Closed

xhost should always be executed BEFORE export DISPLAY=[ipv6]:0.0 otherwise xhost will fail complaining that it cannot open the display (using the same shell ofcourse).

Solution

This is not a bug but the normal behaviour of X that was misinterpreted by me :)

Reported by: fabbione —  Solved by: fabbione

no Fabbione
4 Closed in r0.3

export DISPLAY=ipv4addr:0.0 and then run your favourite X application will print:

    _X11TransSocketINET6Connect: Address family for hostname not supported
		    

but it will work just fine. This is just a warning.

Solution

Refer to debian/patches/993_debian_ipv6_getaddrinfo_fix.diff for the code. Basically is a s/AF_INET6/0/g in order to accept back answers indepently if they are ipv4 or ipv6. Check also getaddrinfo manpage.

Reported by: fabbione —  Solved by: fabbione

no Fabbione
5 Open

Documentation should be updated to describe how to use ipv6.

Reported by: fabbione

no ik5pvx
6 Open

Some applications might send out errors and warnings running over an ipv6 $DISPLAY. This is 99% an application problem since they try to handle $DISPLAY directly. One of them is amsn but most likely tk. There is not much that we can do at the moment IMHO.

Reported by: fabbione

no Noone
7 Closed in r0.4

Found a small issue on xhost that does not allow ipv4 connection in certain condition. If an host can resolv at the same time ipv4 and ipv6 xhost add both of them correctly to the authorized hosts list but for some reasons the ipv4 connection is refused. Possibly this is a problem present also in other piece of software included in X. A simple workaround is to run xhost +. Actually I hit this problem only exporting from a Solaris 8 box to my Debian workstation but I don't exclude that the same problem can be present in other environments.

Reported by: fabbione

Note added by ik5pvx: I've experienced a probably related problem when adding an IPv4-only host. For some reason, Linux maps the IPv4 address to IPv6 and then it doesn't allow the connection (because you have authorized only the IPv4 address). You can check what's going on in /var/log/XFree86.0.log. I have found this:

    AUDIT: Thu Nov 14 10:37:12 2002: 2819 X: client 12 rejected from
    IPv6 ::ffff:172.16.1.58 port 59525
		      

Using xhost +inet6:::ffff:172.16.1.58 solved my problem.

Solution

xhost has been patched to support ipv4 in ipv6 mapped addresses.

Solved by: fabbione

no fabbione

Last modified: Fri Apr 18 19:43:29 CEST 2003