If an IPv6 host has no AAAA DNS entry the DISPLAY variable might contain a hexadecimal/colon address. The function x11_connect_display() in channels.c determins the "hostname" in the DISPLAY variable by searching for the *first* colon occurence (line 3550 in that file): cp = strchr(buf, ':'); This seems to be incompatible with the representation of IPv6 addresses. The resulting error produces an error message which can be attributed to the debug2 statement later in that function (line 3582): connect 2001 port 6006: Invalid argument Error: Can't open display: localhost:10.0 A workaround is documented here: http://www.technologische-hilfe.de/antworten/lightdm-xdm-sitzung-und-ipv6-support-241428392.html My guess is that the problem can be solved by using strrchr in that statement: cp = strrchr(buf, ':');
Forgot to mention the scenario: we have XDMCP Clients with IPv6. If we use SSH from the XDMCP server X11 on remote hosts fails.
Created attachment 2513 [details] Fixes Bug in client when $DISPLAY contains IPv6 address
The patch has been test here and is against openssh-6.7p1