diff options
| author | David Lönnhager <david.l@mullvad.net> | 2022-09-07 10:36:50 +0200 |
|---|---|---|
| committer | David Lönnhager <david.l@mullvad.net> | 2022-09-07 10:36:50 +0200 |
| commit | dca39b225e54eecc2309bff371e7f6c5262f5203 (patch) | |
| tree | ed63a256bb1662449979ab59a215af188777c8ad | |
| parent | 4088d19862c120b5c2ed47834016eb54d92ddcf4 (diff) | |
| parent | 8cb8bbbb876be2db648eefe51f61b16522552021 (diff) | |
| download | mullvadvpn-dca39b225e54eecc2309bff371e7f6c5262f5203.tar.xz mullvadvpn-dca39b225e54eecc2309bff371e7f6c5262f5203.zip | |
Merge branch 'fix-dev-check-reset'
| -rw-r--r-- | CHANGELOG.md | 1 | ||||
| -rw-r--r-- | mullvad-daemon/src/device/mod.rs | 6 |
2 files changed, 5 insertions, 2 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index b7e15ad4f9..d3da5365c8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -65,6 +65,7 @@ Line wrap the file at 100 chars. Th - Fix error handling during device removal in the desktop app. - Enable interface settings when app is logged out - Fix 'mullvad status -v' to include the port of the endpoint when connecting over TCP. +- Check whether the device is valid when reconnecting from the error state. #### Windows - Only use the most recent list of apps to split when resuming from hibernation/sleep if applying diff --git a/mullvad-daemon/src/device/mod.rs b/mullvad-daemon/src/device/mod.rs index aa301ca85d..886680fd39 100644 --- a/mullvad-daemon/src/device/mod.rs +++ b/mullvad-daemon/src/device/mod.rs @@ -980,7 +980,7 @@ impl TunnelStateChangeHandler { if endpoint.tunnel_type != TunnelType::Wireguard { return; } - self.wg_retry_attempt += 1; + self.wg_retry_attempt = self.wg_retry_attempt.wrapping_add(1); if self.wg_retry_attempt % WG_DEVICE_CHECK_THRESHOLD == 0 { let handle = self.manager.clone(); let check_validity = self.check_validity.clone(); @@ -1000,7 +1000,9 @@ impl TunnelStateChangeHandler { }); } } - TunnelStateTransition::Connected(_) | TunnelStateTransition::Disconnected => { + TunnelStateTransition::Error(_) + | TunnelStateTransition::Connected(_) + | TunnelStateTransition::Disconnected => { self.check_validity.store(true, Ordering::SeqCst); self.wg_retry_attempt = 0; } |
