summaryrefslogtreecommitdiff
path: root/channels.c
diff options
context:
space:
mode:
authorDamien Miller <djm@mindrot.org>2008-06-12 06:05:12 +1000
committerDamien Miller <djm@mindrot.org>2008-06-12 06:05:12 +1000
commit4401e45be6a89f8b2b9f9ba96137107bce39943d (patch)
treeaf7ce24d6a685c84e27248380db6c4056f5b2fe4 /channels.c
parentb8e0500351f42c79d7c75df5637bd9eb01811ff6 (diff)
downloadopenssh-git-4401e45be6a89f8b2b9f9ba96137107bce39943d.tar.gz
- (djm) [channels.c configure.ac]
Do not set SO_REUSEADDR on wildcard X11 listeners (X11UseLocalhost=no) bz#1464; ok dtucker
Diffstat (limited to 'channels.c')
-rw-r--r--channels.c12
1 files changed, 2 insertions, 10 deletions
diff --git a/channels.c b/channels.c
index 6808d3a0..233c2247 100644
--- a/channels.c
+++ b/channels.c
@@ -3018,7 +3018,8 @@ x11_create_display_inet(int x11_display_offset, int x11_use_localhost,
error("setsockopt IPV6_V6ONLY: %.100s", strerror(errno));
}
#endif
- channel_set_reuseaddr(sock);
+ if (x11_use_localhost)
+ channel_set_reuseaddr(sock);
if (bind(sock, ai->ai_addr, ai->ai_addrlen) < 0) {
debug2("bind port %d: %.100s", port, strerror(errno));
close(sock);
@@ -3030,17 +3031,8 @@ x11_create_display_inet(int x11_display_offset, int x11_use_localhost,
break;
}
socks[num_socks++] = sock;
-#ifndef DONT_TRY_OTHER_AF
if (num_socks == NUM_SOCKS)
break;
-#else
- if (x11_use_localhost) {
- if (num_socks == NUM_SOCKS)
- break;
- } else {
- break;
- }
-#endif
}
freeaddrinfo(aitop);
if (num_socks > 0)