diff options
| author | David Lönnhager <david.l@mullvad.net> | 2020-06-04 14:50:33 +0200 |
|---|---|---|
| committer | David Lönnhager <david.l@mullvad.net> | 2020-06-04 14:50:33 +0200 |
| commit | 2d624ed34da8eedd9e967e6d3c3d095981ad49db (patch) | |
| tree | 214e7103b4d2250e4f8d66b65679a09df20d4f56 | |
| parent | 76a75a268abb1ac8daeffd39087c96cc6fe688c0 (diff) | |
| parent | 48707812900cd46054a307225784f855fcc4b228 (diff) | |
| download | mullvadvpn-2d624ed34da8eedd9e967e6d3c3d095981ad49db.tar.xz mullvadvpn-2d624ed34da8eedd9e967e6d3c3d095981ad49db.zip | |
Merge branch 'split-tunnel-update-mods'
| -rw-r--r-- | mullvad-cli/src/cmds/split_tunnel/linux.rs (renamed from mullvad-cli/src/cmds/split_tunnel.rs) | 0 | ||||
| -rw-r--r-- | mullvad-cli/src/cmds/split_tunnel/mod.rs | 6 | ||||
| -rw-r--r-- | talpid-core/src/split_tunnel/linux.rs (renamed from talpid-core/src/split_tunnel.rs) | 9 | ||||
| -rw-r--r-- | talpid-core/src/split_tunnel/mod.rs | 6 |
4 files changed, 15 insertions, 6 deletions
diff --git a/mullvad-cli/src/cmds/split_tunnel.rs b/mullvad-cli/src/cmds/split_tunnel/linux.rs index 95b172eb6b..95b172eb6b 100644 --- a/mullvad-cli/src/cmds/split_tunnel.rs +++ b/mullvad-cli/src/cmds/split_tunnel/linux.rs diff --git a/mullvad-cli/src/cmds/split_tunnel/mod.rs b/mullvad-cli/src/cmds/split_tunnel/mod.rs new file mode 100644 index 0000000000..c7c366d6ea --- /dev/null +++ b/mullvad-cli/src/cmds/split_tunnel/mod.rs @@ -0,0 +1,6 @@ +#[cfg(target_os = "linux")] +#[path = "linux.rs"] +mod imp; + +#[cfg(target_os = "linux")] +pub use imp::*; diff --git a/talpid-core/src/split_tunnel.rs b/talpid-core/src/split_tunnel/linux.rs index d9054ad4d8..6359e05669 100644 --- a/talpid-core/src/split_tunnel.rs +++ b/talpid-core/src/split_tunnel/linux.rs @@ -1,4 +1,3 @@ -#![cfg(target_os = "linux")] use std::{ fs, io::{self, BufRead, BufReader, BufWriter, Write}, @@ -45,13 +44,13 @@ pub enum Error { } /// Manages PIDs to exclude from the tunnel. -pub struct PidManager; +pub struct PidManager(()); impl PidManager { /// Create object to manage split-tunnel PIDs. pub fn new() -> Result<PidManager, Error> { Self::create_cgroup()?; - Ok(PidManager {}) + Ok(PidManager(())) } /// Set up cgroup used to track PIDs for split tunneling. @@ -88,7 +87,7 @@ impl PidManager { } /// Add PIDs to exclude from the tunnel. - pub fn add_list(&self, pids: &[i32]) -> Result<(), Error> { + pub fn add_list<T: Into<i32> + ToString>(&self, pids: &[T]) -> Result<(), Error> { let exclusions_path = Path::new(NETCLS_DIR) .join(SPLIT_TUNNEL_CGROUP_NAME) .join("cgroup.procs"); @@ -128,8 +127,6 @@ impl PidManager { /// Return a list of PIDs that are excluded from the tunnel. pub fn list(&self) -> Result<Vec<i32>, Error> { - // TODO: manage child PIDs somehow? - let exclusions_path = Path::new(NETCLS_DIR) .join(SPLIT_TUNNEL_CGROUP_NAME) .join("cgroup.procs"); diff --git a/talpid-core/src/split_tunnel/mod.rs b/talpid-core/src/split_tunnel/mod.rs new file mode 100644 index 0000000000..c7c366d6ea --- /dev/null +++ b/talpid-core/src/split_tunnel/mod.rs @@ -0,0 +1,6 @@ +#[cfg(target_os = "linux")] +#[path = "linux.rs"] +mod imp; + +#[cfg(target_os = "linux")] +pub use imp::*; |
