summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorDavid Lönnhager <david.l@mullvad.net>2022-04-28 12:55:55 +0200
committerDavid Lönnhager <david.l@mullvad.net>2022-04-29 11:31:53 +0200
commitd63135a8970ca9079206b808f5054dd43fe40eb5 (patch)
treed555b4d3a961fe27f26b0ba2aabd4d09d2fb77ba
parent1b82b93774788165deedbb6ef89bdead4516c218 (diff)
downloadmullvadvpn-d63135a8970ca9079206b808f5054dd43fe40eb5.tar.xz
mullvadvpn-d63135a8970ca9079206b808f5054dd43fe40eb5.zip
Block immediately when the device is known to be revoked
-rw-r--r--mullvad-daemon/src/lib.rs7
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);