summaryrefslogtreecommitdiffhomepage
path: root/mullvad-cli/src
diff options
context:
space:
mode:
authorMarkus Pettersson <markus.pettersson@mullvad.net>2023-08-11 11:09:37 +0200
committerDavid Lönnhager <david.l@mullvad.net>2023-08-21 17:02:27 +0200
commita9a865487ae2de69e51679560b6473d4d7e66ebe (patch)
tree108f6f2e513f789ac8b15fcdc70747bb52fc3c1d /mullvad-cli/src
parentcc7c0943039c2ed5e3e7176e747792d3ba2c6a41 (diff)
downloadmullvadvpn-a9a865487ae2de69e51679560b6473d4d7e66ebe.tar.xz
mullvadvpn-a9a865487ae2de69e51679560b6473d4d7e66ebe.zip
Add servers to a custom list by hostname
Diffstat (limited to 'mullvad-cli/src')
-rw-r--r--mullvad-cli/src/cmds/custom_lists.rs9
1 files changed, 7 insertions, 2 deletions
diff --git a/mullvad-cli/src/cmds/custom_lists.rs b/mullvad-cli/src/cmds/custom_lists.rs
index 04efd8a967..d30f29f62d 100644
--- a/mullvad-cli/src/cmds/custom_lists.rs
+++ b/mullvad-cli/src/cmds/custom_lists.rs
@@ -1,4 +1,7 @@
-use super::relay_constraints::LocationArgs;
+use super::{
+ relay::{find_relay_by_hostname, get_filtered_relays},
+ relay_constraints::LocationArgs,
+};
use anyhow::Result;
use clap::Subcommand;
use mullvad_management_interface::MullvadProxyClient;
@@ -106,7 +109,9 @@ impl CustomList {
}
async fn add_location(name: String, location_args: LocationArgs) -> Result<()> {
- let location = Constraint::<GeographicLocationConstraint>::from(location_args);
+ let countries = get_filtered_relays().await?;
+ let location = find_relay_by_hostname(&countries, &location_args.country)
+ .map_or(Constraint::from(location_args), Constraint::Only);
let update = CustomListLocationUpdate::Add { name, location };
let mut rpc = MullvadProxyClient::new().await?;
rpc.update_custom_list_location(update).await?;