summaryrefslogtreecommitdiffhomepage
path: root/mullvad-daemon/src/main.rs
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2018-03-24 09:18:11 -0300
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2018-04-11 06:35:07 -0300
commit5eedeac9cbf6befd7ffbcd06ff767b48c8b004fe (patch)
treeb57ffaad8d7b65e5dc06d6a2b29e20dce0dbf846 /mullvad-daemon/src/main.rs
parent83790ba28c623a5139c7ea4c596926f98d36c7b6 (diff)
downloadmullvadvpn-5eedeac9cbf6befd7ffbcd06ff767b48c8b004fe.tar.xz
mullvadvpn-5eedeac9cbf6befd7ffbcd06ff767b48c8b004fe.zip
Require an initial fallback address to be used
Diffstat (limited to 'mullvad-daemon/src/main.rs')
-rw-r--r--mullvad-daemon/src/main.rs11
1 files changed, 10 insertions, 1 deletions
diff --git a/mullvad-daemon/src/main.rs b/mullvad-daemon/src/main.rs
index 4341c29ff1..e81b99e40e 100644
--- a/mullvad-daemon/src/main.rs
+++ b/mullvad-daemon/src/main.rs
@@ -86,6 +86,9 @@ use std::fs;
error_chain!{
errors {
+ NoCacheDir {
+ description("Unable to create cache directory")
+ }
DaemonIsAlreadyRunning {
description("Another instance of the daemon is already running")
}
@@ -218,7 +221,8 @@ impl Daemon {
ErrorKind::DaemonIsAlreadyRunning
);
- let rpc_manager = mullvad_rpc::MullvadRpcFactory::with_resource_dir(&resource_dir);
+ let cache_dir = get_cache_dir()?;
+ let mut rpc_manager = mullvad_rpc::MullvadRpcFactory::with_cache_dir(&cache_dir);
let (rpc_handle, http_handle, tokio_remote) =
mullvad_rpc::event_loop::create(move |core| {
@@ -893,6 +897,11 @@ fn get_resource_dir() -> PathBuf {
}
}
+fn get_cache_dir() -> Result<PathBuf> {
+ app_dirs::app_root(app_dirs::AppDataType::UserCache, &::APP_INFO)
+ .chain_err(|| ErrorKind::NoCacheDir)
+}
+
#[cfg(unix)]
fn running_as_admin() -> bool {
let uid = unsafe { libc::getuid() };