diff options
| -rw-r--r-- | mullvad-daemon/src/lib.rs | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/mullvad-daemon/src/lib.rs b/mullvad-daemon/src/lib.rs index c34820d78c..3b75b7ceb2 100644 --- a/mullvad-daemon/src/lib.rs +++ b/mullvad-daemon/src/lib.rs @@ -1288,6 +1288,13 @@ where log::info!("Disconnecting because account token was cleared"); self.set_target_state(TargetState::Unsecured).await; } + InnerDeviceEvent::Revoked => { + // If we're currently in a secured state, reconnect to make sure we immediately + // enter the error state. + if *self.target_state == TargetState::Secured { + self.connect_tunnel(); + } + } InnerDeviceEvent::RotatedKey(_) => { if let Some(TunnelType::Wireguard) = self.get_target_tunnel_type() { self.schedule_reconnect(WG_RECONNECT_DELAY); |
