From 251f2aa5db1bf91e6fb499d365deeed3fcbaf4b5 Mon Sep 17 00:00:00 2001 From: Mykola Baibuz Date: Tue, 19 Aug 2025 21:58:39 -0700 Subject: [PATCH] fix: remove double disconnect for Win IPSec (#1800) --- client/protocols/ikev2_vpn_protocol_windows.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/client/protocols/ikev2_vpn_protocol_windows.cpp b/client/protocols/ikev2_vpn_protocol_windows.cpp index b4110f03..97071f10 100644 --- a/client/protocols/ikev2_vpn_protocol_windows.cpp +++ b/client/protocols/ikev2_vpn_protocol_windows.cpp @@ -30,7 +30,6 @@ Ikev2Protocol::Ikev2Protocol(const QJsonObject &configuration, QObject* parent) Ikev2Protocol::~Ikev2Protocol() { qDebug() << "IpsecProtocol::~IpsecProtocol()"; - disconnect_vpn(); Ikev2Protocol::stop(); } @@ -38,7 +37,7 @@ void Ikev2Protocol::stop() { setConnectionState(Vpn::ConnectionState::Disconnecting); { - if (! disconnect_vpn() ){ + if (!disconnect_vpn()){ qDebug()<<"We don't disconnect"; setConnectionState(Vpn::ConnectionState::Error); } @@ -311,7 +310,9 @@ bool Ikev2Protocol::connect_to_vpn(const QString & vpn_name){ //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ bool Ikev2Protocol::disconnect_vpn(){ if ( hRasConn != nullptr ){ - if ( RasHangUp(hRasConn) != ERROR_SUCCESS) + auto ret = RasHangUp(hRasConn); + qDebug() << "RasHangUp " << ret; + if (ret != ERROR_SUCCESS) return false; } QThread::msleep(3000);