diff options
| author | David Lönnhager <david.l@mullvad.net> | 2023-02-10 10:28:25 +0100 |
|---|---|---|
| committer | David Lönnhager <david.l@mullvad.net> | 2023-02-10 10:28:25 +0100 |
| commit | e52a806c445fbe928edf83e209fb1597189e6f0c (patch) | |
| tree | 3ba4d1840838d9805ebcca3b424e4f1f00e96ae9 | |
| parent | 3a6158c180a4726f201ba6fb456b9277db4bde48 (diff) | |
| parent | d2e001506eb1f96c138b4d55fd07f0e46dd800b7 (diff) | |
| download | mullvadvpn-e52a806c445fbe928edf83e209fb1597189e6f0c.tar.xz mullvadvpn-e52a806c445fbe928edf83e209fb1597189e6f0c.zip | |
Merge branch 'relax-settings-perms'
| -rw-r--r-- | mullvad-daemon/src/management_interface.rs | 3 | ||||
| -rw-r--r-- | mullvad-daemon/src/migrations/mod.rs | 7 | ||||
| -rw-r--r-- | mullvad-daemon/src/settings.rs | 28 |
3 files changed, 3 insertions, 35 deletions
diff --git a/mullvad-daemon/src/management_interface.rs b/mullvad-daemon/src/management_interface.rs index f7101fec21..a66ee7a7db 100644 --- a/mullvad-daemon/src/management_interface.rs +++ b/mullvad-daemon/src/management_interface.rs @@ -992,8 +992,7 @@ fn map_settings_error(error: settings::Error) -> Status { match error { settings::Error::DeleteError(..) | settings::Error::WriteError(..) - | settings::Error::ReadError(..) - | settings::Error::SetPermissions(..) => { + | settings::Error::ReadError(..) => { Status::new(Code::FailedPrecondition, error.to_string()) } settings::Error::SerializeError(..) | settings::Error::ParseError(..) => { diff --git a/mullvad-daemon/src/migrations/mod.rs b/mullvad-daemon/src/migrations/mod.rs index 5b4c82702f..2987b36dfe 100644 --- a/mullvad-daemon/src/migrations/mod.rs +++ b/mullvad-daemon/src/migrations/mod.rs @@ -157,12 +157,7 @@ pub(crate) async fn migrate_all( let buffer = serde_json::to_string_pretty(&settings).map_err(Error::Serialize)?; - let mut options = fs::OpenOptions::new(); - #[cfg(unix)] - { - options.mode(0o600); - } - let mut file = options + let mut file = fs::OpenOptions::new() .create(true) .write(true) .truncate(true) diff --git a/mullvad-daemon/src/settings.rs b/mullvad-daemon/src/settings.rs index 5ca3ff8908..3ca4408f06 100644 --- a/mullvad-daemon/src/settings.rs +++ b/mullvad-daemon/src/settings.rs @@ -38,9 +38,6 @@ pub enum Error { #[error(display = "Unable to write settings to {}", _0)] WriteError(String, #[error(source)] io::Error), - - #[error(display = "Unable to set settings file permissions")] - SetPermissions(#[error(source)] io::Error), } #[derive(Debug)] @@ -128,12 +125,7 @@ impl SettingsPersister { log::debug!("Writing settings to {}", self.path.display()); let buffer = serde_json::to_string_pretty(&self.settings).map_err(Error::SerializeError)?; - let mut options = fs::OpenOptions::new(); - #[cfg(unix)] - { - options.mode(0o600); - } - let mut file = options + let mut file = fs::OpenOptions::new() .create(true) .write(true) .truncate(true) @@ -143,24 +135,6 @@ impl SettingsPersister { file.write_all(&buffer.into_bytes()) .await .map_err(|e| Error::WriteError(self.path.display().to_string(), e))?; - - #[cfg(unix)] - { - use std::os::unix::fs::PermissionsExt; - let mut permissions = file - .metadata() - .await - .map_err(Error::SetPermissions)? - .permissions(); - if permissions.mode() & 0o777 != 0o600 { - log::debug!("Updating file permissions"); - permissions.set_mode(0o600); - file.set_permissions(permissions) - .await - .map_err(Error::SetPermissions)?; - } - } - file.sync_all() .await .map_err(|e| Error::WriteError(self.path.display().to_string(), e))?; |
