diff options
| -rw-r--r-- | mullvad_daemon/src/states.rs | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/mullvad_daemon/src/states.rs b/mullvad_daemon/src/states.rs new file mode 100644 index 0000000000..e50015c53b --- /dev/null +++ b/mullvad_daemon/src/states.rs @@ -0,0 +1,21 @@ +/// Security state of the computer. +/// TODO(linus): There is a difference between lockdown(firewall) and tunnel functionality. The +/// firewall can be set to prevent any leaks but the tunnel is not connected. Then we are secured, +/// but disconnected. The frontend should probably reflect these states in some way. I think it +/// be reasonable to have three states, since unsecured but tunnel is up is probably an invalid +/// state. +#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash, Serialize)] +#[serde(rename_all = "snake_case")] +pub enum SecurityState { + Unsecured, + Secured, +} + +/// Represents the state the client strives towards. +/// When in `Secured`, the client should keep the computer from leaking and try to +/// establish a VPN tunnel if it is not up. +#[derive(Debug, Eq, PartialEq)] +pub enum TargetState { + Unsecured, + Secured, +} |
