void ConnectivityManager::setup(bool v4SettingsChanged, bool v6SettingsChanged) { bool autoDetect4 = SETTING(AUTO_DETECT_CONNECTION) && SETTING(INCOMING_CONNECTIONS) != SettingsManager::INCOMING_DISABLED; bool autoDetect6 = SETTING(AUTO_DETECT_CONNECTION6) && SETTING(INCOMING_CONNECTIONS6) != SettingsManager::INCOMING_DISABLED; /*{ if((!autoDetect4 && autoDetectedV4) || (!autoDetect6 && autoDetectedV6) || v4SettingsChanged || v6SettingsChanged) { if(v4SettingsChanged || (SETTING(INCOMING_CONNECTIONS) != SettingsManager::INCOMING_ACTIVE_UPNP)) { mapperV4.close(); } if((SETTING(INCOMING_CONNECTIONS6) != SettingsManager::INCOMING_ACTIVE_UPNP) || v6SettingsChanged) { mapperV6.close(); } startSocket(); } else if(SETTING(INCOMING_CONNECTIONS) == SettingsManager::INCOMING_ACTIVE_UPNP && !runningV4) { // previous mappings had failed; try again startMapping(); } }*/ if (v4SettingsChanged || (autoDetectedV4 && !autoDetect4)) { mapperV4.close(); autoDetectedV4 = false; } if (v6SettingsChanged || (autoDetectedV6 && !autoDetect6)) { mapperV6.close(); autoDetectedV6 = false; } if(!autoDetect6 && autoDetectedV6) clearAutoSettings(true, false); if (!autoDetect4 && autoDetectedV4) { clearAutoSettings(false, false); } bool autoDetect = false; if(autoDetect4 || autoDetect6) { if ((!autoDetectedV4 && autoDetect4) || (!autoDetectedV6 && autoDetect6) || autoSettings.empty()) { detectConnection(); autoDetect = true; } } if (!autoDetect && (v4SettingsChanged || v6SettingsChanged)) { startSocket(); } if(!autoDetect4 && SETTING(INCOMING_CONNECTIONS) == SettingsManager::INCOMING_ACTIVE_UPNP && !runningV4) // previous mappings had failed; try again startMapping(false); if(!autoDetect6 && SETTING(INCOMING_CONNECTIONS6) == SettingsManager::INCOMING_ACTIVE_UPNP && !runningV4) // previous mappings had failed; try again startMapping(true); }
void ConnectivityManager::setup(bool settingsChanged) { if(BOOLSETTING(AUTO_DETECT_CONNECTION)) { if (!autoDetected) detectConnection(); } else { if(autoDetected || settingsChanged) { if(settingsChanged || (SETTING(INCOMING_CONNECTIONS) != SettingsManager::INCOMING_FIREWALL_UPNP)) { MappingManager::getInstance()->close(); } startSocket(); } else if(SETTING(INCOMING_CONNECTIONS) == SettingsManager::INCOMING_FIREWALL_UPNP && !MappingManager::getInstance()->getOpened()) { // previous mappings had failed; try again MappingManager::getInstance()->open(); } } }
void ConnectivityManager::setup(bool settingsChanged) { if(BOOLSETTING(AUTO_DETECT_CONNECTION)) { if (!autoDetected) detectConnection(); } else { if(autoDetected || (settingsChanged && (SearchManager::getInstance()->getPort() != SETTING(UDP_PORT) || ConnectionManager::getInstance()->getPort() != SETTING(TCP_PORT) || ConnectionManager::getInstance()->getSecurePort() != SETTING(TLS_PORT) || SETTING(BIND_ADDRESS) != lastBind))) { if(settingsChanged || SETTING(INCOMING_CONNECTIONS) != SettingsManager::INCOMING_FIREWALL_UPNP) { UPnPManager::getInstance()->close(); } startSocket(); } else if(SETTING(INCOMING_CONNECTIONS) == SettingsManager::INCOMING_FIREWALL_UPNP && !UPnPManager::getInstance()->getOpened()) { // previous UPnP mappings had failed; try again UPnPManager::getInstance()->open(); } } }
void ConnectivityManager::setup_connections(bool settingsChanged) { try { if (BOOLSETTING(AUTO_DETECT_CONNECTION)) { if (!autoDetected) detectConnection(); } else { if (autoDetected || settingsChanged) { if (settingsChanged || SETTING(INCOMING_CONNECTIONS) != SettingsManager::INCOMING_FIREWALL_UPNP) { MappingManager::getInstance()->close(); } startSocket(); } else if (SETTING(INCOMING_CONNECTIONS) == SettingsManager::INCOMING_FIREWALL_UPNP && !MappingManager::getInstance()->getOpened()) { // previous mappings had failed; try again MappingManager::getInstance()->open(); } } } catch (const Exception& e) { dcassert(0); const string l_error = "ConnectivityManager::setup error = " + e.getError(); CFlyServerJSON::pushError(56, l_error); } if (settingsChanged) { if (SETTING(INCOMING_CONNECTIONS) != SettingsManager::INCOMING_FIREWALL_UPNP) { test_all_ports(); } } }