feature/mozilla upstream (#1237)
* cherry-pick 4dfcad96506fb5b88c5bb27342b6d9413fc361c9 from mozilla upstream * cherry-pick a95fa8c088b9edaff2de18751336942c2d145a9a from mozilla * cherry-pick commit 4fc1ebbad86a9abcafdc761725a7afd811c8d2d3 from mozilla * cherry-pick 4dfcad96506fb5b88c5bb27342b6d9413fc361c9 from mozilla upstream * cherry-pick 22de4fcbd454c64ff496c3380eeaeeb6afff4d64 from mozilla upstream * cherry-pick 649673be561b66c96367adf379da1545f8838763 from mozilla upstream * cherry-pick 41bdad34517d0ddaef32139482e5505d92e4b533 from mozilla upstream * cherry-pick f6e49a85538eaa230d3a8634fa7600966132ccab from mozilla upstream * cherry-pick 86c585387efa0a09c7937dfe799a90a666404fcd from mozilla upstream * cherry-pick a18c1fac740469ca3566751b74a16227518630c4 from mozilla upstream * fixed missing ; * added excludeLocalNetworks() for linux * build fixes on windows after cherry-picks * Add rules for excluded sites splittunell mode * Fix app splittunell when ipv6 is not setup * Fix Linux build --------- Co-authored-by: Mykola Baibuz <mykola.baibuz@gmail.com>
This commit is contained in:
parent
f1c6067485
commit
8ca31e0c90
27 changed files with 1119 additions and 607 deletions
|
|
@ -9,16 +9,21 @@
|
|||
|
||||
#include <QHostAddress>
|
||||
#include <QObject>
|
||||
#include <QPointer>
|
||||
|
||||
#include "daemon/wireguardutils.h"
|
||||
#include "windowsroutemonitor.h"
|
||||
#include "windowstunnelservice.h"
|
||||
|
||||
class WindowsFirewall;
|
||||
class WindowsRouteMonitor;
|
||||
|
||||
class WireguardUtilsWindows final : public WireguardUtils {
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
WireguardUtilsWindows(QObject* parent);
|
||||
static std::unique_ptr<WireguardUtilsWindows> create(WindowsFirewall* fw,
|
||||
QObject* parent);
|
||||
~WireguardUtilsWindows();
|
||||
|
||||
bool interfaceExists() override { return m_tunnel.isRunning(); }
|
||||
|
|
@ -39,15 +44,19 @@ class WireguardUtilsWindows final : public WireguardUtils {
|
|||
bool addExclusionRoute(const IPAddress& prefix) override;
|
||||
bool deleteExclusionRoute(const IPAddress& prefix) override;
|
||||
|
||||
bool WireguardUtilsWindows::excludeLocalNetworks(const QList<IPAddress>& addresses) override;
|
||||
|
||||
signals:
|
||||
void backendFailure();
|
||||
|
||||
private:
|
||||
WireguardUtilsWindows(QObject* parent, WindowsFirewall* fw);
|
||||
void buildMibForwardRow(const IPAddress& prefix, void* row);
|
||||
|
||||
quint64 m_luid = 0;
|
||||
WindowsTunnelService m_tunnel;
|
||||
WindowsRouteMonitor m_routeMonitor;
|
||||
QPointer<WindowsRouteMonitor> m_routeMonitor;
|
||||
QPointer<WindowsFirewall> m_firewall;
|
||||
};
|
||||
|
||||
#endif // WIREGUARDUTILSWINDOWS_H
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue