summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorLinus Färnstrand <linus@mullvad.net>2018-11-16 12:30:42 +0100
committerLinus Färnstrand <linus@mullvad.net>2018-11-16 12:30:42 +0100
commit06ce300ed8804a2596ff729af79f3cb9ec7d9375 (patch)
tree65d962d8bc2410f948e0e4a6c47d19ef0fe1d2a8
parent75ebb64fbea39a4f11e698b5cb5d8ca52a2f4908 (diff)
parente085f8488fd3f21ce4f5ecf258491477324dd52b (diff)
downloadmullvadvpn-06ce300ed8804a2596ff729af79f3cb9ec7d9375.tar.xz
mullvadvpn-06ce300ed8804a2596ff729af79f3cb9ec7d9375.zip
Merge branch 'show-variable-default-in-help'
-rw-r--r--mullvad-daemon/src/cli.rs32
-rw-r--r--mullvad-paths/src/cache.rs10
-rw-r--r--mullvad-paths/src/lib.rs10
-rw-r--r--mullvad-paths/src/logs.rs10
-rw-r--r--mullvad-paths/src/resources.rs2
-rw-r--r--mullvad-paths/src/rpc_socket.rs16
-rw-r--r--mullvad-paths/src/settings.rs10
7 files changed, 58 insertions, 32 deletions
diff --git a/mullvad-daemon/src/cli.rs b/mullvad-daemon/src/cli.rs
index 42f7ca9c2e..722a176878 100644
--- a/mullvad-daemon/src/cli.rs
+++ b/mullvad-daemon/src/cli.rs
@@ -35,21 +35,33 @@ pub fn get_config() -> Config {
}
}
-fn create_app() -> App<'static, 'static> {
- let app = App::new(crate_name!())
- .version(version::PRODUCT_VERSION)
- .author(crate_authors!(", "))
- .about(crate_description!())
- .after_help(
+lazy_static::lazy_static! {
+ static ref ENV_DESC: String = format!(
"ENV:
MULLVAD_RESOURCE_DIR Resource directory (i.e used to locate a root CA certificate)
- MULLVAD_SETTINGS_DIR Directory path for storing settings
- MULLVAD_CACHE_DIR Directory path for storing cache
+ [Default: {}]
+ MULLVAD_SETTINGS_DIR Directory path for storing settings. [Default: {}]
+ MULLVAD_CACHE_DIR Directory path for storing cache. [Default: {}]
+ MULLVAD_LOG_DIR Directory path for storing logs. [Default: {}]
MULLVAD_RPC_SOCKET_PATH Location of the management interface device.
- It refers to Unix domain socket on Unix based platforms, and named pipe on Windows
+ It refers to Unix domain socket on Unix based platforms, and named pipe on Windows.
+ [Default: {}]
+
+",
+ mullvad_paths::get_default_resource_dir().display(),
+ mullvad_paths::get_default_settings_dir().expect("Unable to get settings dir").display(),
+ mullvad_paths::get_default_cache_dir().expect("Unable to get cache dir").display(),
+ mullvad_paths::get_default_log_dir().expect("Unable to get log dir").display(),
+ mullvad_paths::get_default_rpc_socket_path().display());
+}
-")
+fn create_app() -> App<'static, 'static> {
+ let app = App::new(crate_name!())
+ .version(version::PRODUCT_VERSION)
+ .author(crate_authors!(", "))
+ .about(crate_description!())
+ .after_help(ENV_DESC.as_str())
.arg(
Arg::with_name("v")
.short("v")
diff --git a/mullvad-paths/src/cache.rs b/mullvad-paths/src/cache.rs
index dcf799eeb9..78b7803eba 100644
--- a/mullvad-paths/src/cache.rs
+++ b/mullvad-paths/src/cache.rs
@@ -12,17 +12,19 @@ pub fn cache_dir() -> Result<PathBuf> {
fn get_cache_dir() -> Result<PathBuf> {
match env::var_os("MULLVAD_CACHE_DIR") {
Some(path) => Ok(PathBuf::from(path)),
- None => get_default_cache_dir().map(|dir| dir.join(crate::PRODUCT_NAME)),
+ None => get_default_cache_dir(),
}
}
-fn get_default_cache_dir() -> Result<PathBuf> {
+pub fn get_default_cache_dir() -> Result<PathBuf> {
+ let dir;
#[cfg(target_os = "linux")]
{
- Ok(PathBuf::from("/var/cache"))
+ dir = Ok(PathBuf::from("/var/cache"))
}
#[cfg(any(target_os = "macos", windows))]
{
- ::dirs::cache_dir().ok_or_else(|| ::ErrorKind::FindDirError.into())
+ dir = ::dirs::cache_dir().ok_or_else(|| ::ErrorKind::FindDirError.into())
}
+ dir.map(|dir| dir.join(crate::PRODUCT_NAME))
}
diff --git a/mullvad-paths/src/lib.rs b/mullvad-paths/src/lib.rs
index 4c0c55eb2a..b95e281f19 100644
--- a/mullvad-paths/src/lib.rs
+++ b/mullvad-paths/src/lib.rs
@@ -42,16 +42,16 @@ fn create_and_return(dir_fn: fn() -> Result<PathBuf>) -> Result<PathBuf> {
}
mod cache;
-pub use crate::cache::cache_dir;
+pub use crate::cache::{cache_dir, get_default_cache_dir};
mod logs;
-pub use crate::logs::{get_log_dir, log_dir};
+pub use crate::logs::{get_default_log_dir, get_log_dir, log_dir};
pub mod resources;
-pub use crate::resources::get_resource_dir;
+pub use crate::resources::{get_default_resource_dir, get_resource_dir};
mod rpc_socket;
-pub use crate::rpc_socket::get_rpc_socket_path;
+pub use crate::rpc_socket::{get_default_rpc_socket_path, get_rpc_socket_path};
mod settings;
-pub use crate::settings::settings_dir;
+pub use crate::settings::{get_default_settings_dir, settings_dir};
diff --git a/mullvad-paths/src/logs.rs b/mullvad-paths/src/logs.rs
index 70004342c1..91f92c82bc 100644
--- a/mullvad-paths/src/logs.rs
+++ b/mullvad-paths/src/logs.rs
@@ -13,17 +13,19 @@ pub fn log_dir() -> Result<PathBuf> {
pub fn get_log_dir() -> Result<PathBuf> {
match env::var_os("MULLVAD_LOG_DIR") {
Some(path) => Ok(PathBuf::from(path)),
- None => get_default_log_dir().map(|dir| dir.join(crate::PRODUCT_NAME)),
+ None => get_default_log_dir(),
}
}
-fn get_default_log_dir() -> Result<PathBuf> {
+pub fn get_default_log_dir() -> Result<PathBuf> {
+ let dir;
#[cfg(unix)]
{
- Ok(PathBuf::from("/var/log"))
+ dir = Ok(PathBuf::from("/var/log"));
}
#[cfg(windows)]
{
- ::get_allusersprofile_dir()
+ dir = ::get_allusersprofile_dir();
}
+ dir.map(|dir| dir.join(crate::PRODUCT_NAME))
}
diff --git a/mullvad-paths/src/resources.rs b/mullvad-paths/src/resources.rs
index ea6b7856d3..2589a93b86 100644
--- a/mullvad-paths/src/resources.rs
+++ b/mullvad-paths/src/resources.rs
@@ -10,7 +10,7 @@ pub fn get_resource_dir() -> PathBuf {
}
}
-fn get_default_resource_dir() -> PathBuf {
+pub fn get_default_resource_dir() -> PathBuf {
match env::current_exe() {
Ok(mut path) => {
path.pop();
diff --git a/mullvad-paths/src/rpc_socket.rs b/mullvad-paths/src/rpc_socket.rs
index f71e7a4edd..0863bc580d 100644
--- a/mullvad-paths/src/rpc_socket.rs
+++ b/mullvad-paths/src/rpc_socket.rs
@@ -4,9 +4,17 @@ use std::path::PathBuf;
pub fn get_rpc_socket_path() -> PathBuf {
match env::var_os("MULLVAD_RPC_SOCKET_PATH") {
Some(path) => PathBuf::from(path),
- #[cfg(unix)]
- None => PathBuf::from("/var/run/mullvad-vpn"),
- #[cfg(windows)]
- None => PathBuf::from("//./pipe/Mullvad VPN"),
+ None => get_default_rpc_socket_path(),
+ }
+}
+
+pub fn get_default_rpc_socket_path() -> PathBuf {
+ #[cfg(unix)]
+ {
+ PathBuf::from("/var/run/mullvad-vpn")
+ }
+ #[cfg(windows)]
+ {
+ PathBuf::from("//./pipe/Mullvad VPN")
}
}
diff --git a/mullvad-paths/src/settings.rs b/mullvad-paths/src/settings.rs
index 33f2283a3f..82872f38a4 100644
--- a/mullvad-paths/src/settings.rs
+++ b/mullvad-paths/src/settings.rs
@@ -12,17 +12,19 @@ pub fn settings_dir() -> Result<PathBuf> {
fn get_settings_dir() -> Result<PathBuf> {
match env::var_os("MULLVAD_SETTINGS_DIR") {
Some(path) => Ok(PathBuf::from(path)),
- None => get_default_settings_dir().map(|dir| dir.join(crate::PRODUCT_NAME)),
+ None => get_default_settings_dir(),
}
}
-fn get_default_settings_dir() -> Result<PathBuf> {
+pub fn get_default_settings_dir() -> Result<PathBuf> {
+ let dir;
#[cfg(unix)]
{
- Ok(PathBuf::from("/etc"))
+ dir = Ok(PathBuf::from("/etc"));
}
#[cfg(windows)]
{
- ::dirs::data_local_dir().ok_or_else(|| ::ErrorKind::FindDirError.into())
+ dir = ::dirs::data_local_dir().ok_or_else(|| ::ErrorKind::FindDirError.into());
}
+ dir.map(|dir| dir.join(crate::PRODUCT_NAME))
}