diff options
| author | David Lönnhager <david.l@mullvad.net> | 2021-04-06 17:55:38 +0200 |
|---|---|---|
| committer | David Lönnhager <david.l@mullvad.net> | 2021-04-08 14:13:29 +0200 |
| commit | 4e279886c02a2a279c676c9c2552d3f308e23a77 (patch) | |
| tree | dbd599adac27035ba6f59899ae2ff12bfa83f818 | |
| parent | 534f6e57c89c974d53b0ca046dec912fde747457 (diff) | |
| download | mullvadvpn-4e279886c02a2a279c676c9c2552d3f308e23a77.tar.xz mullvadvpn-4e279886c02a2a279c676c9c2552d3f308e23a77.zip | |
Simplify setting of socket permissions
| -rw-r--r-- | mullvad-management-interface/src/lib.rs | 20 |
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(()); |
