summaryrefslogtreecommitdiffhomepage
path: root/mullvad-cli/src/format.rs
diff options
context:
space:
mode:
authorSebastian Holmin <sebastian.holmin@mullvad.net>2023-12-18 12:12:17 +0100
committerJonathan <jonathan@mullvad.net>2023-12-21 13:33:59 +0100
commit72a22cf7d00dffdc99e4b2ae26a713416a2ed735 (patch)
tree762865091fa14b605d13995127260ed6aef6cb73 /mullvad-cli/src/format.rs
parent98b7117405d95b005e1211b4decbc71664388e7f (diff)
downloadmullvadvpn-72a22cf7d00dffdc99e4b2ae26a713416a2ed735.tar.xz
mullvadvpn-72a22cf7d00dffdc99e4b2ae26a713416a2ed735.zip
Remove `GetCurrentLocation`.
Make the daemon send two tunnel state updates, one with out IP being empty, and another with it being filled when am.i.mullvad.net responds. Update CLI for this change. Other front ends are left out.
Diffstat (limited to 'mullvad-cli/src/format.rs')
-rw-r--r--mullvad-cli/src/format.rs25
1 files changed, 24 insertions, 1 deletions
diff --git a/mullvad-cli/src/format.rs b/mullvad-cli/src/format.rs
index 2938842cef..0e920b6218 100644
--- a/mullvad-cli/src/format.rs
+++ b/mullvad-cli/src/format.rs
@@ -37,11 +37,34 @@ pub fn print_state(state: &TunnelState, verbose: bool) {
format_relay_connection(endpoint, location.as_ref(), verbose)
);
}
- Disconnected => println!("Disconnected"),
+ Disconnected(_) => {
+ println!("Disconnected");
+ }
Disconnecting(_) => println!("Disconnecting..."),
}
}
+pub fn print_location(state: &TunnelState) {
+ let location = match state {
+ TunnelState::Disconnected(location) => location,
+ TunnelState::Connected { location, .. } => location,
+ _ => return,
+ };
+ if let Some(location) = location {
+ print!("Your connection appears from: {}", location.country);
+ if let Some(city) = &location.city {
+ print!(", {}", city);
+ }
+ if let Some(ipv4) = location.ipv4 {
+ print!(". IPv4: {ipv4}");
+ }
+ if let Some(ipv6) = location.ipv6 {
+ print!(", IPv6: {ipv6}");
+ }
+ println!();
+ }
+}
+
fn format_relay_connection(
endpoint: &TunnelEndpoint,
location: Option<&GeoIpLocation>,