summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorEmīls Piņķis <emils@mullvad.net>2021-03-08 12:05:25 +0000
committerEmīls Piņķis <emils@mullvad.net>2021-03-08 12:05:25 +0000
commit97df1abc352a10470f147c70925767f53fecba5a (patch)
tree63047c3b3e6a9df1730a6ef15bb820e4c2b4739c
parent030238c6aa3d07d68974a738bc73e16c6dce0110 (diff)
parent050c795699940de4853736af164e1ade79680267 (diff)
downloadmullvadvpn-97df1abc352a10470f147c70925767f53fecba5a.tar.xz
mullvadvpn-97df1abc352a10470f147c70925767f53fecba5a.zip
Merge branch 'daemon-remove-old-ipc-socket'
-rw-r--r--mullvad-daemon/src/lib.rs7
-rw-r--r--mullvad-daemon/src/main.rs7
2 files changed, 14 insertions, 0 deletions
diff --git a/mullvad-daemon/src/lib.rs b/mullvad-daemon/src/lib.rs
index a042cb3a43..945e388999 100644
--- a/mullvad-daemon/src/lib.rs
+++ b/mullvad-daemon/src/lib.rs
@@ -755,6 +755,13 @@ where
mem::drop(event_listener);
mem::drop(rpc_runtime);
+ #[cfg(not(windows))]
+ if let Err(err) = fs::remove_file(mullvad_paths::get_rpc_socket_path()) {
+ if err.kind() != std::io::ErrorKind::NotFound {
+ log::error!("Failed to remove old RPC socket: {}", err);
+ }
+ }
+
if clean_up_target_cache {
let target_cache = cache_dir.join(TARGET_START_STATE_FILE);
let _ = fs::remove_file(target_cache).map_err(|e| {
diff --git a/mullvad-daemon/src/main.rs b/mullvad-daemon/src/main.rs
index 4e055183b9..199fa84152 100644
--- a/mullvad-daemon/src/main.rs
+++ b/mullvad-daemon/src/main.rs
@@ -98,6 +98,13 @@ async fn run_standalone(log_dir: Option<PathBuf>) -> Result<(), String> {
return Err("Another instance of the daemon is already running".to_owned());
}
+ #[cfg(not(windows))]
+ if let Err(err) = tokio::fs::remove_file(mullvad_paths::get_rpc_socket_path()).await {
+ if err.kind() != std::io::ErrorKind::NotFound {
+ log::error!("Failed to remove old RPC socket: {}", err);
+ }
+ }
+
if !running_as_admin() {
warn!("Running daemon as a non-administrator user, clients might refuse to connect");
}