diff options
| author | David Göransson <david.goransson@mullvad.net> | 2025-01-23 17:38:43 +0100 |
|---|---|---|
| committer | David Göransson <david.goransson@mullvad.net> | 2025-01-24 13:01:13 +0100 |
| commit | 3b3c587645fcbd8b0ff98c2be5658b0c0025cd4f (patch) | |
| tree | b253343695f2a1fa01a9c1865ad43029f0732130 | |
| parent | a1571dfba74d2302571a014020dc0048100832eb (diff) | |
| download | mullvadvpn-3b3c587645fcbd8b0ff98c2be5658b0c0025cd4f.tar.xz mullvadvpn-3b3c587645fcbd8b0ff98c2be5658b0c0025cd4f.zip | |
Ensure tunnel is running after updating wireguard config
| -rw-r--r-- | talpid-wireguard/src/wireguard_go/mod.rs | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/talpid-wireguard/src/wireguard_go/mod.rs b/talpid-wireguard/src/wireguard_go/mod.rs index 418462e7d1..2bfd8ef987 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) } } } |
