Use trusted message port for secure audio transmission 25/250825/1
authorJi-hoon Lee <dalton.lee@samsung.com>
Thu, 24 Dec 2020 10:51:55 +0000 (19:51 +0900)
committerJi-hoon Lee <dalton.lee@samsung.com>
Tue, 5 Jan 2021 04:33:38 +0000 (13:33 +0900)
Change-Id: I296a0d86cd8ba53ad7437738725893e172052c1a

CMakeLists.txt
client/ma_ap_dbus.c
packaging/multi-assistant.spec

index 1192d1bd8c3da5f1f810f0784fcb43646f07ba7e..d05707a19602b02f435b20522efd5392e37a4405 100644 (file)
@@ -46,6 +46,8 @@ pkg_check_modules(pkgs REQUIRED
     capi-base-common ecore-wayland capi-system-info cynara-client cynara-session dbus-1 dlog ecore bundle capi-message-port glib-2.0 json-glib-1.0 libgum libtzplatform-config libxml-2.0 vconf
 )
 
+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}")
 
 ## API ##
 ADD_SUBDIRECTORY(include)
index 4e13401b8ee9423fb13d42691999eba9660b8588..716484f4862703e13a8ec87751e7e4a3aeb5fde0 100644 (file)
@@ -121,7 +121,11 @@ static void message_port_cb(int local_port_id,
 
 static int streaming_ipc_initialize()
 {
+#if USE_TRUSTED_MESSAGE_PORT
+       int port_id = message_port_register_trusted_local_port(message_port, message_port_cb, NULL);
+#else
        int port_id = message_port_register_local_port(message_port, message_port_cb, NULL);
+#endif
        if (port_id < 0) {
                MA_SLOGD("Port register error: %d", port_id);
        } else {
@@ -134,7 +138,11 @@ static int streaming_ipc_initialize()
 
 static int streaming_ipc_deinitialize()
 {
+#if USE_TRUSTED_MESSAGE_PORT
+       if (-1 != g_local_port_id) message_port_unregister_trusted_local_port(g_local_port_id);
+#else
        if (-1 != g_local_port_id) message_port_unregister_local_port(g_local_port_id);
+#endif
        g_local_port_id = -1;
        return 0;
 }
index f9d4df56aa22cf5387791cc8ef1e97eeb918a777..1cff0c9df9507b07fefb4d494cf4906d29d20721 100644 (file)
@@ -74,8 +74,15 @@ export LDFLAGS+=" -lgcov"
 
 export CFLAGS+=" -Wno-stringop-overflow -Wno-format-overflow -Wno-format-truncation -Wno-stringop-truncation"
 export CXXFLAGS+=" -Wno-stringop-overflow -Wno-format-overflow -Wno-format-truncation -Wno-stringop-truncation"
+
 %cmake . -DCMAKE_INSTALL_PREFIX=/usr -DLIBDIR=%{_libdir} -DBINDIR=%{_bindir} -DINCLUDEDIR=%{_includedir} \
-        -DTZ_SYS_RO_SHARE=%TZ_SYS_RO_SHARE -DTZ_SYS_BIN=%TZ_SYS_BIN
+        -DTZ_SYS_RO_SHARE=%TZ_SYS_RO_SHARE -DTZ_SYS_BIN=%TZ_SYS_BIN \
+%if "%{?profile}" == "tv"
+    -DUSE_TRUSTED_MESSAGE_PORT="1" \
+%else
+    -DUSE_TRUSTED_MESSAGE_PORT="0" \
+%endif
+
 make %{?jobs:-j%jobs}
 
 %if 0%{?gcov:1}