summaryrefslogtreecommitdiffhomepage
path: root/mullvad-cli/src
diff options
context:
space:
mode:
authorEmīls Piņķis <emils@mullvad.net>2018-11-01 13:49:33 +0000
committerEmīls Piņķis <emils@mullvad.net>2018-11-01 14:26:31 +0000
commit4807a38f0955ac2b60f508add390994dcbb3aedf (patch)
tree4234956a20fbeaebb2507e34c23e0cc067e7cd4f /mullvad-cli/src
parentd500c1f8e0bec2fe3a7ec7662cd957788fb81164 (diff)
downloadmullvadvpn-4807a38f0955ac2b60f508add390994dcbb3aedf.tar.xz
mullvadvpn-4807a38f0955ac2b60f508add390994dcbb3aedf.zip
Improve error message in CLI when daemon is not running
Diffstat (limited to 'mullvad-cli/src')
-rw-r--r--mullvad-cli/src/main.rs14
1 files changed, 13 insertions, 1 deletions
diff --git a/mullvad-cli/src/main.rs b/mullvad-cli/src/main.rs
index 5d0bd921ed..6a3a547b9c 100644
--- a/mullvad-cli/src/main.rs
+++ b/mullvad-cli/src/main.rs
@@ -25,6 +25,7 @@ use mullvad_ipc_client::{new_standalone_ipc_client, DaemonRpcClient};
use std::alloc::System;
use std::io;
+use error_chain::ChainedError;
#[global_allocator]
static GLOBAL: System = System;
@@ -33,6 +34,14 @@ pub const PRODUCT_VERSION: &str = include_str!(concat!(env!("OUT_DIR"), "/produc
error_chain! {
+
+ errors {
+ DaemonNotRunning(err: mullvad_ipc_client::Error) {
+ description("Failed to connect to daemon")
+ display("Failed to connect to daemon: {}Is the daemon running?", err.display_chain())
+ }
+ }
+
foreign_links {
Io(io::Error);
ParseIntError(::std::num::ParseIntError);
@@ -44,7 +53,10 @@ error_chain! {
}
pub fn new_rpc_client() -> Result<DaemonRpcClient> {
- new_standalone_ipc_client(&mullvad_paths::get_rpc_socket_path()).map_err(|e| Error::from(e))
+ match new_standalone_ipc_client(&mullvad_paths::get_rpc_socket_path()) {
+ Err(e) => Err(ErrorKind::DaemonNotRunning(e).into()),
+ Ok(client) => Ok(client),
+ }
}
quick_main!(run);