f09e2e
diff -up openssh-5.6p1/channels.c.getaddrinfo openssh-5.6p1/channels.c
f09e2e
--- openssh-5.6p1/channels.c.getaddrinfo	2012-02-14 16:12:54.427852524 +0100
f09e2e
+++ openssh-5.6p1/channels.c	2012-02-14 16:13:22.818928690 +0100
f09e2e
@@ -3275,6 +3275,9 @@ x11_create_display_inet(int x11_display_
f09e2e
 		memset(&hints, 0, sizeof(hints));
f09e2e
 		hints.ai_family = IPv4or6;
f09e2e
 		hints.ai_flags = x11_use_localhost ? 0: AI_PASSIVE;
f09e2e
+#ifdef AI_ADDRCONFIG
f09e2e
+		hints.ai_flags |= AI_ADDRCONFIG;
f09e2e
+#endif
f09e2e
 		hints.ai_socktype = SOCK_STREAM;
f09e2e
 		snprintf(strport, sizeof strport, "%d", port);
f09e2e
 		if ((gaierr = getaddrinfo(NULL, strport, &hints, &aitop)) != 0) {
f09e2e
diff -up openssh-5.6p1/sshconnect.c.getaddrinfo openssh-5.6p1/sshconnect.c
f09e2e
--- openssh-5.6p1/sshconnect.c.getaddrinfo	2012-02-14 16:09:25.057964291 +0100
f09e2e
+++ openssh-5.6p1/sshconnect.c	2012-02-14 16:09:25.106047007 +0100
f09e2e
@@ -343,6 +343,7 @@ ssh_connect(const char *host, struct soc
f09e2e
 	memset(&hints, 0, sizeof(hints));
f09e2e
 	hints.ai_family = family;
f09e2e
 	hints.ai_socktype = SOCK_STREAM;
f09e2e
+	hints.ai_flags = AI_V4MAPPED | AI_ADDRCONFIG;
f09e2e
 	snprintf(strport, sizeof strport, "%u", port);
f09e2e
 	if ((gaierr = getaddrinfo(host, strport, &hints, &aitop)) != 0)
f09e2e
 		fatal("%s: Could not resolve hostname %.100s: %s", __progname,