diff options
8 files changed, 33 insertions, 32 deletions
diff --git a/src/components/application_manager/include/application_manager/application_manager_impl.h b/src/components/application_manager/include/application_manager/application_manager_impl.h index 27be913cd5..007b3433f0 100644 --- a/src/components/application_manager/include/application_manager/application_manager_impl.h +++ b/src/components/application_manager/include/application_manager/application_manager_impl.h @@ -1149,7 +1149,7 @@ class ApplicationManagerImpl bool ConvertSOtoMessage(const smart_objects::SmartObject& message, Message& output, - const bool remove_unknown_parameters = true); + const bool allow_unknown_parameters = false); template <typename ApplicationList> void PrepareApplicationListSO(ApplicationList app_list, diff --git a/src/components/application_manager/include/application_manager/rpc_handler_impl.h b/src/components/application_manager/include/application_manager/rpc_handler_impl.h index 489bcd21fd..0f2cb46cae 100644 --- a/src/components/application_manager/include/application_manager/rpc_handler_impl.h +++ b/src/components/application_manager/include/application_manager/rpc_handler_impl.h @@ -157,14 +157,14 @@ class RPCHandlerImpl : public RPCHandler, bool ValidateRpcSO(smart_objects::SmartObject* message, utils::SemanticVersion& msg_version, rpc::ValidationReport& report_out, - bool remove_unknown_params) OVERRIDE; + bool allow_unknown_parameters) OVERRIDE; private: void ProcessMessageFromMobile(const std::shared_ptr<Message> message); void ProcessMessageFromHMI(const std::shared_ptr<Message> message); bool ConvertMessageToSO(const Message& message, smart_objects::SmartObject& output, - const bool remove_unknown_parameters = true, + const bool allow_unknown_parameters = false, const bool validate_params = true); std::shared_ptr<Message> ConvertRawMsgToMessage( const ::protocol_handler::RawMessagePtr message); diff --git a/src/components/application_manager/include/application_manager/rpc_service_impl.h b/src/components/application_manager/include/application_manager/rpc_service_impl.h index 848e9645e7..516b8abb8b 100644 --- a/src/components/application_manager/include/application_manager/rpc_service_impl.h +++ b/src/components/application_manager/include/application_manager/rpc_service_impl.h @@ -132,7 +132,7 @@ class RPCServiceImpl : public RPCService, private: bool ConvertSOtoMessage(const smart_objects::SmartObject& message, Message& output, - const bool remove_unknown_parameters = true); + const bool allow_unknown_parameters = false); hmi_apis::HMI_API& hmi_so_factory(); mobile_apis::MOBILE_API& mobile_so_factory(); diff --git a/src/components/application_manager/src/application_manager_impl.cc b/src/components/application_manager/src/application_manager_impl.cc index 9d16c366d5..581551c3ac 100644 --- a/src/components/application_manager/src/application_manager_impl.cc +++ b/src/components/application_manager/src/application_manager_impl.cc @@ -2268,7 +2268,7 @@ bool ApplicationManagerImpl::Stop() { bool ApplicationManagerImpl::ConvertSOtoMessage( const smart_objects::SmartObject& message, Message& output, - const bool remove_unknown_parameters) { + const bool allow_unknown_parameters) { LOG4CXX_AUTO_TRACE(logger_); if (smart_objects::SmartType_Null == message.getType() || diff --git a/src/components/application_manager/src/rpc_handler_impl.cc b/src/components/application_manager/src/rpc_handler_impl.cc index 8911e746a6..9063728d66 100644 --- a/src/components/application_manager/src/rpc_handler_impl.cc +++ b/src/components/application_manager/src/rpc_handler_impl.cc @@ -65,7 +65,7 @@ void RPCHandlerImpl::ProcessMessageFromMobile( #endif // TELEMETRY_MONITOR smart_objects::SmartObjectSPtr so_from_mobile = std::make_shared<smart_objects::SmartObject>(); - bool remove_unknown_parameters = true; + bool allow_unknown_parameters = false; DCHECK_OR_RETURN_VOID(so_from_mobile); if (!so_from_mobile) { LOG4CXX_ERROR(logger_, "Null pointer"); @@ -81,11 +81,11 @@ void RPCHandlerImpl::ProcessMessageFromMobile( LOG4CXX_DEBUG(logger_, "Allowing unknown parameters for request function " << message->function_id()); - remove_unknown_parameters = false; + allow_unknown_parameters = true; } if (!ConvertMessageToSO( - *message, *so_from_mobile, remove_unknown_parameters, !rpc_passing)) { + *message, *so_from_mobile, allow_unknown_parameters, !rpc_passing)) { LOG4CXX_ERROR(logger_, "Cannot create smart object from message"); return; } @@ -106,7 +106,7 @@ void RPCHandlerImpl::ProcessMessageFromMobile( commands::Command::SOURCE_MOBILE, message_type)) { // Since PassThrough failed, refiltering the message - if (!ConvertMessageToSO(*message, *so_from_mobile, true, true)) { + if (!ConvertMessageToSO(*message, *so_from_mobile)) { LOG4CXX_ERROR(logger_, "Cannot create smart object from message"); return; } @@ -134,7 +134,7 @@ void RPCHandlerImpl::ProcessMessageFromHMI( LOG4CXX_AUTO_TRACE(logger_); smart_objects::SmartObjectSPtr smart_object = std::make_shared<smart_objects::SmartObject>(); - bool remove_unknown_parameters = true; + bool allow_unknown_parameters = false; if (!smart_object) { LOG4CXX_ERROR(logger_, "Null pointer"); return; @@ -152,10 +152,10 @@ void RPCHandlerImpl::ProcessMessageFromHMI( logger_, "Allowing unknown parameters for request function " << converted_result[jhs::S_PARAMS][jhs::S_FUNCTION_ID].asInt()); - remove_unknown_parameters = false; + allow_unknown_parameters = true; } - if (!ConvertMessageToSO(*message, *smart_object, remove_unknown_parameters)) { + if (!ConvertMessageToSO(*message, *smart_object, allow_unknown_parameters)) { if (application_manager::MessageType::kResponse == (*smart_object)[strings::params][strings::message_type].asInt()) { (*smart_object).erase(strings::msg_params); @@ -283,7 +283,7 @@ void RPCHandlerImpl::GetMessageVersion( bool RPCHandlerImpl::ConvertMessageToSO( const Message& message, ns_smart_device_link::ns_smart_objects::SmartObject& output, - const bool remove_unknown_parameters, + const bool allow_unknown_parameters, const bool validate_params) { LOG4CXX_AUTO_TRACE(logger_); LOG4CXX_DEBUG(logger_, @@ -320,7 +320,7 @@ bool RPCHandlerImpl::ConvertMessageToSO( if (validate_params && !ValidateRpcSO( - so_ptr, msg_version, report, remove_unknown_parameters)) { + so_ptr, msg_version, report, allow_unknown_parameters))) { LOG4CXX_WARN(logger_, "Failed to parse string to smart object with API version " << msg_version.toString() << " : " @@ -388,10 +388,11 @@ bool RPCHandlerImpl::ConvertMessageToSO( } rpc::ValidationReport report("RPC"); + utils::SemanticVersion empty_version; if (validate_params && - output.validate(&report, empty_version, !remove_unknown_parameters) != - smart_objects::errors::OK) { + output.validate(&report, empty_version, allow_unknown_parameters) != + smart_objects::errors::OK) { LOG4CXX_ERROR(logger_, "Incorrect parameter from HMI - " << rpc::PrettyFormat(report)); @@ -455,11 +456,11 @@ bool RPCHandlerImpl::ConvertMessageToSO( bool RPCHandlerImpl::ValidateRpcSO(smart_objects::SmartObject* message, utils::SemanticVersion& msg_version, rpc::ValidationReport& report_out, - bool remove_unknown_params) { + bool allow_unknown_parameters) { if (!message || !mobile_so_factory().attachSchema( - *message, remove_unknown_params, msg_version) || - output.validate(&report_out, msg_version, !remove_unknown_parameters) != + *message, !allow_unknown_parameters, msg_version) || + message->validate(&report_out, msg_version, allow_unknown_parameters) != smart_objects::errors::OK) { LOG4CXX_WARN(logger_, "Failed to parse string to smart object"); return false; diff --git a/src/components/application_manager/src/rpc_passing_handler.cc b/src/components/application_manager/src/rpc_passing_handler.cc index 165b1f43ba..f3db361de3 100644 --- a/src/components/application_manager/src/rpc_passing_handler.cc +++ b/src/components/application_manager/src/rpc_passing_handler.cc @@ -246,7 +246,7 @@ void RPCPassingHandler::ForwardRequestToCore(uint32_t correlation_id) { } if (!app_manager_.GetRPCHandler().ValidateRpcSO( - &message, msg_version, report, true)) { + &message, msg_version, report, false)) { std::shared_ptr<smart_objects::SmartObject> response( MessageHelper::CreateNegativeResponse( connection_key, diff --git a/src/components/application_manager/src/rpc_service_impl.cc b/src/components/application_manager/src/rpc_service_impl.cc index d8329ba8cf..dfb5839764 100644 --- a/src/components/application_manager/src/rpc_service_impl.cc +++ b/src/components/application_manager/src/rpc_service_impl.cc @@ -388,7 +388,7 @@ void RPCServiceImpl::SendMessageToMobile( const bool is_result_code_exists = (*message)[strings::msg_params].keyExists(strings::result_code); - bool remove_unknown_parameters = true; + bool allow_unknown_parameters = false; if (!app) { LOG4CXX_ERROR(logger_, "No application associated with connection key"); @@ -431,7 +431,7 @@ void RPCServiceImpl::SendMessageToMobile( LOG4CXX_DEBUG(logger_, "Allowing unknown parameters for response function " << function_id); - remove_unknown_parameters = false; + allow_unknown_parameters = true; } if (rpc_passing && @@ -441,10 +441,10 @@ void RPCServiceImpl::SendMessageToMobile( (*message)[jhs::S_PARAMS][jhs::S_CORRELATION_ID].asUInt(), commands::Command::CommandSource::SOURCE_SDL, (*message)[jhs::S_PARAMS][jhs::S_MESSAGE_TYPE].asInt())) { - remove_unknown_parameters = true; + allow_unknown_parameters = false; } if (!ConvertSOtoMessage( - (*message), (*message_to_send), remove_unknown_parameters)) { + (*message), (*message_to_send), allow_unknown_parameters)) { LOG4CXX_WARN(logger_, "Can't send msg to Mobile: failed to create string"); return; } @@ -523,7 +523,7 @@ void RPCServiceImpl::SendMessageToHMI( return; } - bool remove_unknown_parameters = true; + bool allow_unknown_parameters = false; // SmartObject |message| has no way to declare priority for now std::shared_ptr<Message> message_to_send( new Message(protocol_handler::MessagePriority::kDefault)); @@ -543,11 +543,11 @@ void RPCServiceImpl::SendMessageToHMI( "Allowing unknown parameters for response function " << (*message)[jhs::S_PARAMS][jhs::S_FUNCTION_ID].asInt()); - remove_unknown_parameters = false; + allow_unknown_parameters = true; } if (!ConvertSOtoMessage( - *message, *message_to_send, remove_unknown_parameters)) { + *message, *message_to_send, allow_unknown_parameters)) { LOG4CXX_WARN(logger_, "Cannot send message to HMI: failed to create string"); return; @@ -605,7 +605,7 @@ void RPCServiceImpl::set_hmi_message_handler( bool RPCServiceImpl::ConvertSOtoMessage( const ns_smart_device_link::ns_smart_objects::SmartObject& message, Message& output, - const bool remove_unknown_parameters) { + const bool allow_unknown_parameters) { LOG4CXX_AUTO_TRACE(logger_); if (smart_objects::SmartType_Null == message.getType() || @@ -631,7 +631,7 @@ bool RPCServiceImpl::ConvertSOtoMessage( case 0: { if (protocol_version == 1) { if (!formatters::CFormatterJsonSDLRPCv1::toString( - message, output_string, remove_unknown_parameters)) { + message, output_string, !allow_unknown_parameters)) { LOG4CXX_WARN(logger_, "Failed to serialize smart object"); return false; } @@ -639,7 +639,7 @@ bool RPCServiceImpl::ConvertSOtoMessage( protocol_handler::MajorProtocolVersion::PROTOCOL_VERSION_1); } else { if (!formatters::CFormatterJsonSDLRPCv2::toString( - message, output_string, remove_unknown_parameters)) { + message, output_string, !allow_unknown_parameters)) { LOG4CXX_WARN(logger_, "Failed to serialize smart object"); return false; } @@ -652,7 +652,7 @@ bool RPCServiceImpl::ConvertSOtoMessage( } case 1: { if (!formatters::FormatterJsonRpc::ToString( - message, output_string, remove_unknown_parameters)) { + message, output_string, !allow_unknown_parameters)) { LOG4CXX_WARN(logger_, "Failed to serialize smart object"); return false; } diff --git a/src/components/include/application_manager/rpc_handler.h b/src/components/include/application_manager/rpc_handler.h index a64ef44dfb..3652c77342 100644 --- a/src/components/include/application_manager/rpc_handler.h +++ b/src/components/include/application_manager/rpc_handler.h @@ -55,7 +55,7 @@ class RPCHandler virtual bool ValidateRpcSO(smart_objects::SmartObject* message, utils::SemanticVersion& msg_version, rpc::ValidationReport& report_out, - bool remove_unknown_params) = 0; + bool allow_unknown_parameters) = 0; virtual ~RPCHandler() {} }; |