From aa119d781b4d2238a2e59d0fd6b1163710544d65 Mon Sep 17 00:00:00 2001
From: Stepan Salenikovich <stepan.salenikovich@savoirfairelinux.com>
Date: Fri, 4 Mar 2016 14:21:32 -0500
Subject: [PATCH] upnp: do not use IPv6

IPv6 is enabled in libupnp which ships with ubuntu 16.04, but the
ipv6 init fails.

Change-Id: I94a652b4b6270a4b50e237e103445df9c23f3abe
Tuleap: #442
---
 src/upnp/upnp_context.cpp | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/src/upnp/upnp_context.cpp b/src/upnp/upnp_context.cpp
index 2262a0ccb1..04ec7d4763 100644
--- a/src/upnp/upnp_context.cpp
+++ b/src/upnp/upnp_context.cpp
@@ -120,14 +120,16 @@ UPnPContext::UPnPContext()
      *       by selecting the IP
      */
 
-#ifdef UPNP_ENABLE_IPV6
-    /* TODO: test if ipv6 support works properly, eg: what if router doesn't support ipv6? */
-    RING_DBG("UPnP: using IPv6");
-    upnp_err = UpnpInit2(0, 0);
-#else
+ #ifdef UPNP_ENABLE_IPV6
+     RING_DBG("UPnP: IPv6 support enabled, but we will use IPv4");
+     /* IPv6 version seems to fail on some systems with:
+      * UPNP_E_SOCKET_BIND: An error occurred binding a socket. */
+     /* TODO: figure out why ipv6 version doesn't work  */
+     // upnp_err = UpnpInit2(0, 0);
+ #endif
     RING_DBG("UPnP: using IPv4");
     upnp_err = UpnpInit(0, 0);
-#endif
+
     if ( upnp_err != UPNP_E_SUCCESS ) {
         UpnpFinish();
         throw std::runtime_error(UpnpGetErrorMessage(upnp_err));
-- 
GitLab