diff --git a/stream/ch/chain/net/srv/vpn/DapStreamChChainNetSrvVpn.cpp b/stream/ch/chain/net/srv/vpn/DapStreamChChainNetSrvVpn.cpp index 3362f4b248edb1d846ce3cfe53e1e7554954bca4..0933c160937347d9614ef28ff67f86612c0c8f05 100644 --- a/stream/ch/chain/net/srv/vpn/DapStreamChChainNetSrvVpn.cpp +++ b/stream/ch/chain/net/srv/vpn/DapStreamChChainNetSrvVpn.cpp @@ -410,7 +410,13 @@ void ChChainNetSrvVpn::onPktIn(DapChannelPacket* pkt) delete pkt; } - +void ChChainNetSrvVpn::saveCurrentServer(const DapServerInfoList &nodelist) +{ + for(auto server : nodelist) { + if (server.address == upstreamAddress() && server.name != "Auto") + m_currentServer = server; + } +} diff --git a/stream/ch/chain/net/srv/vpn/DapStreamChChainNetSrvVpn.h b/stream/ch/chain/net/srv/vpn/DapStreamChChainNetSrvVpn.h index 9802fa59edffff91d826a49c3f903116c01a8366..34a54eef64a60633bfe7f6eca6ba9d4d627183ef 100644 --- a/stream/ch/chain/net/srv/vpn/DapStreamChChainNetSrvVpn.h +++ b/stream/ch/chain/net/srv/vpn/DapStreamChChainNetSrvVpn.h @@ -89,6 +89,9 @@ namespace Dap { // METHODS QString m_addr, m_gw; QTcpServer *m_fdListener; + + DapServerInfo m_currentServer; + private slots: void onFwServerConnected(); void onFwClientReadyRead(); @@ -115,6 +118,7 @@ namespace Dap { } QString upstreamAddress(){return tun->upstreamAddress();} + DapServerInfo currentServer(){return m_currentServer;} void tunCreate (const QString& a_addr, const QString& a_gw); void workerStart(int a_tunSocket); @@ -145,6 +149,8 @@ namespace Dap { void tunCreate(); // create with all predefined before values void tunDestroy(); void tunStandby(); + + void saveCurrentServer(const DapServerInfoList &nodelist); }; }