summaryrefslogtreecommitdiffhomepage
path: root/mullvad-daemon/src
diff options
context:
space:
mode:
authorDavid Lönnhager <david.l@mullvad.net>2022-04-27 15:23:46 +0200
committerDavid Lönnhager <david.l@mullvad.net>2022-04-29 10:38:11 +0200
commit18da51d971eebb19ff889d4ff8e6bc6b955a8a4f (patch)
tree520192429fab3612d73560cd25ce75945bec7bce /mullvad-daemon/src
parent9014cb5201fb8b47a495ac23abb9dbc309dff25b (diff)
downloadmullvadvpn-18da51d971eebb19ff889d4ff8e6bc6b955a8a4f.tar.xz
mullvadvpn-18da51d971eebb19ff889d4ff8e6bc6b955a8a4f.zip
Pause API requests when the daemon hasn't received any commands for 3 days
Diffstat (limited to 'mullvad-daemon/src')
-rw-r--r--mullvad-daemon/src/lib.rs15
1 files changed, 15 insertions, 0 deletions
diff --git a/mullvad-daemon/src/lib.rs b/mullvad-daemon/src/lib.rs
index 19f17e3e45..c34820d78c 100644
--- a/mullvad-daemon/src/lib.rs
+++ b/mullvad-daemon/src/lib.rs
@@ -970,6 +970,16 @@ where
}
log::debug!("New tunnel state: {:?}", tunnel_state);
+
+ match tunnel_state {
+ TunnelState::Disconnected => {
+ self.api_handle.availability.reset_inactivity_timer();
+ }
+ _ => {
+ self.api_handle.availability.stop_inactivity_timer();
+ }
+ }
+
match tunnel_state {
TunnelState::Disconnected => self.state.disconnected(),
TunnelState::Error(ref error_state) => {
@@ -1172,6 +1182,11 @@ where
log::trace!("Dropping daemon command because the daemon is shutting down",);
return;
}
+
+ if self.tunnel_state.is_disconnected() {
+ self.api_handle.availability.reset_inactivity_timer();
+ }
+
match command {
SetTargetState(tx, state) => self.on_set_target_state(tx, state).await,
Reconnect(tx) => self.on_reconnect(tx),