diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | channels.c | 14 |
2 files changed, 18 insertions, 2 deletions
@@ -1,3 +1,7 @@ | |||
1 | 20020604 | ||
2 | - (stevesk) [channels.c] bug #164 patch from YOSHIFUJI Hideaki (changed | ||
3 | setsockopt from debug to error for now). | ||
4 | |||
1 | 20020527 | 5 | 20020527 |
2 | - (tim) [configure.ac.orig monitor_fdpass.c] Enahnce msghdr tests to address | 6 | - (tim) [configure.ac.orig monitor_fdpass.c] Enahnce msghdr tests to address |
3 | build problem on Irix reported by Dave Love <d.love@dl.ac.uk>. Back out | 7 | build problem on Irix reported by Dave Love <d.love@dl.ac.uk>. Back out |
@@ -677,4 +681,4 @@ | |||
677 | - (stevesk) entropy.c: typo in debug message | 681 | - (stevesk) entropy.c: typo in debug message |
678 | - (djm) ssh-keygen -i needs seeded RNG; report from markus@ | 682 | - (djm) ssh-keygen -i needs seeded RNG; report from markus@ |
679 | 683 | ||
680 | $Id: ChangeLog,v 1.2142 2002/05/28 00:37:32 tim Exp $ | 684 | $Id: ChangeLog,v 1.2143 2002/06/04 20:52:19 stevesk Exp $ |
diff --git a/channels.c b/channels.c index 520bff822..3ac690135 100644 --- a/channels.c +++ b/channels.c | |||
@@ -2374,6 +2374,13 @@ x11_create_display_inet(int x11_display_offset, int x11_use_localhost, | |||
2374 | continue; | 2374 | continue; |
2375 | } | 2375 | } |
2376 | } | 2376 | } |
2377 | #ifdef IPV6_V6ONLY | ||
2378 | if (ai->ai_family == AF_INET6) { | ||
2379 | int on = 1; | ||
2380 | if (setsockopt(sock, IPPROTO_IPV6, IPV6_V6ONLY, &on, sizeof(on)) < 0) | ||
2381 | error("setsockopt IPV6_V6ONLY: %.100s", strerror(errno)); | ||
2382 | } | ||
2383 | #endif | ||
2377 | if (bind(sock, ai->ai_addr, ai->ai_addrlen) < 0) { | 2384 | if (bind(sock, ai->ai_addr, ai->ai_addrlen) < 0) { |
2378 | debug("bind port %d: %.100s", port, strerror(errno)); | 2385 | debug("bind port %d: %.100s", port, strerror(errno)); |
2379 | close(sock); | 2386 | close(sock); |
@@ -2392,7 +2399,12 @@ x11_create_display_inet(int x11_display_offset, int x11_use_localhost, | |||
2392 | if (num_socks == NUM_SOCKS) | 2399 | if (num_socks == NUM_SOCKS) |
2393 | break; | 2400 | break; |
2394 | #else | 2401 | #else |
2395 | break; | 2402 | if (x11_use_localhost) { |
2403 | if (num_socks == NUM_SOCKS) | ||
2404 | break; | ||
2405 | } else { | ||
2406 | break; | ||
2407 | } | ||
2396 | #endif | 2408 | #endif |
2397 | } | 2409 | } |
2398 | freeaddrinfo(aitop); | 2410 | freeaddrinfo(aitop); |