diff options
| author | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2019-06-27 20:57:24 +0000 |
|---|---|---|
| committer | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2019-06-28 19:18:45 +0000 |
| commit | 84935bdd79d1460d37d90513f00f032afd68b876 (patch) | |
| tree | d68c36364a80d9865e871dfcbb56ab94b90efa56 | |
| parent | 16255a79cfc471fecffd92e207fb5ea395adf738 (diff) | |
| download | mullvadvpn-84935bdd79d1460d37d90513f00f032afd68b876.tar.xz mullvadvpn-84935bdd79d1460d37d90513f00f032afd68b876.zip | |
Include location in `TunnelState`
| -rw-r--r-- | gui/src/main/daemon-rpc.ts | 1 | ||||
| -rw-r--r-- | gui/src/shared/daemon-rpc-types.ts | 1 | ||||
| -rw-r--r-- | mullvad-cli/src/cmds/status.rs | 4 | ||||
| -rw-r--r-- | mullvad-daemon/src/lib.rs | 14 | ||||
| -rw-r--r-- | mullvad-types/src/states.rs | 11 |
5 files changed, 25 insertions, 6 deletions
diff --git a/gui/src/main/daemon-rpc.ts b/gui/src/main/daemon-rpc.ts index 435edacdf7..d0b1d2eff4 100644 --- a/gui/src/main/daemon-rpc.ts +++ b/gui/src/main/daemon-rpc.ts @@ -250,6 +250,7 @@ const tunnelStateSchema = oneOf( }), ), }), + location: locationSchema, }), }), object({ diff --git a/gui/src/shared/daemon-rpc-types.ts b/gui/src/shared/daemon-rpc-types.ts index b245685f85..fbac6df9dd 100644 --- a/gui/src/shared/daemon-rpc-types.ts +++ b/gui/src/shared/daemon-rpc-types.ts @@ -77,6 +77,7 @@ export type DaemonEvent = export interface ITunnelStateRelayInfo { endpoint: ITunnelEndpoint; + location: ILocation; } export type TunnelState = diff --git a/mullvad-cli/src/cmds/status.rs b/mullvad-cli/src/cmds/status.rs index ab9f9e4ab5..31e96ff207 100644 --- a/mullvad-cli/src/cmds/status.rs +++ b/mullvad-cli/src/cmds/status.rs @@ -74,10 +74,10 @@ fn print_state(state: &TunnelState) { print!("Tunnel status: "); match state { Blocked(reason) => print_blocked_reason(reason), - Connected { endpoint } => { + Connected { endpoint, .. } => { println!("Connected to {}", endpoint); } - Connecting { endpoint } => println!("Connecting to {}...", endpoint), + Connecting { endpoint, .. } => println!("Connecting to {}...", endpoint), Disconnected => println!("Disconnected"), Disconnecting(_) => println!("Disconnecting..."), } diff --git a/mullvad-daemon/src/lib.rs b/mullvad-daemon/src/lib.rs index c887caa50f..6071306b66 100644 --- a/mullvad-daemon/src/lib.rs +++ b/mullvad-daemon/src/lib.rs @@ -456,8 +456,18 @@ where fn handle_tunnel_state_transition(&mut self, tunnel_state_transition: TunnelStateTransition) { let tunnel_state = match tunnel_state_transition { TunnelStateTransition::Disconnected => TunnelState::Disconnected, - TunnelStateTransition::Connecting(endpoint) => TunnelState::Connecting { endpoint }, - TunnelStateTransition::Connected(endpoint) => TunnelState::Connected { endpoint }, + TunnelStateTransition::Connecting(endpoint) => TunnelState::Connecting { + endpoint, + location: self + .build_location_from_relay() + .expect("No relay to get location from"), + }, + TunnelStateTransition::Connected(endpoint) => TunnelState::Connected { + endpoint, + location: self + .build_location_from_relay() + .expect("No relay to get location from"), + }, TunnelStateTransition::Disconnecting(after_disconnect) => { TunnelState::Disconnecting(after_disconnect) } diff --git a/mullvad-types/src/states.rs b/mullvad-types/src/states.rs index 9c881a1c8a..91618025ac 100644 --- a/mullvad-types/src/states.rs +++ b/mullvad-types/src/states.rs @@ -1,3 +1,4 @@ +use crate::location::GeoIpLocation; use serde::{Deserialize, Serialize}; use talpid_types::{ net::TunnelEndpoint, @@ -20,8 +21,14 @@ pub enum TargetState { #[serde(tag = "state", content = "details")] pub enum TunnelState { Disconnected, - Connecting { endpoint: TunnelEndpoint }, - Connected { endpoint: TunnelEndpoint }, + Connecting { + endpoint: TunnelEndpoint, + location: GeoIpLocation, + }, + Connected { + endpoint: TunnelEndpoint, + location: GeoIpLocation, + }, Disconnecting(ActionAfterDisconnect), Blocked(BlockReason), } |
