summaryrefslogtreecommitdiff
path: root/src/components/application_manager
diff options
context:
space:
mode:
authorJackLivio <jack@livio.io>2019-02-23 13:49:50 -0500
committerJackLivio <jack@livio.io>2019-02-23 13:49:50 -0500
commit7d7af1bc71540dcfefbf669fc27e07f7996c586a (patch)
tree1114bc570192b3aa23fa4d3b727d77be8e6909b7 /src/components/application_manager
parent5a0d510affcc77ddf240fc2b3465da6b570b1da1 (diff)
downloadsdl_core-7d7af1bc71540dcfefbf669fc27e07f7996c586a.tar.gz
Set behavior for omitted and missing service_names and handled_rpcs
Diffstat (limited to 'src/components/application_manager')
-rw-r--r--src/components/application_manager/rpc_plugins/app_service_rpc_plugin/src/commands/mobile/publish_app_service_request.cc4
-rw-r--r--src/components/application_manager/src/policies/policy_handler.cc15
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;
}
}