diff options
| author | Emīls <emils@mullvad.net> | 2020-12-08 11:34:13 +0000 |
|---|---|---|
| committer | Emīls <emils@mullvad.net> | 2020-12-08 17:22:54 +0000 |
| commit | 9fd19f29ad659ca72487227339aeb6470beb10d5 (patch) | |
| tree | f93a40b88fd0c2ebd234afdd0c6b69463da5c338 | |
| parent | 89cc96ddc3437c4b529751cef192c90cb6413db7 (diff) | |
| download | mullvadvpn-9fd19f29ad659ca72487227339aeb6470beb10d5.tar.xz mullvadvpn-9fd19f29ad659ca72487227339aeb6470beb10d5.zip | |
Fix connectivity check disabling
| -rw-r--r-- | talpid-core/src/tunnel_state_machine/mod.rs | 24 |
1 files changed, 10 insertions, 14 deletions
diff --git a/talpid-core/src/tunnel_state_machine/mod.rs b/talpid-core/src/tunnel_state_machine/mod.rs index adafe9f16e..fbec1bf2b1 100644 --- a/talpid-core/src/tunnel_state_machine/mod.rs +++ b/talpid-core/src/tunnel_state_machine/mod.rs @@ -359,28 +359,24 @@ impl SharedTunnelStateValues { /// reset whenever the firewall is cleared. #[cfg(target_os = "linux")] pub fn disable_connectivity_check(&mut self) { - if self.connectivity_check_was_enabled.is_some() { - log::trace!("Connectivity check already disabled"); - return; - }; - - if let Ok(nm) = crate::linux::network_manager::NetworkManager::new() { - self.connectivity_check_was_enabled = nm.disable_connectivity_check(); + if self.connectivity_check_was_enabled.is_none() { + if let Ok(nm) = crate::linux::network_manager::NetworkManager::new() { + self.connectivity_check_was_enabled = nm.disable_connectivity_check(); + } + } else { + log::trace!("Daemon already disabled connectivity check"); } } /// Reset NetworkManager's connectivity check if it was disabled. #[cfg(target_os = "linux")] pub fn reset_connectivity_check(&mut self) { - if self.connectivity_check_was_enabled.is_some() { - log::trace!("Connectivity check already disabled"); - return; - }; - - if let Ok(nm) = crate::linux::network_manager::NetworkManager::new() { - if let Some(true) = self.connectivity_check_was_enabled.take() { + if self.connectivity_check_was_enabled.take() == Some(true) { + if let Ok(nm) = crate::linux::network_manager::NetworkManager::new() { nm.enable_connectivity_check(); } + } else { + log::trace!("Connectivity check wasn't disabled by the daemon"); } } } |
