summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorDavid Lönnhager <david.l@mullvad.net>2021-04-06 17:55:38 +0200
committerDavid Lönnhager <david.l@mullvad.net>2021-04-08 14:13:29 +0200
commit4e279886c02a2a279c676c9c2552d3f308e23a77 (patch)
treedbd599adac27035ba6f59899ae2ff12bfa83f818
parent534f6e57c89c974d53b0ca046dec912fde747457 (diff)
downloadmullvadvpn-4e279886c02a2a279c676c9c2552d3f308e23a77.tar.xz
mullvadvpn-4e279886c02a2a279c676c9c2552d3f308e23a77.zip
Simplify setting of socket permissions
-rw-r--r--mullvad-management-interface/src/lib.rs20
1 files changed, 8 insertions, 12 deletions
diff --git a/mullvad-management-interface/src/lib.rs b/mullvad-management-interface/src/lib.rs
index f27f229428..abf4282923 100644
--- a/mullvad-management-interface/src/lib.rs
+++ b/mullvad-management-interface/src/lib.rs
@@ -84,23 +84,19 @@ pub async fn spawn_rpc_server<T: ManagementService>(
endpoint.set_security_attributes(
SecurityAttributes::allow_everyone_create()
.map_err(Error::SecurityAttributes)?
- .set_mode(777)
+ .set_mode(0o766)
.map_err(Error::SecurityAttributes)?,
);
let incoming = endpoint.incoming().map_err(Error::StartServerError)?;
#[cfg(unix)]
- match &*MULLVAD_MANAGEMENT_SOCKET_GROUP {
- None => fs::set_permissions(&socket_path, PermissionsExt::from_mode(0o766))
- .map_err(Error::PermissionsError)?,
- Some(group_name) => {
- let group = nix::unistd::Group::from_name(&group_name)
- .map_err(Error::ObtainGidError)?
- .ok_or(Error::NoGidError)?;
- nix::unistd::chown(&socket_path, None, Some(group.gid)).map_err(Error::SetGidError)?;
- fs::set_permissions(&socket_path, PermissionsExt::from_mode(0o760))
- .map_err(Error::PermissionsError)?;
- }
+ if let Some(group_name) = &*MULLVAD_MANAGEMENT_SOCKET_GROUP {
+ let group = nix::unistd::Group::from_name(group_name)
+ .map_err(Error::ObtainGidError)?
+ .ok_or(Error::NoGidError)?;
+ nix::unistd::chown(&socket_path, None, Some(group.gid)).map_err(Error::SetGidError)?;
+ fs::set_permissions(&socket_path, PermissionsExt::from_mode(0o760))
+ .map_err(Error::PermissionsError)?;
}
let _ = server_start_tx.send(());