summaryrefslogtreecommitdiffhomepage
path: root/talpid-core
diff options
context:
space:
mode:
authorDavid Lönnhager <david.l@mullvad.net>2020-02-28 11:01:58 +0100
committerDavid Lönnhager <david.l@mullvad.net>2020-06-02 10:05:01 +0200
commitaca87ec63a5fc2b254ff26400cbd0e959cfc832d (patch)
tree4105c95b7c41dd86477d88cfae52a85ee1f1b6d1 /talpid-core
parentd20979f07e671c50700304ffdabf7854788e85d6 (diff)
downloadmullvadvpn-aca87ec63a5fc2b254ff26400cbd0e959cfc832d.tar.xz
mullvadvpn-aca87ec63a5fc2b254ff26400cbd0e959cfc832d.zip
Initialize cgroup
Diffstat (limited to 'talpid-core')
-rw-r--r--talpid-core/src/tunnel_state_machine/mod.rs9
1 files changed, 9 insertions, 0 deletions
diff --git a/talpid-core/src/tunnel_state_machine/mod.rs b/talpid-core/src/tunnel_state_machine/mod.rs
index 2ffce2bec9..3e75206e33 100644
--- a/talpid-core/src/tunnel_state_machine/mod.rs
+++ b/talpid-core/src/tunnel_state_machine/mod.rs
@@ -20,6 +20,7 @@ use crate::{
mpsc::Sender,
offline,
routing::RouteManager,
+ split,
tunnel::tun_provider::TunProvider,
};
@@ -50,6 +51,10 @@ pub enum Error {
#[error(display = "Unable to spawn offline state monitor")]
OfflineMonitorError(#[error(source)] crate::offline::Error),
+ /// Unable to set up split tunneling
+ #[error(display = "Failed to initialize split tunneling")]
+ InitSplitTunneling(#[error(source)] crate::split::Error),
+
/// Failed to initialize the system firewall integration.
#[error(display = "Failed to initialize the system firewall integration")]
InitFirewallError(#[error(source)] crate::firewall::Error),
@@ -235,6 +240,10 @@ impl TunnelStateMachine {
allow_lan: None,
}
};
+
+ #[cfg(unix)]
+ split::create_cgroup().map_err(Error::InitSplitTunneling)?;
+
let firewall = Firewall::new(args).map_err(Error::InitFirewallError)?;
let dns_monitor = DnsMonitor::new(cache_dir).map_err(Error::InitDnsMonitorError)?;
let route_manager =