diff --git a/Cargo.lock b/Cargo.lock index 9689065..a75bd28 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -956,20 +956,6 @@ dependencies = [ "tracing", ] -[[package]] -name = "handlebars" -version = "3.5.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4498fc115fa7d34de968184e473529abb40eeb6be8bc5f7faba3d08c316cb3e3" -dependencies = [ - "log", - "pest", - "pest_derive", - "quick-error", - "serde", - "serde_json", -] - [[package]] name = "hashbrown" version = "0.12.3" @@ -1173,22 +1159,6 @@ dependencies = [ "yaml-rust", ] -[[package]] -name = "interfaces" -version = "0.0.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb6250a98af259a26fd5a4a6081fccea9ac116e4c3178acf4aeb86d32d2b7715" -dependencies = [ - "bitflags 2.4.2", - "cc", - "handlebars", - "lazy_static", - "libc", - "nix 0.26.4", - "serde", - "serde_derive", -] - [[package]] name = "ip_network" version = "0.4.1" @@ -1446,43 +1416,6 @@ dependencies = [ "tempfile", ] -[[package]] -name = "netlink-packet-core" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72724faf704479d67b388da142b186f916188505e7e0b26719019c525882eda4" -dependencies = [ - "anyhow", - "byteorder", - "netlink-packet-utils", -] - -[[package]] -name = "netlink-packet-route" -version = "0.19.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74c171cd77b4ee8c7708da746ce392440cb7bcf618d122ec9ecc607b12938bf4" -dependencies = [ - "anyhow", - "byteorder", - "libc", - "log", - "netlink-packet-core", - "netlink-packet-utils", -] - -[[package]] -name = "netlink-packet-utils" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ede8a08c71ad5a95cdd0e4e52facd37190977039a4704eb82a283f713747d34" -dependencies = [ - "anyhow", - "byteorder", - "paste", - "thiserror", -] - [[package]] name = "nix" version = "0.26.4" @@ -1658,12 +1591,6 @@ dependencies = [ "subtle", ] -[[package]] -name = "paste" -version = "1.0.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c" - [[package]] name = "pbkdf2" version = "0.11.0" @@ -1688,51 +1615,6 @@ version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" -[[package]] -name = "pest" -version = "2.7.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56f8023d0fb78c8e03784ea1c7f3fa36e68a723138990b8d5a47d916b651e7a8" -dependencies = [ - "memchr", - "thiserror", - "ucd-trie", -] - -[[package]] -name = "pest_derive" -version = "2.7.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0d24f72393fd16ab6ac5738bc33cdb6a9aa73f8b902e8fe29cf4e67d7dd1026" -dependencies = [ - "pest", - "pest_generator", -] - -[[package]] -name = "pest_generator" -version = "2.7.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdc17e2a6c7d0a492f0158d7a4bd66cc17280308bbaff78d5bef566dca35ab80" -dependencies = [ - "pest", - "pest_meta", - "proc-macro2", - "quote", - "syn 2.0.48", -] - -[[package]] -name = "pest_meta" -version = "2.7.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "934cd7631c050f4674352a6e835d5f6711ffbfb9345c2fc0107155ac495ae293" -dependencies = [ - "once_cell", - "pest", - "sha2", -] - [[package]] name = "pin-project" version = "1.1.4" @@ -1851,12 +1733,6 @@ dependencies = [ "prost", ] -[[package]] -name = "quick-error" -version = "2.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a993555f31e5a609f617c12db6250dedcac1b0a85076912c436e6fc9b2c8e6a3" - [[package]] name = "quote" version = "1.0.35" @@ -2653,13 +2529,10 @@ dependencies = [ "byteorder", "fehler", "futures", - "interfaces", "lazy_static", "libc", "libloading 0.7.4", "log", - "netlink-packet-core", - "netlink-packet-route", "nix 0.26.4", "reqwest", "schemars", @@ -2680,12 +2553,6 @@ version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" -[[package]] -name = "ucd-trie" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed646292ffc8188ef8ea4d1e0e0150fb15a5c2e12ad9b8fc191ae7a8a7f3c4b9" - [[package]] name = "unicode-bidi" version = "0.3.15" diff --git a/burrow/src/daemon/instance.rs b/burrow/src/daemon/instance.rs index bb871c6..0d3e726 100644 --- a/burrow/src/daemon/instance.rs +++ b/burrow/src/daemon/instance.rs @@ -51,8 +51,6 @@ impl DaemonInstance { } RunState::Idle => { let tun_if = st.tun.open()?; - tun_if.set_up(true)?; - debug!("Setting tun on wg_interface"); self.wg_interface.read().await.set_tun(tun_if).await; debug!("tun set on wg_interface"); @@ -61,6 +59,7 @@ impl DaemonInstance { self.tun_interface = self.wg_interface.read().await.get_tun(); debug!("tun_interface set: {:?}", self.tun_interface); + debug!("Cloning wg_interface"); let tmp_wg = self.wg_interface.clone(); debug!("wg_interface cloned"); diff --git a/tun/Cargo.toml b/tun/Cargo.toml index 8efd710..7413f65 100644 --- a/tun/Cargo.toml +++ b/tun/Cargo.toml @@ -16,9 +16,6 @@ serde = { version = "1", features = ["derive"], optional = true } schemars = { version = "0.8", optional = true } futures = { version = "0.3.28", optional = true } -netlink-packet-route = "0.19.0" -netlink-packet-core = "0.7.0" - [features] serde = ["dep:serde", "dep:schemars"] @@ -27,9 +24,6 @@ tokio = ["tokio/net", "dep:futures"] [target.'cfg(feature = "tokio")'.dev-dependencies] tokio = { features = ["rt", "macros"] } -[target.'cfg(target_os = "linux")'.dependencies] -interfaces = "0.0.9" - [target.'cfg(windows)'.dependencies] lazy_static = "1.4" libloading = "0.7" diff --git a/tun/src/tokio/mod.rs b/tun/src/tokio/mod.rs index 30badda..bd27109 100644 --- a/tun/src/tokio/mod.rs +++ b/tun/src/tokio/mod.rs @@ -1,6 +1,6 @@ use std::io; -use tokio::io::unix::{AsyncFd, TryIoError}; +use tokio::io::unix::AsyncFd; use tracing::instrument; #[derive(Debug)] @@ -15,11 +15,6 @@ impl TunInterface { Ok(Self { inner: AsyncFd::new(tun)? }) } - #[instrument] - pub fn set_up(&self, up: bool) -> io::Result<()> { - self.inner.get_ref().set_up(up) - } - #[instrument] pub async fn send(&self, buf: &[u8]) -> io::Result { loop { diff --git a/tun/src/unix/apple/mod.rs b/tun/src/unix/apple/mod.rs index 82e3f71..6e859ca 100644 --- a/tun/src/unix/apple/mod.rs +++ b/tun/src/unix/apple/mod.rs @@ -247,10 +247,4 @@ impl TunInterface { .try_into() .map_err(|_| Error::new(ErrorKind::Other, "Conversion error"))? } - - #[throws] - #[instrument] - pub fn set_up(&self, up: bool) { - tracing::warn!("Setting tun up is not supported yet on apple."); - } } diff --git a/tun/src/unix/linux/mod.rs b/tun/src/unix/linux/mod.rs index cf042da..60d6341 100644 --- a/tun/src/unix/linux/mod.rs +++ b/tun/src/unix/linux/mod.rs @@ -95,24 +95,6 @@ impl TunInterface { unsafe { iff.ifr_ifru.ifru_ifindex } } - #[throws] - #[instrument] - pub fn set_up(&self, up: bool) { - let mut inter = interfaces::Interface::get_by_name(&self.name()?) - .unwrap() - .unwrap(); - inter.set_up(up).unwrap(); - } - - #[throws] - #[instrument] - pub fn is_up(&self) -> bool { - let inter = interfaces::Interface::get_by_name(&self.name()?) - .unwrap() - .unwrap(); - inter.is_up() - } - #[throws] #[instrument] pub fn set_ipv4_addr(&self, addr: Ipv4Addr) { diff --git a/tun/tests/configure.rs b/tun/tests/configure.rs index 8b466c3..e7e2c6d 100644 --- a/tun/tests/configure.rs +++ b/tun/tests/configure.rs @@ -24,21 +24,6 @@ fn test_set_get_broadcast_addr() { assert_eq!(broadcast_addr, result); } -#[test] -#[throws] -#[cfg(not(any(target_os = "windows", target_vendor = "apple")))] -fn test_set_get_up() { - let tun = TunInterface::new()?; - let addr = Ipv4Addr::new(10, 0, 0, 1); - tun.set_ipv4_addr(addr)?; - - let broadcast_addr = Ipv4Addr::new(255, 255, 255, 0); - tun.set_broadcast_addr(broadcast_addr)?; - tun.set_up(true)?; - - assert!(tun.is_up()?); -} - #[test] #[throws] #[cfg(not(target_os = "windows"))]