summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorEmīls Piņķis <emils@mullvad.net>2018-08-28 16:45:07 +0100
committerEmīls Piņķis <emils@mullvad.net>2018-08-29 16:28:17 +0100
commit0dd43272e4473dbd01ef39ab8bfbb454c47487da (patch)
treeb72f5e2171a425199677820de8c031d7eabc5c9b
parentc3104f8a5ec79827c56e71732e867d836428357b (diff)
downloadmullvadvpn-0dd43272e4473dbd01ef39ab8bfbb454c47487da.tar.xz
mullvadvpn-0dd43272e4473dbd01ef39ab8bfbb454c47487da.zip
Change mullvad-cli to use new jsonrpc client
-rw-r--r--mullvad-cli/Cargo.toml2
-rw-r--r--mullvad-cli/src/cmds/account.rs7
-rw-r--r--mullvad-cli/src/cmds/auto_connect.rs7
-rw-r--r--mullvad-cli/src/cmds/connect.rs4
-rw-r--r--mullvad-cli/src/cmds/disconnect.rs4
-rw-r--r--mullvad-cli/src/cmds/lan.rs8
-rw-r--r--mullvad-cli/src/cmds/relay.rs9
-rw-r--r--mullvad-cli/src/cmds/status.rs5
-rw-r--r--mullvad-cli/src/cmds/tunnel.rs9
-rw-r--r--mullvad-cli/src/cmds/version.rs6
-rw-r--r--mullvad-cli/src/main.rs9
11 files changed, 35 insertions, 35 deletions
diff --git a/mullvad-cli/Cargo.toml b/mullvad-cli/Cargo.toml
index 7f9b39d92e..744a0aa2aa 100644
--- a/mullvad-cli/Cargo.toml
+++ b/mullvad-cli/Cargo.toml
@@ -14,9 +14,11 @@ clap = "2.20"
error-chain = "0.12"
env_logger = "0.5"
serde = "1.0"
+futures = "0.1"
mullvad-ipc-client = { path = "../mullvad-ipc-client" }
mullvad-types = { path = "../mullvad-types" }
+mullvad-paths = { path = "../mullvad-paths" }
talpid-types = { path = "../talpid-types" }
talpid-ipc = { path = "../talpid-ipc" }
diff --git a/mullvad-cli/src/cmds/account.rs b/mullvad-cli/src/cmds/account.rs
index 5757aac42d..bab9f525f6 100644
--- a/mullvad-cli/src/cmds/account.rs
+++ b/mullvad-cli/src/cmds/account.rs
@@ -1,7 +1,6 @@
use clap;
-use {Command, Result};
+use {new_rpc_client, Command, Result};
-use mullvad_ipc_client::DaemonRpcClient;
use mullvad_types::account::AccountToken;
pub struct Account;
@@ -48,7 +47,7 @@ impl Command for Account {
impl Account {
fn set(&self, token: Option<AccountToken>) -> Result<()> {
- let mut rpc = DaemonRpcClient::new()?;
+ let mut rpc = new_rpc_client()?;
rpc.set_account(token.clone())?;
if let Some(token) = token {
println!("Mullvad account \"{}\" set", token);
@@ -59,7 +58,7 @@ impl Account {
}
fn get(&self) -> Result<()> {
- let mut rpc = DaemonRpcClient::new()?;
+ let mut rpc = new_rpc_client()?;
let account_token = rpc.get_account()?;
if let Some(account_token) = account_token {
println!("Mullvad account: {}", account_token);
diff --git a/mullvad-cli/src/cmds/auto_connect.rs b/mullvad-cli/src/cmds/auto_connect.rs
index f471fbde56..5061f67fb8 100644
--- a/mullvad-cli/src/cmds/auto_connect.rs
+++ b/mullvad-cli/src/cmds/auto_connect.rs
@@ -1,8 +1,7 @@
use clap;
+use new_rpc_client;
use {Command, Result};
-use mullvad_ipc_client::DaemonRpcClient;
-
pub struct AutoConnect;
impl Command for AutoConnect {
@@ -42,14 +41,14 @@ impl Command for AutoConnect {
impl AutoConnect {
fn set(&self, auto_connect: bool) -> Result<()> {
- let mut rpc = DaemonRpcClient::new()?;
+ let mut rpc = new_rpc_client()?;
rpc.set_auto_connect(auto_connect)?;
println!("Changed auto-connect sharing setting");
Ok(())
}
fn get(&self) -> Result<()> {
- let mut rpc = DaemonRpcClient::new()?;
+ let mut rpc = new_rpc_client()?;
let auto_connect = rpc.get_auto_connect()?;
println!("Autoconnect: {}", if auto_connect { "on" } else { "off" });
Ok(())
diff --git a/mullvad-cli/src/cmds/connect.rs b/mullvad-cli/src/cmds/connect.rs
index b9da45618d..b7cf7cd8c5 100644
--- a/mullvad-cli/src/cmds/connect.rs
+++ b/mullvad-cli/src/cmds/connect.rs
@@ -1,8 +1,8 @@
use clap;
+use new_rpc_client;
use Command;
use Result;
-use mullvad_ipc_client::DaemonRpcClient;
pub struct Connect;
@@ -17,7 +17,7 @@ impl Command for Connect {
}
fn run(&self, _matches: &clap::ArgMatches) -> Result<()> {
- let mut rpc = DaemonRpcClient::new()?;
+ let mut rpc = new_rpc_client()?;
rpc.connect()?;
Ok(())
}
diff --git a/mullvad-cli/src/cmds/disconnect.rs b/mullvad-cli/src/cmds/disconnect.rs
index 70e5699545..99009d705f 100644
--- a/mullvad-cli/src/cmds/disconnect.rs
+++ b/mullvad-cli/src/cmds/disconnect.rs
@@ -1,8 +1,8 @@
use clap;
+use new_rpc_client;
use Command;
use Result;
-use mullvad_ipc_client::DaemonRpcClient;
pub struct Disconnect;
@@ -17,7 +17,7 @@ impl Command for Disconnect {
}
fn run(&self, _matches: &clap::ArgMatches) -> Result<()> {
- let mut rpc = DaemonRpcClient::new()?;
+ let mut rpc = new_rpc_client()?;
rpc.disconnect()?;
Ok(())
}
diff --git a/mullvad-cli/src/cmds/lan.rs b/mullvad-cli/src/cmds/lan.rs
index bd6516f6bf..65754e3425 100644
--- a/mullvad-cli/src/cmds/lan.rs
+++ b/mullvad-cli/src/cmds/lan.rs
@@ -1,7 +1,5 @@
use clap;
-use {Command, Result};
-
-use mullvad_ipc_client::DaemonRpcClient;
+use {new_rpc_client, Command, Result};
pub struct Lan;
@@ -42,14 +40,14 @@ impl Command for Lan {
impl Lan {
fn set(&self, allow_lan: bool) -> Result<()> {
- let mut rpc = DaemonRpcClient::new()?;
+ let mut rpc = new_rpc_client()?;
rpc.set_allow_lan(allow_lan)?;
println!("Changed local network sharing setting");
Ok(())
}
fn get(&self) -> Result<()> {
- let mut rpc = DaemonRpcClient::new()?;
+ let mut rpc = new_rpc_client()?;
let allow_lan = rpc.get_allow_lan()?;
println!(
"Local network sharing setting: {}",
diff --git a/mullvad-cli/src/cmds/relay.rs b/mullvad-cli/src/cmds/relay.rs
index 5be05786cc..4de7571307 100644
--- a/mullvad-cli/src/cmds/relay.rs
+++ b/mullvad-cli/src/cmds/relay.rs
@@ -1,8 +1,7 @@
use clap;
use std::str::FromStr;
-use {Command, Result, ResultExt};
+use {new_rpc_client, Command, Result, ResultExt};
-use mullvad_ipc_client::DaemonRpcClient;
use mullvad_types::relay_constraints::{
Constraint, LocationConstraint, OpenVpnConstraints, RelayConstraintsUpdate,
RelaySettingsUpdate, TunnelConstraints,
@@ -101,7 +100,7 @@ impl Command for Relay {
impl Relay {
fn update_constraints(&self, update: RelaySettingsUpdate) -> Result<()> {
- let mut rpc = DaemonRpcClient::new()?;
+ let mut rpc = new_rpc_client()?;
rpc.update_relay_settings(update)?;
println!("Relay constraints updated");
Ok(())
@@ -171,7 +170,7 @@ impl Relay {
}
fn get(&self) -> Result<()> {
- let mut rpc = DaemonRpcClient::new()?;
+ let mut rpc = new_rpc_client()?;
let constraints = rpc.get_relay_settings()?;
println!("Current constraints: {:#?}", constraints);
@@ -179,7 +178,7 @@ impl Relay {
}
fn list(&self, _matches: &clap::ArgMatches) -> Result<()> {
- let mut rpc = DaemonRpcClient::new()?;
+ let mut rpc = new_rpc_client()?;
let mut locations = rpc.get_relay_locations()?;
locations.countries.sort_by(|c1, c2| c1.name.cmp(&c2.name));
for mut country in locations.countries {
diff --git a/mullvad-cli/src/cmds/status.rs b/mullvad-cli/src/cmds/status.rs
index 0b6b7f05ef..1a5a2b29e4 100644
--- a/mullvad-cli/src/cmds/status.rs
+++ b/mullvad-cli/src/cmds/status.rs
@@ -1,4 +1,5 @@
use clap;
+use new_rpc_client;
use Command;
use Result;
@@ -31,12 +32,11 @@ impl Command for Status {
}
fn run(&self, matches: &clap::ArgMatches) -> Result<()> {
- let mut rpc = DaemonRpcClient::new()?;
+ let mut rpc = new_rpc_client()?;
let state = rpc.get_state()?;
print_state(state);
print_location(&mut rpc)?;
-
if matches.subcommand_matches("listen").is_some() {
for new_state in rpc.new_state_subscribe()? {
print_state(new_state);
@@ -46,7 +46,6 @@ impl Command for Status {
}
}
}
-
Ok(())
}
}
diff --git a/mullvad-cli/src/cmds/tunnel.rs b/mullvad-cli/src/cmds/tunnel.rs
index a0c86fe1f0..f44a6b8cf5 100644
--- a/mullvad-cli/src/cmds/tunnel.rs
+++ b/mullvad-cli/src/cmds/tunnel.rs
@@ -1,7 +1,6 @@
use clap;
-use {Command, Result};
+use {new_rpc_client, Command, Result};
-use mullvad_ipc_client::DaemonRpcClient;
use talpid_types::net::{OpenVpnTunnelOptions, TunnelOptions};
pub struct Tunnel;
@@ -79,7 +78,7 @@ impl Tunnel {
fn set_openvpn_enable_ipv6_option(args: &clap::ArgMatches) -> Result<()> {
let enabled = args.value_of("enable").unwrap() == "on";
- let mut rpc = DaemonRpcClient::new()?;
+ let mut rpc = new_rpc_client()?;
rpc.set_openvpn_enable_ipv6(enabled)?;
println!("enable_ipv6 parameter updated");
Ok(())
@@ -93,14 +92,14 @@ impl Tunnel {
Some(mssfix_str.parse()?)
};
- let mut rpc = DaemonRpcClient::new()?;
+ let mut rpc = new_rpc_client()?;
rpc.set_openvpn_mssfix(mssfix)?;
println!("mssfix parameter updated");
Ok(())
}
fn get_tunnel_options() -> Result<TunnelOptions> {
- let mut rpc = DaemonRpcClient::new()?;
+ let mut rpc = new_rpc_client()?;
Ok(rpc.get_tunnel_options()?)
}
diff --git a/mullvad-cli/src/cmds/version.rs b/mullvad-cli/src/cmds/version.rs
index c3adca3040..2277e57d68 100644
--- a/mullvad-cli/src/cmds/version.rs
+++ b/mullvad-cli/src/cmds/version.rs
@@ -1,7 +1,5 @@
use clap;
-use {Command, Result};
-
-use mullvad_ipc_client::DaemonRpcClient;
+use {new_rpc_client, Command, Result};
pub struct Version;
@@ -16,7 +14,7 @@ impl Command for Version {
}
fn run(&self, _: &clap::ArgMatches) -> Result<()> {
- let mut rpc = DaemonRpcClient::new()?;
+ let mut rpc = new_rpc_client()?;
let current_version = rpc.get_current_version()?;
println!("Current version: {}", current_version);
let version_info = rpc.get_version_info()?;
diff --git a/mullvad-cli/src/main.rs b/mullvad-cli/src/main.rs
index 2c551c5622..0cf9e9307a 100644
--- a/mullvad-cli/src/main.rs
+++ b/mullvad-cli/src/main.rs
@@ -9,9 +9,11 @@
#[macro_use]
extern crate clap;
extern crate env_logger;
+extern crate futures;
#[macro_use]
extern crate error_chain;
extern crate mullvad_ipc_client;
+extern crate mullvad_paths;
extern crate mullvad_types;
extern crate serde;
extern crate talpid_types;
@@ -19,6 +21,7 @@ extern crate talpid_types;
mod cmds;
+use mullvad_ipc_client::{new_standalone_ipc_client, DaemonRpcClient};
use std::io;
error_chain! {
@@ -28,10 +31,14 @@ error_chain! {
}
links {
- RpcError(mullvad_ipc_client::Error, mullvad_ipc_client::ErrorKind);
+ RpcClientError(mullvad_ipc_client::Error, mullvad_ipc_client::ErrorKind);
}
}
+pub fn new_rpc_client() -> Result<DaemonRpcClient> {
+ new_standalone_ipc_client(&mullvad_paths::get_rpc_socket_path()).map_err(|e| Error::from(e))
+}
+
quick_main!(run);
fn run() -> Result<()> {