diff options
| author | Odd Stranne <odd@mullvad.net> | 2019-12-05 22:31:16 +0100 |
|---|---|---|
| committer | Odd Stranne <odd@mullvad.net> | 2019-12-06 18:38:15 +0100 |
| commit | 38b70c38abead26b5b636c5b4bfaa1a08cedf67b (patch) | |
| tree | 0e1f50aa29a99e05840cc6fe9e21b93292164f79 | |
| parent | 76f75e56ad67c89b015d93d06a35156433ad0cec (diff) | |
| download | mullvadvpn-38b70c38abead26b5b636c5b4bfaa1a08cedf67b.tar.xz mullvadvpn-38b70c38abead26b5b636c5b4bfaa1a08cedf67b.zip | |
Configure service SID info as 'unrestricted'
| -rw-r--r-- | mullvad-daemon/src/system_service.rs | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/mullvad-daemon/src/system_service.rs b/mullvad-daemon/src/system_service.rs index beee45c5c7..73c5039b5b 100644 --- a/mullvad-daemon/src/system_service.rs +++ b/mullvad-daemon/src/system_service.rs @@ -15,8 +15,8 @@ use windows_service::{ service::{ Service, ServiceAccess, ServiceAction, ServiceActionType, ServiceControl, ServiceControlAccept, ServiceDependency, ServiceErrorControl, ServiceExitCode, ServiceFailureActions, - ServiceFailureResetPeriod, ServiceInfo, ServiceStartType, ServiceState, ServiceStatus, - ServiceType, + ServiceFailureResetPeriod, ServiceInfo, ServiceSidType, ServiceStartType, ServiceState, + ServiceStatus, ServiceType, }, service_control_handler::{self, ServiceControlHandlerResult, ServiceStatusHandle}, service_dispatcher, @@ -290,7 +290,15 @@ pub fn install_service() -> Result<(), InstallError> { .map_err(InstallError::CreateService)?; service .set_failure_actions_on_non_crash_failures(true) - .map_err(InstallError::CreateService) + .map_err(InstallError::CreateService)?; + + // Change how the service SID is added to the service process token. + // WireGuard needs this. + service + .set_config_service_sid_info(ServiceSidType::Unrestricted) + .map_err(InstallError::CreateService)?; + + Ok(()) } fn open_update_service(service_manager: &ServiceManager) -> Result<Service, windows_service::Error> { |
