summaryrefslogtreecommitdiff
path: root/channels.c
diff options
context:
space:
mode:
authorDamien Miller <djm@mindrot.org>2000-01-17 13:22:55 +1100
committerDamien Miller <djm@mindrot.org>2000-01-17 13:22:55 +1100
commite219273f93fe94aa188591803be5b9a71afc338a (patch)
treeff2eb0d70ee489d73b382d295ddc3b23d6d4846a /channels.c
parent95a29b13312eac762002c54fa5799567438b2f95 (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.c11
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"
19RCSID("$Id: channels.c,v 1.15 2000/01/14 04:45:48 damien Exp $"); 19RCSID("$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));