diff options
author | JackLivio <jack@livio.io> | 2019-02-23 13:49:50 -0500 |
---|---|---|
committer | JackLivio <jack@livio.io> | 2019-02-23 13:49:50 -0500 |
commit | 7d7af1bc71540dcfefbf669fc27e07f7996c586a (patch) | |
tree | 1114bc570192b3aa23fa4d3b727d77be8e6909b7 /src/components/application_manager | |
parent | 5a0d510affcc77ddf240fc2b3465da6b570b1da1 (diff) | |
download | sdl_core-7d7af1bc71540dcfefbf669fc27e07f7996c586a.tar.gz |
Set behavior for omitted and missing service_names and handled_rpcs
Diffstat (limited to 'src/components/application_manager')
2 files changed, 12 insertions, 7 deletions
diff --git a/src/components/application_manager/rpc_plugins/app_service_rpc_plugin/src/commands/mobile/publish_app_service_request.cc b/src/components/application_manager/rpc_plugins/app_service_rpc_plugin/src/commands/mobile/publish_app_service_request.cc index 7ccbe9fecd..81f369a6d8 100644 --- a/src/components/application_manager/rpc_plugins/app_service_rpc_plugin/src/commands/mobile/publish_app_service_request.cc +++ b/src/components/application_manager/rpc_plugins/app_service_rpc_plugin/src/commands/mobile/publish_app_service_request.cc @@ -113,7 +113,7 @@ void PublishAppServiceRequest::Run() { (*message_)[strings::msg_params][strings::app_service_manifest] [strings::service_type].asString(); - smart_objects::SmartArray* requested_handled_rpcs; + smart_objects::SmartArray* requested_handled_rpcs = NULL; if ((*message_)[strings::msg_params][strings::app_service_manifest].keyExists( strings::handled_rpcs)) { requested_handled_rpcs = @@ -121,8 +121,6 @@ void PublishAppServiceRequest::Run() { [strings::handled_rpcs].asArray(); } - ApplicationSharedPtr app = application_manager_.application(connection_key()); - bool result = policy_handler_.CheckAppServiceParameters(app->policy_app_id(), requested_service_name, diff --git a/src/components/application_manager/src/policies/policy_handler.cc b/src/components/application_manager/src/policies/policy_handler.cc index 9382a8580b..c267ac5de9 100644 --- a/src/components/application_manager/src/policies/policy_handler.cc +++ b/src/components/application_manager/src/policies/policy_handler.cc @@ -1965,21 +1965,26 @@ bool PolicyHandler::CheckAppServiceParameters( return false; } - if (!requested_service_name.empty()) { - auto service_names = - *(app_service_parameters[requested_service_type].service_names); + auto service_names = + *(app_service_parameters[requested_service_type].service_names); + if (!service_names.is_initialized()) { + LOG4CXX_DEBUG(logger_, + "Pt Service Name is Null, All service names accepted"); + } else if (!requested_service_name.empty()) { auto find_name_result = std::find(service_names.begin(), service_names.end(), rpc::String<0, 255>(requested_service_name)); if (find_name_result == service_names.end()) { + LOG4CXX_DEBUG(logger_, + "Disallowed service name: " << requested_service_name); return false; } } if (requested_handled_rpcs) { auto temp_rpcs = - *(app_service_parameters[requested_service_type].handled_rpcs); + app_service_parameters[requested_service_type].handled_rpcs; for (auto handled_it = temp_rpcs.begin(); handled_it != temp_rpcs.end(); ++handled_it) { handled_rpcs.push_back(handled_it->function_id); @@ -1991,6 +1996,8 @@ bool PolicyHandler::CheckAppServiceParameters( auto find_result = std::find( handled_rpcs.begin(), handled_rpcs.end(), requested_it->asInt()); if (find_result == handled_rpcs.end()) { + LOG4CXX_DEBUG(logger_, + "Disallowed by handled rpc: " << requested_it->asInt()); return false; } } |