summaryrefslogtreecommitdiffstats
path: root/net/vino/files/patch-server_libvncserver_sockets.c
blob: 9014b85a285aa61e3bec88e792cbd44bbe0ca515 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
--- server/libvncserver/sockets.c.orig  2009-02-13 08:11:38.000000000 -0500
+++ server/libvncserver/sockets.c   2009-02-27 20:24:02.000000000 -0500
@@ -580,6 +580,7 @@ ListenOnTCPPort(rfbScreenInfoPtr rfbScre
   {
 #ifdef ENABLE_IPV6
     struct sockaddr_in6 s6;
+    int off = 0;
 
     memset(&s6, 0, sizeof(s6));
     s6.sin6_family = AF_INET6;
@@ -587,6 +588,9 @@ ListenOnTCPPort(rfbScreenInfoPtr rfbScre
     s6.sin6_addr   = in6addr_any;
 
     sock = NewSocketListenTCP ((struct sockaddr*)&s6, sizeof(s6));
+#ifdef IPV6_V6ONLY
+    setsockopt(sock, IPPROTO_IPV6, IPV6_V6ONLY, (void *)&off, sizeof(off));
+#endif
     rfbLog("Listening IPv{4,6}://*:%d\n", port);
 #endif
     if(sock < 0) {