summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorEmīls <emils@mullvad.net>2020-12-08 11:34:13 +0000
committerEmīls <emils@mullvad.net>2020-12-08 17:22:54 +0000
commit9fd19f29ad659ca72487227339aeb6470beb10d5 (patch)
treef93a40b88fd0c2ebd234afdd0c6b69463da5c338
parent89cc96ddc3437c4b529751cef192c90cb6413db7 (diff)
downloadmullvadvpn-9fd19f29ad659ca72487227339aeb6470beb10d5.tar.xz
mullvadvpn-9fd19f29ad659ca72487227339aeb6470beb10d5.zip
Fix connectivity check disabling
-rw-r--r--talpid-core/src/tunnel_state_machine/mod.rs24
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");
}
}
}