From 26ca4e31a31d89c6c28a47f1252237b029e62c6a Mon Sep 17 00:00:00 2001 From: jacobkeeler Date: Wed, 2 Dec 2020 13:43:42 -0500 Subject: Handle omitted parameter permissions properly in OnVehicleData notification --- .../mobile/on_vehicle_data_notification.cc | 26 ++++++++++++++-------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/src/components/application_manager/rpc_plugins/vehicle_info_plugin/src/commands/mobile/on_vehicle_data_notification.cc b/src/components/application_manager/rpc_plugins/vehicle_info_plugin/src/commands/mobile/on_vehicle_data_notification.cc index 1799d7068c..cfa638de95 100644 --- a/src/components/application_manager/rpc_plugins/vehicle_info_plugin/src/commands/mobile/on_vehicle_data_notification.cc +++ b/src/components/application_manager/rpc_plugins/vehicle_info_plugin/src/commands/mobile/on_vehicle_data_notification.cc @@ -112,15 +112,23 @@ void OnVehicleDataNotification::Run() { mobile_api::FunctionID::OnVehicleDataID), appSO[idx].enumerate(), ¶ms_permissions); - - for (const auto& param : appSO[idx].enumerate()) { - const auto& allowed_params = params_permissions.allowed_params; - auto param_allowed = allowed_params.find(param); - if (allowed_params.end() == param_allowed) { - SDL_LOG_DEBUG("Param " << param << " is not allowed by policy for app " - << notify_apps[idx]->app_id() - << ". It will be ignored."); - appSO[idx].erase(param); + if (parameters_permissions_.allowed_params.empty() && + parameters_permissions_.disallowed_params.empty() && + parameters_permissions_.undefined_params.empty()) { + SDL_LOG_DEBUG( + "No parameter permissions provided, all params are allowed"); + } + else { + for (const auto& param : appSO[idx].enumerate()) { + const auto& allowed_params = params_permissions.allowed_params; + auto param_allowed = allowed_params.find(param); + if (allowed_params.end() == param_allowed) { + SDL_LOG_DEBUG("Param " << param + << " is not allowed by policy for app " + << notify_apps[idx]->app_id() + << ". It will be ignored."); + appSO[idx].erase(param); + } } } -- cgit v1.2.1 From 77120181e8ac427588734c9d798ce392b1c3c0bc Mon Sep 17 00:00:00 2001 From: jacobkeeler Date: Wed, 9 Dec 2020 14:45:40 -0500 Subject: Fix style --- .../src/commands/mobile/on_vehicle_data_notification.cc | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/components/application_manager/rpc_plugins/vehicle_info_plugin/src/commands/mobile/on_vehicle_data_notification.cc b/src/components/application_manager/rpc_plugins/vehicle_info_plugin/src/commands/mobile/on_vehicle_data_notification.cc index cfa638de95..ef0f1614af 100644 --- a/src/components/application_manager/rpc_plugins/vehicle_info_plugin/src/commands/mobile/on_vehicle_data_notification.cc +++ b/src/components/application_manager/rpc_plugins/vehicle_info_plugin/src/commands/mobile/on_vehicle_data_notification.cc @@ -117,8 +117,7 @@ void OnVehicleDataNotification::Run() { parameters_permissions_.undefined_params.empty()) { SDL_LOG_DEBUG( "No parameter permissions provided, all params are allowed"); - } - else { + } else { for (const auto& param : appSO[idx].enumerate()) { const auto& allowed_params = params_permissions.allowed_params; auto param_allowed = allowed_params.find(param); -- cgit v1.2.1