diff options
| author | Emīls Piņķis <emils@mullvad.net> | 2018-11-01 13:49:33 +0000 |
|---|---|---|
| committer | Emīls Piņķis <emils@mullvad.net> | 2018-11-01 14:26:31 +0000 |
| commit | 4807a38f0955ac2b60f508add390994dcbb3aedf (patch) | |
| tree | 4234956a20fbeaebb2507e34c23e0cc067e7cd4f /mullvad-cli/src | |
| parent | d500c1f8e0bec2fe3a7ec7662cd957788fb81164 (diff) | |
| download | mullvadvpn-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.rs | 14 |
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); |
