From 55c2e4f86e71ade502ce22730a44baacc21c097b Mon Sep 17 00:00:00 2001 From: Andreas Traczyk <andreas.traczyk@savoirfairelinux.com> Date: Fri, 23 Feb 2018 11:43:27 -0500 Subject: [PATCH] ios: disable upnp port re-mapping on connectivityChanged - ios invalidates udp sockets when entering the background, thus calls to connectivity changed after returning to the foreground will trigger a broken pipe signal - this patch disables port re-mapping until libupnp is patched Change-Id: I00e1bb93a83560af8f5505bed83f0aa63ab0a731 --- src/client/configurationmanager.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/client/configurationmanager.cpp b/src/client/configurationmanager.cpp index 0020ce4440..319d3e87d6 100644 --- a/src/client/configurationmanager.cpp +++ b/src/client/configurationmanager.cpp @@ -42,6 +42,10 @@ #include "client/ring_signal.h" #include "upnp/upnp_context.h" +#ifdef __APPLE__ +#include <TargetConditionals.h> +#endif + #ifdef RING_UWP #include "windirent.h" #else @@ -865,11 +869,13 @@ connectivityChanged() RING_WARN("received connectivity changed - trying to re-connect enabled accounts"); // reset the UPnP context +#if !(defined(TARGET_OS_IOS) && TARGET_OS_IOS) try { ring::upnp::getUPnPContext()->connectivityChanged(); } catch (std::runtime_error& e) { RING_ERR("UPnP context error: %s", e.what()); } +#endif for (const auto &account : ring::Manager::instance().getAllAccounts()) { account->connectivityChanged(); -- GitLab