r22889 - in /desktop/unstable/vino/debian: changelog patches/01_ipv6-fix.patch

joss at users.alioth.debian.org joss at users.alioth.debian.org
Wed Jan 27 21:37:47 UTC 2010


Author: joss
Date: Wed Jan 27 21:37:46 2010
New Revision: 22889

URL: http://svn.debian.org/wsvn/pkg-gnome/?sc=1&rev=22889
Log:
* Non-maintainer upload.
* debian/patches/01_ipv6-fix.patch: New, use two listening sockets
  (one for IPv4, one for IPv6) and disable use of ipv4-mapped IPv6
  addresses. (Closes: #561440)

Added:
    desktop/unstable/vino/debian/patches/01_ipv6-fix.patch
Modified:
    desktop/unstable/vino/debian/changelog

Modified: desktop/unstable/vino/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/vino/debian/changelog?rev=22889&op=diff
==============================================================================
--- desktop/unstable/vino/debian/changelog [utf-8] (original)
+++ desktop/unstable/vino/debian/changelog [utf-8] Wed Jan 27 21:37:46 2010
@@ -5,6 +5,15 @@
       rather than using MAXHOSTNAMELEN, which is undefined on some OS'es.
 
  -- Emilio Pozuelo Monfort <pochu at debian.org>  Fri, 04 Dec 2009 13:41:46 +0100
+
+vino (2.28.1-2.1) unstable; urgency=low
+
+  * Non-maintainer upload.
+  * debian/patches/01_ipv6-fix.patch: New, use two listening sockets
+    (one for IPv4, one for IPv6) and disable use of ipv4-mapped IPv6
+    addresses. (Closes: #561440)
+
+ -- Thorsten Glaser <tg at mirbsd.de>  Sat, 23 Jan 2010 13:01:31 +0000
 
 vino (2.28.1-2) unstable; urgency=low
 

Added: desktop/unstable/vino/debian/patches/01_ipv6-fix.patch
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/vino/debian/patches/01_ipv6-fix.patch?rev=22889&op=file
==============================================================================
--- desktop/unstable/vino/debian/patches/01_ipv6-fix.patch (added)
+++ desktop/unstable/vino/debian/patches/01_ipv6-fix.patch [utf-8] Wed Jan 27 21:37:46 2010
@@ -1,0 +1,69 @@
+--- server/libvncserver/sockets.c.orig	2009-05-12 11:39:33.000000000 +0000
++++ server/libvncserver/sockets.c	2010-01-23 13:00:12.000000000 +0000
+@@ -578,6 +578,7 @@ ListenOnTCPPort(rfbScreenInfoPtr rfbScre
+   if(netIface == NULL || strlen(netIface) == 0)
+   {
+ #ifdef ENABLE_IPV6
++    int sock6  = -1;
+     struct sockaddr_in6 s6;
+ 
+     memset(&s6, 0, sizeof(s6));
+@@ -585,10 +586,10 @@ ListenOnTCPPort(rfbScreenInfoPtr rfbScre
+     s6.sin6_port   = htons(port);
+     s6.sin6_addr   = in6addr_any;
+ 
+-    sock = NewSocketListenTCP ((struct sockaddr*)&s6, sizeof(s6));
+-    rfbLog("Listening IPv{4,6}://*:%d\n", port);
++    sock6 = NewSocketListenTCP ((struct sockaddr*)&s6, sizeof(s6));
++    rfbLog("Listening IPv6://[::]:%d\n", port);
+ #endif
+-    if(sock < 0) {
++
+       struct sockaddr_in s4;
+ 
+       memset(&s4, 0, sizeof(s4));
+@@ -598,15 +599,23 @@ ListenOnTCPPort(rfbScreenInfoPtr rfbScre
+ 
+       sock = NewSocketListenTCP ((struct sockaddr*)&s4, sizeof(s4));
+       rfbLog("Listening IPv4://0.0.0.0:%d\n", port);
+-    }
+ 
++#ifdef ENABLE_IPV6            
++    if(sock6 > 0) {
++       psock[*ptot] = sock6;
++      *ptot        += 1;
++    }
++#endif
+     if(sock > 0) {
+-      psock[0] = sock;
+-     *ptot     = 1;
+-      return TRUE;
++       psock[*ptot] = sock;
++      *ptot        += 1;
+     }
+ 
+-    rfbLog("Problems in NewSocketListenTCP(), sock=%d\n", sock);
++    if (*ptot)
++      return TRUE;
++
++    /* no need to log sock/sock6, both are -1 here */
++    rfbLog("Problems in NewSocketListenTCP()\n");
+     return FALSE;
+   }
+ 
+@@ -676,6 +685,15 @@ NewSocketListenTCP(struct sockaddr *addr
+       return -1;
+     }
+ 
++#ifdef ENABLE_IPV6
++    if (addr->sa_family == AF_INET6) {
++#if defined(IPPROTO_IPV6) && defined(IPV6_V6ONLY)
++      setsockopt(sock, IPPROTO_IPV6, IPV6_V6ONLY, (char *)&one, sizeof(one));
++      /* we cannot really check for errors here */
++#endif
++    }
++#endif
++
+     if (bind(sock, addr, len) < 0) {
+       close(sock);
+       return -1;




More information about the pkg-gnome-commits mailing list