From 688aaeda7b83ac858c81c01bad815e1edbbc6823 Mon Sep 17 00:00:00 2001 From: stevesk Date: Tue, 4 Jun 2002 20:52:19 +0000 Subject: [PATCH 1/1] - (stevesk) [channels.c] bug #164 patch from YOSHIFUJI Hideaki (changed setsockopt from debug to error for now). --- ChangeLog | 4 ++++ channels.c | 14 +++++++++++++- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 96f222ba..e03361ef 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +20020604 + - (stevesk) [channels.c] bug #164 patch from YOSHIFUJI Hideaki (changed + setsockopt from debug to error for now). + 20020527 - (tim) [configure.ac.orig monitor_fdpass.c] Enahnce msghdr tests to address build problem on Irix reported by Dave Love . Back out diff --git a/channels.c b/channels.c index 520bff82..3ac69013 100644 --- a/channels.c +++ b/channels.c @@ -2374,6 +2374,13 @@ x11_create_display_inet(int x11_display_offset, int x11_use_localhost, continue; } } +#ifdef IPV6_V6ONLY + if (ai->ai_family == AF_INET6) { + int on = 1; + if (setsockopt(sock, IPPROTO_IPV6, IPV6_V6ONLY, &on, sizeof(on)) < 0) + error("setsockopt IPV6_V6ONLY: %.100s", strerror(errno)); + } +#endif if (bind(sock, ai->ai_addr, ai->ai_addrlen) < 0) { debug("bind port %d: %.100s", port, strerror(errno)); close(sock); @@ -2392,7 +2399,12 @@ x11_create_display_inet(int x11_display_offset, int x11_use_localhost, if (num_socks == NUM_SOCKS) break; #else - break; + if (x11_use_localhost) { + if (num_socks == NUM_SOCKS) + break; + } else { + break; + } #endif } freeaddrinfo(aitop); -- 2.45.2