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