From 3b3c587645fcbd8b0ff98c2be5658b0c0025cd4f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20G=C3=B6ransson?= Date: Thu, 23 Jan 2025 17:38:43 +0100 Subject: [PATCH] Ensure tunnel is running after updating wireguard config --- talpid-wireguard/src/wireguard_go/mod.rs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/talpid-wireguard/src/wireguard_go/mod.rs b/talpid-wireguard/src/wireguard_go/mod.rs index 418462e7d1c9..2bfd8ef9877d 100644 --- a/talpid-wireguard/src/wireguard_go/mod.rs +++ b/talpid-wireguard/src/wireguard_go/mod.rs @@ -137,11 +137,16 @@ impl WgGoTunnel { } WgGoTunnel::Singlehop(mut state) => { state.set_config(config.clone())?; - Ok(WgGoTunnel::Singlehop(state)) + // HACK: Check if the tunnel is working by sending a ping in the tunnel. + let new_state = WgGoTunnel::Singlehop(state); + new_state.ensure_tunnel_is_running().await?; + Ok(new_state) } WgGoTunnel::Multihop(mut state) => { state.set_config(config.clone())?; - Ok(WgGoTunnel::Multihop(state)) + let new_state = WgGoTunnel::Multihop(state); + new_state.ensure_tunnel_is_running().await?; + Ok(new_state) } } }