From d10aa43d8be8d52c48f4e767724a4ac4bc684996 Mon Sep 17 00:00:00 2001 From: "vladimir.kuznetsov" Date: Fri, 26 Apr 2024 18:44:27 +0500 Subject: [PATCH] fixed appSplitTunneling for api servers --- client/vpnconnection.cpp | 34 ++++++++++++++++------------------ 1 file changed, 16 insertions(+), 18 deletions(-) diff --git a/client/vpnconnection.cpp b/client/vpnconnection.cpp index 791fb3ac..daff1187 100644 --- a/client/vpnconnection.cpp +++ b/client/vpnconnection.cpp @@ -304,32 +304,30 @@ void VpnConnection::appendSplitTunnelingConfig() m_vpnConfiguration.insert(config_key::splitTunnelType, Settings::RouteMode::VpnOnlyForwardSites); m_vpnConfiguration.insert(config_key::splitTunnelSites, allowedIpsJsonArray); - - return; } } - } + } else { + Settings::RouteMode routeMode = Settings::RouteMode::VpnAllSites; + QJsonArray sitesJsonArray; + if (m_settings->isSitesSplitTunnelingEnabled()) { + routeMode = m_settings->routeMode(); - Settings::RouteMode routeMode = Settings::RouteMode::VpnAllSites; - QJsonArray sitesJsonArray; - if (m_settings->isSitesSplitTunnelingEnabled()) { - routeMode = m_settings->routeMode(); + auto sites = m_settings->getVpnIps(routeMode); + for (const auto &site : sites) { + sitesJsonArray.append(site); + } - auto sites = m_settings->getVpnIps(routeMode); - for (const auto &site : sites) { - sitesJsonArray.append(site); + // Allow traffic to Amnezia DNS + if (routeMode == Settings::VpnOnlyForwardSites) { + sitesJsonArray.append(m_vpnConfiguration.value(config_key::dns1).toString()); + sitesJsonArray.append(m_vpnConfiguration.value(config_key::dns2).toString()); + } } - // Allow traffic to Amnezia DNS - if (routeMode == Settings::VpnOnlyForwardSites) { - sitesJsonArray.append(m_vpnConfiguration.value(config_key::dns1).toString()); - sitesJsonArray.append(m_vpnConfiguration.value(config_key::dns2).toString()); - } + m_vpnConfiguration.insert(config_key::splitTunnelType, routeMode); + m_vpnConfiguration.insert(config_key::splitTunnelSites, sitesJsonArray); } - m_vpnConfiguration.insert(config_key::splitTunnelType, routeMode); - m_vpnConfiguration.insert(config_key::splitTunnelSites, sitesJsonArray); - Settings::AppsRouteMode appsRouteMode = Settings::AppsRouteMode::VpnAllApps; QJsonArray appsJsonArray; if (m_settings->isAppsSplitTunnelingEnabled()) {