diff options
| author | Emīls <emils@mullvad.net> | 2021-09-08 11:41:16 +0100 |
|---|---|---|
| committer | Emīls <emils@mullvad.net> | 2021-09-08 11:41:16 +0100 |
| commit | 27eb6925d7d1bd0fd9c8f2e4da18dea308ef129c (patch) | |
| tree | 34da3cc1204a12e0430a21678cefa766647d2f0e | |
| parent | 0342d620485c16eb92dce2393678fd8ed3dbe381 (diff) | |
| parent | bfbeeac755a40d27ae051b340354b705fba48fe7 (diff) | |
| download | mullvadvpn-27eb6925d7d1bd0fd9c8f2e4da18dea308ef129c.tar.xz mullvadvpn-27eb6925d7d1bd0fd9c8f2e4da18dea308ef129c.zip | |
Merge branch 'improve-error-handling-in-daemon'
| -rw-r--r-- | mullvad-daemon/src/management_interface.rs | 25 | ||||
| -rw-r--r-- | mullvad-management-interface/src/types.rs | 8 |
2 files changed, 12 insertions, 21 deletions
diff --git a/mullvad-daemon/src/management_interface.rs b/mullvad-daemon/src/management_interface.rs index bdc5c4d4bb..0b2f6b463f 100644 --- a/mullvad-daemon/src/management_interface.rs +++ b/mullvad-daemon/src/management_interface.rs @@ -168,12 +168,7 @@ impl ManagementService for ManagementServiceImpl { ) -> ServiceResult<()> { log::debug!("update_relay_settings"); let (tx, rx) = oneshot::channel(); - let constraints_update = - RelaySettingsUpdate::try_from(request.into_inner()).map_err(|error| match error { - types::FromProtobufTypeError::InvalidArgument(error) => { - Status::invalid_argument(error) - } - })?; + let constraints_update = RelaySettingsUpdate::try_from(request.into_inner())?; let message = DaemonCommand::UpdateRelaySettings(tx, constraints_update); self.send_command_to_daemon(message)?; @@ -228,12 +223,7 @@ impl ManagementService for ManagementServiceImpl { &self, request: Request<types::BridgeSettings>, ) -> ServiceResult<()> { - let settings = - BridgeSettings::try_from(request.into_inner()).map_err(|error| match error { - types::FromProtobufTypeError::InvalidArgument(error) => { - Status::invalid_argument(error) - } - })?; + let settings = BridgeSettings::try_from(request.into_inner())?; log::debug!("set_bridge_settings({:?})", settings); @@ -246,12 +236,7 @@ impl ManagementService for ManagementServiceImpl { } async fn set_bridge_state(&self, request: Request<types::BridgeState>) -> ServiceResult<()> { - let bridge_state = - BridgeState::try_from(request.into_inner()).map_err(|error| match error { - types::FromProtobufTypeError::InvalidArgument(error) => { - Status::invalid_argument(error) - } - })?; + let bridge_state = BridgeState::try_from(request.into_inner())?; log::debug!("set_bridge_state({:?})", bridge_state); let (tx, rx) = oneshot::channel(); @@ -362,9 +347,7 @@ impl ManagementService for ManagementServiceImpl { #[cfg(not(target_os = "android"))] async fn set_dns_options(&self, request: Request<types::DnsOptions>) -> ServiceResult<()> { - let options = DnsOptions::try_from(request.into_inner()).map_err(|error| match error { - types::FromProtobufTypeError::InvalidArgument(error) => Status::invalid_argument(error), - })?; + let options = DnsOptions::try_from(request.into_inner())?; log::debug!("set_dns_options({:?})", options); let (tx, rx) = oneshot::channel(); diff --git a/mullvad-management-interface/src/types.rs b/mullvad-management-interface/src/types.rs index 38e5031df1..28149c427d 100644 --- a/mullvad-management-interface/src/types.rs +++ b/mullvad-management-interface/src/types.rs @@ -1215,3 +1215,11 @@ fn convert_providers_constraint( Constraint::Only(providers) => Vec::from(providers.clone()), } } + +impl From<FromProtobufTypeError> for crate::Status { + fn from(err: FromProtobufTypeError) -> Self { + match err { + FromProtobufTypeError::InvalidArgument(err) => crate::Status::invalid_argument(err), + } + } +} |
