mirror of
https://github.com/amnezia-vpn/amnezia-client.git
synced 2026-06-20 02:00:55 +07:00
feat: killswitch/routing teardown only on explicit protocol stop
This commit is contained in:
@@ -72,10 +72,6 @@ void VpnConnection::onConnectionStateChanged(Vpn::ConnectionState state)
|
|||||||
case Vpn::ConnectionState::Connected: {
|
case Vpn::ConnectionState::Connected: {
|
||||||
m_trafficGuard->setupRoutes(m_vpnConfiguration, m_vpnProtocol, remoteAddress());
|
m_trafficGuard->setupRoutes(m_vpnConfiguration, m_vpnProtocol, remoteAddress());
|
||||||
} break;
|
} break;
|
||||||
case Vpn::ConnectionState::Disconnected:
|
|
||||||
case Vpn::ConnectionState::Error: {
|
|
||||||
m_trafficGuard->teardown();
|
|
||||||
} break;
|
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -161,6 +157,7 @@ void VpnConnection::connectToVpn(const QString &serverId, DockerContainer contai
|
|||||||
#ifdef AMNEZIA_DESKTOP
|
#ifdef AMNEZIA_DESKTOP
|
||||||
if (m_vpnProtocol) {
|
if (m_vpnProtocol) {
|
||||||
disconnect(m_vpnProtocol.data(), &VpnProtocol::protocolError, this, &VpnConnection::vpnProtocolError);
|
disconnect(m_vpnProtocol.data(), &VpnProtocol::protocolError, this, &VpnConnection::vpnProtocolError);
|
||||||
|
m_trafficGuard->teardown();
|
||||||
m_vpnProtocol->stop();
|
m_vpnProtocol->stop();
|
||||||
m_vpnProtocol.reset();
|
m_vpnProtocol.reset();
|
||||||
}
|
}
|
||||||
@@ -417,7 +414,9 @@ void VpnConnection::disconnectFromVpn()
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef AMNEZIA_DESKTOP
|
||||||
|
m_trafficGuard->teardown();
|
||||||
|
#endif
|
||||||
m_vpnProtocol->stop();
|
m_vpnProtocol->stop();
|
||||||
|
|
||||||
#if !defined(Q_OS_ANDROID) && !defined(AMNEZIA_DESKTOP)
|
#if !defined(Q_OS_ANDROID) && !defined(AMNEZIA_DESKTOP)
|
||||||
|
|||||||
Reference in New Issue
Block a user