summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorDavid Lönnhager <david.l@mullvad.net>2025-08-05 12:16:33 +0200
committerDavid Lönnhager <david.l@mullvad.net>2025-08-05 14:15:32 +0200
commit232f7eee33f1b2def4c534497a68034acb6361c1 (patch)
tree38a68d58925df532a7b048b7e8625c98bc28b9ee
parentd71abf715b573e09451fb2ed0de3020a6cff44d6 (diff)
downloadmullvadvpn-232f7eee33f1b2def4c534497a68034acb6361c1.tar.xz
mullvadvpn-232f7eee33f1b2def4c534497a68034acb6361c1.zip
Fix Android boringtun build
-rw-r--r--Cargo.lock2
-rw-r--r--talpid-wireguard/Cargo.toml2
-rw-r--r--talpid-wireguard/src/boringtun/mod.rs14
3 files changed, 10 insertions, 8 deletions
diff --git a/Cargo.lock b/Cargo.lock
index d9d9a990bb..1de4ace145 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -455,7 +455,7 @@ dependencies = [
[[package]]
name = "boringtun"
version = "0.6.0"
-source = "git+https://github.com/mullvad/boringtun?rev=58fda6d4040d59e32034cb214906ccde51a21e5a#58fda6d4040d59e32034cb214906ccde51a21e5a"
+source = "git+https://github.com/mullvad/boringtun?rev=82166463940bb76ac9917ded1fdf663ed6ece40e#82166463940bb76ac9917ded1fdf663ed6ece40e"
dependencies = [
"aead",
"async-trait",
diff --git a/talpid-wireguard/Cargo.toml b/talpid-wireguard/Cargo.toml
index 9ad5c4e0b7..1122494716 100644
--- a/talpid-wireguard/Cargo.toml
+++ b/talpid-wireguard/Cargo.toml
@@ -46,7 +46,7 @@ tokio-stream = { version = "0.1", features = ["io-util"] }
optional = true
features = ["device", "tun"]
git = "https://github.com/mullvad/boringtun"
-rev = "58fda6d4040d59e32034cb214906ccde51a21e5a"
+rev = "82166463940bb76ac9917ded1fdf663ed6ece40e"
[target.'cfg(unix)'.dependencies]
nix = { workspace = true, features = ["fs"] }
diff --git a/talpid-wireguard/src/boringtun/mod.rs b/talpid-wireguard/src/boringtun/mod.rs
index 89b0272956..c8fab5d64a 100644
--- a/talpid-wireguard/src/boringtun/mod.rs
+++ b/talpid-wireguard/src/boringtun/mod.rs
@@ -78,18 +78,20 @@ struct AndroidUdpSocketFactory {
#[cfg(target_os = "android")]
impl UdpTransportFactory for AndroidUdpSocketFactory {
- type Transport = <UdpSocketFactory as UdpTransportFactory>::Transport;
+ type Send = <UdpSocketFactory as UdpTransportFactory>::Send;
+ type Recv = <UdpSocketFactory as UdpTransportFactory>::Recv;
async fn bind(
&mut self,
params: &boringtun::udp::UdpTransportFactoryParams,
- ) -> std::io::Result<(Arc<Self::Transport>, Arc<Self::Transport>)> {
- let (udp_v4, udp_v6) = UdpSocketFactory.bind(params).await?;
+ ) -> std::io::Result<((Self::Send, Self::Recv), (Self::Send, Self::Recv))> {
+ let ((udp_v4_tx, udp_v4_rx), (udp_v6_tx, udp_v6_rx)) =
+ UdpSocketFactory.bind(params).await?;
- self.tun.bypass(&udp_v4).unwrap();
- self.tun.bypass(&udp_v6).unwrap();
+ self.tun.bypass(&udp_v4_tx).unwrap();
+ self.tun.bypass(&udp_v6_tx).unwrap();
- Ok((udp_v4, udp_v6))
+ Ok(((udp_v4_tx, udp_v4_rx), (udp_v6_tx, udp_v6_rx)))
}
}