From 43a2ecd35ac827f3fd6161aff3828730ddbbee7e Mon Sep 17 00:00:00 2001 From: Ji-hoon Lee Date: Thu, 24 Dec 2020 19:43:17 +0900 Subject: [PATCH] Use trusted message port for secure audio transmission Change-Id: I48971865acb4750f52c83bebbb46797d859901f2 --- CMakeLists.txt | 3 + packaging/org.tizen.multi-assistant-service.spec | 10 ++++ signatures/tv/author-signature.xml | 74 ++++++++++++++++++++++++ signatures/tv/signature1.xml | 74 ++++++++++++++++++++++++ src/service_ipc_dbus.cpp | 13 +++++ 5 files changed, 174 insertions(+) create mode 100755 signatures/tv/author-signature.xml create mode 100755 signatures/tv/signature1.xml diff --git a/CMakeLists.txt b/CMakeLists.txt index bc07553..3d2eee2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -51,6 +51,9 @@ IF(NOT "${TEST_TYPE}" STREQUAL "none") SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DTEST_TYPE=${TEST_TYPE}") ENDIF() +SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DUSE_TRUSTED_MESSAGE_PORT=${USE_TRUSTED_MESSAGE_PORT}") +SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DUSE_TRUSTED_MESSAGE_PORT=${USE_TRUSTED_MESSAGE_PORT}") + # OPTION DEBUG ----------------------------------------------------------------------------------- IF("${_SDEBUG}" MATCHES "debug") MESSAGE("Building in debug mode.") diff --git a/packaging/org.tizen.multi-assistant-service.spec b/packaging/org.tizen.multi-assistant-service.spec index d3dee79..d9aa878 100644 --- a/packaging/org.tizen.multi-assistant-service.spec +++ b/packaging/org.tizen.multi-assistant-service.spec @@ -67,6 +67,11 @@ export LDFLAGS %else -DTEST_TYPE="none" \ %endif +%if "%{?profile}" == "tv" + -DUSE_TRUSTED_MESSAGE_PORT="1" \ +%else + -DUSE_TRUSTED_MESSAGE_PORT="0" \ +%endif make %{?jobs:-j%jobs} @@ -74,6 +79,10 @@ make %{?jobs:-j%jobs} rm -rf %{buildroot} %make_install +%if "%{?profile}" == "tv" +install -m 0644 signatures/tv/author-signature.xml "%{buildroot}"/%{TZ_SYS_RO_APP}/%{name} +install -m 0644 signatures/tv/signature1.xml "%{buildroot}"%{TZ_SYS_RO_APP}/%{name} +%endif %check %if "%{_ctest_enable}" == "true" @@ -99,6 +108,7 @@ exit 0 /usr/share/packages/org.tizen.multi-assistant-service.xml %{TZ_SYS_RO_SHARE}/multiassistant/libma-wakeup-manager.so %{TZ_SYS_RO_SHARE}/multiassistant/libma-dependency-default.so +%{TZ_SYS_RO_APP}/%{name}/* #%{_appdir}/lib/* %{_appdir}/bin/* #%defattr(-,app,app,-) diff --git a/signatures/tv/author-signature.xml b/signatures/tv/author-signature.xml new file mode 100755 index 0000000..eaabe07 --- /dev/null +++ b/signatures/tv/author-signature.xml @@ -0,0 +1,74 @@ + + + + + + + + + + + e2rGZ9lURQWep1IIbrRk2NYMw5EXlejQt2B0bMLUyoc= + + + none + + + +MIIDszCCApugAwIBAgIBAjANBgkqhkiG9w0BAQsFADB/MQswCQYDVQQGEwJLUjEU +MBIGA1UECAwLU291dGggS29yZWExDjAMBgNVBAcMBVN1d29uMSYwJAYDVQQKDB1T +YW1zdW5nIEVsZWN0cm9uaWNzIENvLiwgTHRkLjELMAkGA1UECwwCVkQxFTATBgNV +BAMMDFZEIEF1dGhvciBDQTAeFw0xNjAxMDEwMDAwMDBaFw0yOTEyMzEyMzU5NTla +MIGJMQswCQYDVQQGEwJLUjEOMAwGA1UECBMFU3V3b24xDjAMBgNVBAcTBVN1d29u +MRwwGgYDVQQKExNTYW1zdW5nIEVsZWN0cm9uaWNzMQswCQYDVQQLEwJWRDEvMC0G +A1UEAxMmU2Ftc3VuZyBFbGVjdHJvbmljcyBJbi1Ib3VzZSBEZXZlbG9wZXIwggEi +MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC4/rIDyVO2TwqRqJKW6M/wJx05 +wag57eFNoSfOd+LQEIz5Py1JTlqi+J6RS8DP98OiTPEqQardeTgq29abrdst5V4d +k/kHTwNe+5zOlPZICzvIhqXZOImFRbZ3HX+gcJ6x+mvzUom4JaUrJ4fZ6B2Ql8vn +x833Z3LUytfeKbmwFQu9L31T7ByVAshJu1CsRpaCbp65rq8Fnr1k8mE6r6fLL+se +sehWt3SDfMeD186hjzYoR73CjaLCkVhRqMzPgkdv07CTDzcEEuv3ALi7R6rpf+Om +mu/hfTzp6Gkw5oWMDD9SoMKql4gIds/zsW+hJGEQMJfei4T4LP4EAvgA8I/nAgMB +AAGjLzAtMAkGA1UdEwQCMAAwCwYDVR0PBAQDAgeAMBMGA1UdJQQMMAoGCCsGAQUF +BwMDMA0GCSqGSIb3DQEBCwUAA4IBAQCAoZXvWK6/3l/PvrfAEduEtkmMOkBDIoyb +G7/3w36/c+MTiVyKrWP81/Q5N2PSh6xBkNKaiFJ0/ww2HC4PZgrplXDgHLLbD1hf +Y/u/zkXqHuMTMRVzzeMjDm2jdVqWG/4PDf8pYyPK0hO4aA878cs7ZB+zVxls5af0 +auD4fAPu3bQPY5oHUioh8/IqL+oni1Ld6ENIznULLeOnTaq+/scIiqDRQFM8qPDu +U3yDC8tjLlrnLxl+MU/Whg8DiCtlslOgFrH2ry8bN2/SyyzuDrUx+kP8qs5Nbs7W +qHA6zqgtiWjCu+6QMKXAwZsfBtnJaVIIN56WWloj8/QEBaiCtmp3 + +MIIDjzCCAnegAwIBAgIBATANBgkqhkiG9w0BAQsFADCBhDELMAkGA1UEBhMCS1Ix +FDASBgNVBAgMC1NvdXRoIEtvcmVhMQ4wDAYDVQQHDAVTdXdvbjEmMCQGA1UECgwd +U2Ftc3VuZyBFbGVjdHJvbmljcyBDby4sIEx0ZC4xCzAJBgNVBAsMAlZEMRowGAYD +VQQDDBFWRCBBdXRob3IgUm9vdCBDQTAeFw0xNTAxMTMwNTQ5MjBaFw0zMDAxMDkw +NTQ5MjBaMH8xCzAJBgNVBAYTAktSMRQwEgYDVQQIDAtTb3V0aCBLb3JlYTEOMAwG +A1UEBwwFU3V3b24xJjAkBgNVBAoMHVNhbXN1bmcgRWxlY3Ryb25pY3MgQ28uLCBM +dGQuMQswCQYDVQQLDAJWRDEVMBMGA1UEAwwMVkQgQXV0aG9yIENBMIIBIjANBgkq +hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1SaxfDNXQMUVE/7tqv/XcaAcgQGXMI/o +o2PF1PH18IBZLnazaA8UOCAooBQO4WJpnj3KouTBmr07bKG6fyJJunzEKsdMNjkS +6orh2KJUtBteD59YB8rh9nLqwsTGANIEKZd4C9BiB0DQnYk6dw1qtdcCcGuEvNk9 +jtxTuvFQo9r0DRPC16mN+sDd1rsxYq9ixZ8axPIxdECawOEOHzBrmyG/Mo7KTjf0 +sUUfanQXhVuajRBX3i28F4BBXt6ruXpm7MNWgKz6mZryJ5MQLetW1YvXS2PXQXty +U8vwxqAChfQiAW0yGunP8o/YNAYcu1bIXKc25RP2ReVZi2+53QwdmQIDAQABoxAw +DjAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQBB7za36fUCusE6q1Ta +U+0WPz+dkumosXV03HxzcqqcajP/5OumrikQx7LHbRlvLkIPlPOH8yMMS454XCgs +wnSoOxgeorzBchDJll9z+rTaQro7rmCN7TS/N9l2rIEaa/RVEQPUeEeE4yDeMf61 +aDhPEhnNdylV0kyS3YLkJd2KBPedsSKkCWUCi2F9g2bHrnuggkEQtOoP2kTBFKvq +gNAJEzm5q6EdV0Ya0JFescY5oUmtu8ayTc1cBS6OvadXoN/Po62Ir6BOc1JI0tnU +AUlOmJ+Ku5ZRJCrL80ozpbcvz6JU+Xefs4e/uHpmxHSolvHnzTGm866k6JZhj0ug +deAD + + + + + + + + + + + + + + + + diff --git a/signatures/tv/signature1.xml b/signatures/tv/signature1.xml new file mode 100755 index 0000000..5ce25ec --- /dev/null +++ b/signatures/tv/signature1.xml @@ -0,0 +1,74 @@ + + + + + + + + + + + abSCdQC03ZcPoEN8T0eWSILDIhDi2uNziivgdw1gmmQ= + + + none + + + +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 + + + + + + + + + + + + + + + + diff --git a/src/service_ipc_dbus.cpp b/src/service_ipc_dbus.cpp index f8027cd..a816966 100644 --- a/src/service_ipc_dbus.cpp +++ b/src/service_ipc_dbus.cpp @@ -246,7 +246,11 @@ int CServiceIpcDbus::send_streaming_audio_data(pid_t pid, int event, void* data, bundle_add_byte(b, "content", pending_buffer, pending_buffer_size); boost::optional appid = mApplicationManager->get_appid_by_pid(pid); if (appid) { +#if USE_TRUSTED_MESSAGE_PORT + int ret = message_port_send_trusted_message((*appid).c_str(), message_port, b); +#else int ret = message_port_send_message((*appid).c_str(), message_port, b); +#endif if (MESSAGE_PORT_ERROR_NONE != ret) masc_message_port_error(ret); } else { @@ -271,7 +275,11 @@ int CServiceIpcDbus::send_streaming_audio_data(pid_t pid, int event, void* data, bundle_add_byte(b, "content", buffer, total_size); boost::optional appid = mApplicationManager->get_appid_by_pid(pid); if (appid) { +#if USE_TRUSTED_MESSAGE_PORT + int ret = message_port_send_trusted_message((*appid).c_str(), message_port, b); +#else int ret = message_port_send_message((*appid).c_str(), message_port, b); +#endif if (MESSAGE_PORT_ERROR_NONE != ret) masc_message_port_error(ret); } else { @@ -428,8 +436,13 @@ int CServiceIpcDbus::send_streaming_section_changed(pid_t pid, int section) total_size += sizeof(streaming_section_header); bundle_add_byte(b, "content", buffer, total_size); +#if USE_TRUSTED_MESSAGE_PORT + int ret = message_port_send_trusted_message( + mClientManager->find_client_appid_by_pid(pid).c_str(), message_port, b); +#else int ret = message_port_send_message( mClientManager->find_client_appid_by_pid(pid).c_str(), message_port, b); +#endif if (MESSAGE_PORT_ERROR_NONE != ret) masc_message_port_error(ret); -- 2.7.4