summaryrefslogtreecommitdiffhomepage
path: root/mullvad-daemon/src
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
parent83790ba28c623a5139c7ea4c596926f98d36c7b6 (diff)
downloadmullvadvpn-5eedeac9cbf6befd7ffbcd06ff767b48c8b004fe.tar.xz
mullvadvpn-5eedeac9cbf6befd7ffbcd06ff767b48c8b004fe.zip
Require an initial fallback address to be used
Diffstat (limited to 'mullvad-daemon/src')
-rw-r--r--mullvad-daemon/src/bin/list-relays.rs2
-rw-r--r--mullvad-daemon/src/bin/problem-report.rs6
-rw-r--r--mullvad-daemon/src/main.rs11
3 files changed, 14 insertions, 5 deletions
diff --git a/mullvad-daemon/src/bin/list-relays.rs b/mullvad-daemon/src/bin/list-relays.rs
index 9ac607d828..581ef06d1a 100644
--- a/mullvad-daemon/src/bin/list-relays.rs
+++ b/mullvad-daemon/src/bin/list-relays.rs
@@ -17,7 +17,7 @@ error_chain!{}
quick_main!(run);
fn run() -> Result<()> {
- let rpc_manager = mullvad_rpc::MullvadRpcFactory::new();
+ let mut rpc_manager = mullvad_rpc::MullvadRpcFactory::new();
let rpc_http_handle = rpc_manager
.new_connection()
.chain_err(|| "Unable to connect RPC")?;
diff --git a/mullvad-daemon/src/bin/problem-report.rs b/mullvad-daemon/src/bin/problem-report.rs
index 16886601df..a5e8ac0577 100644
--- a/mullvad-daemon/src/bin/problem-report.rs
+++ b/mullvad-daemon/src/bin/problem-report.rs
@@ -159,9 +159,9 @@ fn send_problem_report(user_email: &str, user_message: &str, report_path: &Path)
let report_content = read_file_lossy(report_path, REPORT_MAX_SIZE)
.chain_err(|| ErrorKind::ReadLogError(report_path.to_path_buf()))?;
let metadata = collect_metadata();
- let rpc_manager = mullvad_rpc::MullvadRpcFactory::new();
- let mut rpc_client =
- mullvad_rpc::ProblemReportProxy::connect(&rpc_manager).chain_err(|| ErrorKind::RpcError)?;
+ let mut rpc_manager = mullvad_rpc::MullvadRpcFactory::new();
+ let mut rpc_client = mullvad_rpc::ProblemReportProxy::connect(&mut rpc_manager)
+ .chain_err(|| ErrorKind::RpcError)?;
rpc_client
.problem_report(user_email, user_message, &report_content, &metadata)
.call()
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() };