summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorLinus Färnstrand <linus@mullvad.net>2020-08-26 16:32:43 +0200
committerLinus Färnstrand <linus@mullvad.net>2020-08-26 16:35:24 +0200
commit1f551096cd94df9bf5aef353f5a973dbaf199237 (patch)
treeec0dfe344a0c591b587f518c59852954de1e5878
parent447902b897e4545efa65f226c52f81172d23d8d8 (diff)
downloadmullvadvpn-1f551096cd94df9bf5aef353f5a973dbaf199237.tar.xz
mullvadvpn-1f551096cd94df9bf5aef353f5a973dbaf199237.zip
Log if a cached target state is loaded upon daemon start
-rw-r--r--mullvad-daemon/src/lib.rs9
-rw-r--r--mullvad-types/src/states.rs10
2 files changed, 17 insertions, 2 deletions
diff --git a/mullvad-daemon/src/lib.rs b/mullvad-daemon/src/lib.rs
index 8b3aaeffd0..414d64e267 100644
--- a/mullvad-daemon/src/lib.rs
+++ b/mullvad-daemon/src/lib.rs
@@ -545,13 +545,19 @@ where
.map_err(Error::ReadCachedTargetState),
Err(e) => {
if e.kind() == io::ErrorKind::NotFound {
+ debug!("No cached target state to load");
Ok(None)
} else {
Err(Error::OpenCachedTargetState(e))
}
}
}?;
- if cached_target_state.is_some() {
+ if let Some(cached_target_state) = &cached_target_state {
+ info!(
+ "Loaded cached target state \"{}\" from {}",
+ cached_target_state,
+ target_cache.display()
+ );
let _ = fs::remove_file(target_cache).map_err(|e| {
error!("Cannot delete target tunnel state cache: {}", e);
});
@@ -586,7 +592,6 @@ where
info!("Automatically connecting since auto-connect is turned on");
TargetState::Secured
} else {
- info!("Restoring cached target state");
cached_target_state.unwrap_or(TargetState::Unsecured)
}
} else {
diff --git a/mullvad-types/src/states.rs b/mullvad-types/src/states.rs
index e80b795bba..9d3b188db4 100644
--- a/mullvad-types/src/states.rs
+++ b/mullvad-types/src/states.rs
@@ -2,6 +2,7 @@ use crate::location::GeoIpLocation;
#[cfg(target_os = "android")]
use jnix::IntoJava;
use serde::{Deserialize, Serialize};
+use std::fmt;
use talpid_types::{
net::TunnelEndpoint,
tunnel::{ActionAfterDisconnect, ErrorState},
@@ -17,6 +18,15 @@ pub enum TargetState {
Secured,
}
+impl fmt::Display for TargetState {
+ fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
+ match self {
+ TargetState::Unsecured => "Unsecured".fmt(f),
+ TargetState::Secured => "Secured".fmt(f),
+ }
+ }
+}
+
/// Represents the state the client tunnel is in.
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename_all = "snake_case")]