summaryrefslogtreecommitdiffhomepage
path: root/talpid-core/src
diff options
context:
space:
mode:
authorEmīls <emils@mullvad.net>2018-06-13 08:55:05 +0100
committerEmīls <emils@mullvad.net>2018-06-27 11:42:41 +0100
commit611dca083eac03c9753b29f356619cc0b11925c4 (patch)
treea0646f3f65622e739d36a206b3b592da201bbecf /talpid-core/src
parent3bb3c719ffffcf41dcfd20cedf60cc9d9cc17434 (diff)
downloadmullvadvpn-611dca083eac03c9753b29f356619cc0b11925c4.tar.xz
mullvadvpn-611dca083eac03c9753b29f356619cc0b11925c4.zip
Use route module in talpid-core/src/firewall/windows
Diffstat (limited to 'talpid-core/src')
-rw-r--r--talpid-core/src/firewall/windows/mod.rs12
1 files changed, 11 insertions, 1 deletions
diff --git a/talpid-core/src/firewall/windows/mod.rs b/talpid-core/src/firewall/windows/mod.rs
index 64fe32191f..4068cd0970 100644
--- a/talpid-core/src/firewall/windows/mod.rs
+++ b/talpid-core/src/firewall/windows/mod.rs
@@ -14,8 +14,8 @@ use self::widestring::WideCString;
#[macro_use]
mod ffi;
mod dns;
-mod system_state;
mod route;
+mod system_state;
use self::dns::WinDns;
@@ -49,6 +49,7 @@ error_chain!{
links {
WinDns(dns::Error, dns::ErrorKind) #[doc = "WinDNS failure"];
+ WinRoute(route::Error, route::ErrorKind) #[doc = "Failure to modify system routing metrics"];
}
}
@@ -158,6 +159,15 @@ impl WindowsFirewall {
};
self.dns.set_dns(&vec![tunnel_metadata.gateway.into()])?;
+
+ let metrics_set = route::ensure_top_metric_for_interface(&tunnel_metadata.interface)?;
+ if metrics_set {
+ debug!("Network interface metrics were changed");
+ } else {
+ debug!("Network interface metrics were not changed");
+ }
+
+
unsafe {
WinFw_ApplyPolicyConnected(
winfw_settings,