diff options
| author | David Lönnhager <david.l@mullvad.net> | 2022-04-28 12:55:55 +0200 |
|---|---|---|
| committer | David Lönnhager <david.l@mullvad.net> | 2022-04-29 11:31:53 +0200 |
| commit | d63135a8970ca9079206b808f5054dd43fe40eb5 (patch) | |
| tree | d555b4d3a961fe27f26b0ba2aabd4d09d2fb77ba | |
| parent | 1b82b93774788165deedbb6ef89bdead4516c218 (diff) | |
| download | mullvadvpn-d63135a8970ca9079206b808f5054dd43fe40eb5.tar.xz mullvadvpn-d63135a8970ca9079206b808f5054dd43fe40eb5.zip | |
Block immediately when the device is known to be revoked
| -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); |
