freebsd-ports/net/vino/files/patch-server_vino-http.c
Joe Marcus Clarke 40cb317053 Use IPv4-mapped IPv6 sockets so that vino-server can become bilingual.
This allows IPv6 support to be enabled by default but still listen for
v4 connections.

Submitted by:	ume
2007-03-26 04:26:49 +00:00

24 lines
761 B
C

Index: server/vino-http.c
diff -u -p server/vino-http.c.orig server/vino-http.c
--- server/vino-http.c.orig Tue Feb 27 19:47:35 2007
+++ server/vino-http.c Sun Mar 25 20:56:41 2007
@@ -595,6 +595,9 @@ vino_http_create_listening_socket (VinoH
{
#ifdef ENABLE_IPV6
struct sockaddr_in6 saddr_in6;
+#ifdef IPV6_V6ONLY
+ int off = 0;
+#endif
#endif
struct sockaddr_in saddr_in;
struct sockaddr *saddr;
@@ -621,6 +624,9 @@ vino_http_create_listening_socket (VinoH
#ifdef ENABLE_IPV6
sock = socket (AF_INET6, SOCK_STREAM, 0);
+#ifdef IPV6_V6ONLY
+ setsockopt(sock, IPPROTO_IPV6, IPV6_V6ONLY, (void *)&off, sizeof(off));
+#endif
memset (&saddr_in6, 0, sizeof (struct sockaddr_in6));
saddr_in6.sin6_family = AF_INET6;