summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorEmīls Piņķis <emils@mullvad.net>2019-07-22 19:43:28 +0100
committerEmīls Piņķis <emils@mullvad.net>2019-07-25 18:05:31 +0100
commit270c7f7b9e74663aa89c037dccf79dcefbcb70c2 (patch)
treef580dd5739353fede8f1d58368685b7dc04b6e43
parentaf16e9e84cb8756c31d60fbea7d760926e7f38f2 (diff)
downloadmullvadvpn-270c7f7b9e74663aa89c037dccf79dcefbcb70c2.tar.xz
mullvadvpn-270c7f7b9e74663aa89c037dccf79dcefbcb70c2.zip
Initiate daemon shutdown when doing a factory reset
-rw-r--r--mullvad-daemon/src/lib.rs10
1 files changed, 6 insertions, 4 deletions
diff --git a/mullvad-daemon/src/lib.rs b/mullvad-daemon/src/lib.rs
index 5fb1f11a89..4d0fe67f70 100644
--- a/mullvad-daemon/src/lib.rs
+++ b/mullvad-daemon/src/lib.rs
@@ -456,7 +456,7 @@ where
ManagementInterfaceExited => {
return Err(Error::ManagementInterfaceExited);
}
- TriggerShutdown => self.handle_trigger_shutdown_event(),
+ TriggerShutdown => self.trigger_shutdown_event(),
WgKeyEvent(key_event) => self.handle_wireguard_key_event(key_event),
}
Ok(())
@@ -709,7 +709,7 @@ where
GetVersionInfo(tx) => self.on_get_version_info(tx),
GetCurrentVersion(tx) => self.on_get_current_version(tx),
FactoryReset(tx) => self.on_factory_reset(tx),
- Shutdown => self.handle_trigger_shutdown_event(),
+ Shutdown => self.trigger_shutdown_event(),
}
}
@@ -943,7 +943,6 @@ where
}
fn on_factory_reset(&mut self, tx: oneshot::Sender<()>) {
- self.set_target_state(TargetState::Unsecured);
let mut failed = false;
if let Err(e) = self.clear_cache_directory() {
@@ -966,6 +965,9 @@ where
failed = true;
}
+ // Shut the daemon down.
+ self.trigger_shutdown_event();
+
if !failed {
Self::oneshot_send(tx, (), "factory_reset response");
}
@@ -1293,7 +1295,7 @@ where
}
}
- fn handle_trigger_shutdown_event(&mut self) {
+ fn trigger_shutdown_event(&mut self) {
self.state.shutdown(&self.tunnel_state);
self.disconnect_tunnel();
}