diff options
| author | Emīls Piņķis <emils@mullvad.net> | 2019-07-22 19:43:28 +0100 |
|---|---|---|
| committer | Emīls Piņķis <emils@mullvad.net> | 2019-07-25 18:05:31 +0100 |
| commit | 270c7f7b9e74663aa89c037dccf79dcefbcb70c2 (patch) | |
| tree | f580dd5739353fede8f1d58368685b7dc04b6e43 | |
| parent | af16e9e84cb8756c31d60fbea7d760926e7f38f2 (diff) | |
| download | mullvadvpn-270c7f7b9e74663aa89c037dccf79dcefbcb70c2.tar.xz mullvadvpn-270c7f7b9e74663aa89c037dccf79dcefbcb70c2.zip | |
Initiate daemon shutdown when doing a factory reset
| -rw-r--r-- | mullvad-daemon/src/lib.rs | 10 |
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(); } |
