diff options
author | Damien Miller <djm@mindrot.org> | 2000-01-17 13:22:55 +1100 |
---|---|---|
committer | Damien Miller <djm@mindrot.org> | 2000-01-17 13:22:55 +1100 |
commit | e219273f93fe94aa188591803be5b9a71afc338a (patch) | |
tree | ff2eb0d70ee489d73b382d295ddc3b23d6d4846a /channels.c | |
parent | 95a29b13312eac762002c54fa5799567438b2f95 (diff) |
- Fixed X11 forwarding bug on Linux. libc advertises AF_INET6
INADDR_ANY_INIT addresses via getaddrinfo, but may not be able to
deliver (no IPv6 kernel kernel support)
- Released 1.2.1pre27
Diffstat (limited to 'channels.c')
-rw-r--r-- | channels.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/channels.c b/channels.c index c4f54a88f..ba4c2bef9 100644 --- a/channels.c +++ b/channels.c | |||
@@ -16,7 +16,7 @@ | |||
16 | */ | 16 | */ |
17 | 17 | ||
18 | #include "includes.h" | 18 | #include "includes.h" |
19 | RCSID("$Id: channels.c,v 1.15 2000/01/14 04:45:48 damien Exp $"); | 19 | RCSID("$Id: channels.c,v 1.16 2000/01/17 02:22:55 damien Exp $"); |
20 | 20 | ||
21 | #include "ssh.h" | 21 | #include "ssh.h" |
22 | #include "packet.h" | 22 | #include "packet.h" |
@@ -1187,8 +1187,13 @@ x11_create_display_inet(int screen_number, int x11_display_offset) | |||
1187 | continue; | 1187 | continue; |
1188 | sock = socket(ai->ai_family, SOCK_STREAM, 0); | 1188 | sock = socket(ai->ai_family, SOCK_STREAM, 0); |
1189 | if (sock < 0) { | 1189 | if (sock < 0) { |
1190 | error("socket: %.100s", strerror(errno)); | 1190 | if (errno != EINVAL) { |
1191 | return NULL; | 1191 | error("socket: %.100s", strerror(errno)); |
1192 | return NULL; | ||
1193 | } else { | ||
1194 | debug("Socket family %d not supported [X11 disp create]", ai->ai_family); | ||
1195 | continue; | ||
1196 | } | ||
1192 | } | 1197 | } |
1193 | if (bind(sock, ai->ai_addr, ai->ai_addrlen) < 0) { | 1198 | if (bind(sock, ai->ai_addr, ai->ai_addrlen) < 0) { |
1194 | debug("bind port %d: %.100s", port, strerror(errno)); | 1199 | debug("bind port %d: %.100s", port, strerror(errno)); |