summaryrefslogtreecommitdiffhomepage
path: root/mullvad-management-interface
diff options
context:
space:
mode:
authorSebastian Holmin <sebastian.holmin@mullvad.net>2024-01-04 04:25:07 +0100
committerSebastian Holmin <sebastian.holmin@mullvad.net>2024-01-18 15:30:47 +0100
commit5006ef2b4ac646f242e1564e83f43e3d2993a6b4 (patch)
tree12fbe1373a30d4aaf61c4f1b944ee55b47662dd3 /mullvad-management-interface
parentdf2c42059be814d11d2ce1cf649c09aa73f96268 (diff)
downloadmullvadvpn-5006ef2b4ac646f242e1564e83f43e3d2993a6b4.tar.xz
mullvadvpn-5006ef2b4ac646f242e1564e83f43e3d2993a6b4.zip
Print if lockdown mode is enabled when disconnected for `mullvad status`
Add `locked_down` field to disconnected tunnel state.
Diffstat (limited to 'mullvad-management-interface')
-rw-r--r--mullvad-management-interface/proto/management_interface.proto5
-rw-r--r--mullvad-management-interface/src/types/conversions/states.rs20
2 files changed, 16 insertions, 9 deletions
diff --git a/mullvad-management-interface/proto/management_interface.proto b/mullvad-management-interface/proto/management_interface.proto
index 5bf0c69f00..7087184a47 100644
--- a/mullvad-management-interface/proto/management_interface.proto
+++ b/mullvad-management-interface/proto/management_interface.proto
@@ -177,7 +177,10 @@ message ErrorState {
}
message TunnelState {
- message Disconnected { GeoIpLocation disconnected_location = 1; }
+ message Disconnected {
+ GeoIpLocation disconnected_location = 1;
+ bool locked_down = 2;
+ }
message Connecting { TunnelStateRelayInfo relay_info = 1; }
message Connected { TunnelStateRelayInfo relay_info = 1; }
message Disconnecting { AfterDisconnect after_disconnect = 1; }
diff --git a/mullvad-management-interface/src/types/conversions/states.rs b/mullvad-management-interface/src/types/conversions/states.rs
index 2541859e27..17329193c9 100644
--- a/mullvad-management-interface/src/types/conversions/states.rs
+++ b/mullvad-management-interface/src/types/conversions/states.rs
@@ -32,11 +32,13 @@ impl From<mullvad_types::states::TunnelState> for proto::TunnelState {
};
let state = match state {
- MullvadTunnelState::Disconnected(disconnected_location) => {
- proto::tunnel_state::State::Disconnected(proto::tunnel_state::Disconnected {
- disconnected_location: disconnected_location.map(proto::GeoIpLocation::from),
- })
- }
+ MullvadTunnelState::Disconnected {
+ location: disconnected_location,
+ locked_down,
+ } => proto::tunnel_state::State::Disconnected(proto::tunnel_state::Disconnected {
+ disconnected_location: disconnected_location.map(proto::GeoIpLocation::from),
+ locked_down,
+ }),
MullvadTunnelState::Connecting { endpoint, location } => {
proto::tunnel_state::State::Connecting(proto::tunnel_state::Connecting {
relay_info: Some(proto::TunnelStateRelayInfo {
@@ -193,11 +195,13 @@ impl TryFrom<proto::TunnelState> for mullvad_types::states::TunnelState {
let state = match state.state {
Some(proto::tunnel_state::State::Disconnected(proto::tunnel_state::Disconnected {
disconnected_location,
- })) => MullvadState::Disconnected(
- disconnected_location
+ locked_down,
+ })) => MullvadState::Disconnected {
+ location: disconnected_location
.map(mullvad_types::location::GeoIpLocation::try_from)
.transpose()?,
- ),
+ locked_down,
+ },
Some(proto::tunnel_state::State::Connecting(proto::tunnel_state::Connecting {
relay_info:
Some(proto::TunnelStateRelayInfo {