Split TEEStub into a stub and an implementation 09/179609/3
authorIgor Kotrasinski <i.kotrasinsk@partner.samsung.com>
Thu, 10 May 2018 08:41:33 +0000 (10:41 +0200)
committerIgor Kotrasinski <i.kotrasinsk@partner.samsung.com>
Mon, 4 Jun 2018 10:21:22 +0000 (12:21 +0200)
In order to avoid tying a TA to specific client versions, split TEEStub into a
minimal stub with an entry point and a shared implementation.

Change-Id: Iefa4b91fc72df07abe117271d75d56a76df49b11
Signed-off-by: Igor Kotrasinski <i.kotrasinsk@partner.samsung.com>
CMakeLists.txt
TEEStub/CMakeLists.txt
packaging/tef-simulator.spec
pkgconfig/tef-simulator-devkit.pc.in

index bee36de..860cce5 100644 (file)
@@ -81,6 +81,7 @@ SET(TARGET_TEF_SIMULATOR_SSFLIB ${TARGET_TEF_SIMULATOR}-ssflib)
 # below targets need different names due to linking with CAs and TAs (libteec for client)
 SET(TARGET_TEF_SIMULATOR_TEEC_LIB ${TARGET_TEF_SIMULATOR}-teec)
 SET(TARGET_TEF_SIMULATOR_TEE_STUB TEEStub)
+SET(TARGET_TEF_SIMULATOR_TEE_STUB_IMPL TEEStubEx)
 
 ############################# sub-project paths ###############################
 
index 8827c55..88f6431 100644 (file)
@@ -23,6 +23,15 @@ PKG_CHECK_MODULES(TEE_STUB_DEPS REQUIRED
 
 SET(TEE_STUB_SOURCES
     ${TEE_STUB_PATH}/teestubmain.cpp
+    )
+
+SET(TEE_STUB_HEADERS
+    ${TEF_SIMULATOR_INCLUDE_PATH}/include/tee_internal_api.h
+    ${TEF_SIMULATOR_INCLUDE_PATH}/include/log_level.h
+    ${TEF_SIMULATOR_INCLUDE_PATH}/include/debug.h
+    )
+
+SET(TEE_STUB_IMPL_SOURCES
     ${TEE_STUB_PATH}/PropertyAccess/ClientProperty.cpp
     ${TEE_STUB_PATH}/PropertyAccess/PropertyApi.cpp
     ${TEE_STUB_PATH}/PropertyAccess/PropertyUtility.cpp
@@ -44,16 +53,14 @@ SET(TEE_STUB_SOURCES
     ${TEE_STUB_PATH}/TEEStubServer/TEEStubServer.cpp
     )
 
-SET(TEE_STUB_HEADERS
-    ${TEF_SIMULATOR_INCLUDE_PATH}/include/tee_internal_api.h
-    ${TEF_SIMULATOR_INCLUDE_PATH}/include/log_level.h
-    ${TEF_SIMULATOR_INCLUDE_PATH}/include/debug.h
-    )
-
 ADD_LIBRARY(${TARGET_TEF_SIMULATOR_TEE_STUB} STATIC
     ${TEE_STUB_SOURCES}
     )
 
+ADD_LIBRARY(${TARGET_TEF_SIMULATOR_TEE_STUB_IMPL} SHARED
+    ${TEE_STUB_IMPL_SOURCES}
+    )
+
 INCLUDE_DIRECTORIES(
     ${TEF_SIMULATOR_ROOT_PATH}
     ${TEE_STUB_PATH}
@@ -65,6 +72,11 @@ INCLUDE_DIRECTORIES(
     )
 
 TARGET_LINK_LIBRARIES(${TARGET_TEF_SIMULATOR_TEE_STUB}
+    ${TARGET_TEF_SIMULATOR_TEE_STUB_IMPL}
+    boost_system
+    )
+
+TARGET_LINK_LIBRARIES(${TARGET_TEF_SIMULATOR_TEE_STUB_IMPL}
     rt
     ${TARGET_TEF_SIMULATOR_OSAL}
     ${TARGET_TEF_SIMULATOR_LOG}
@@ -74,4 +86,5 @@ TARGET_LINK_LIBRARIES(${TARGET_TEF_SIMULATOR_TEE_STUB}
     )
 
 INSTALL(TARGETS ${TARGET_TEF_SIMULATOR_TEE_STUB} DESTINATION ${LIB_DIR})
+INSTALL(TARGETS ${TARGET_TEF_SIMULATOR_TEE_STUB_IMPL} DESTINATION ${LIB_DIR})
 INSTALL(FILES ${TEE_STUB_HEADERS} DESTINATION ${INCLUDE_DIR})
index e01443e..e952c8e 100644 (file)
@@ -144,6 +144,7 @@ fi
 %attr(111,security_fw,security_fw) %{bin_dir}/tef-simulator-daemonctl
 %{lib_dir}/libtef-simulator-ssflib.so
 %{lib_dir}/libtef-simulator-log.so
+%{lib_dir}/libTEEStubEx.so
 %attr(770,root,security_fw) %{tastore_dir}
 %attr(444,security_fw,security_fw) %{_unitdir}/tef-simulator.service
 %attr(444,security_fw,security_fw) %{_unitdir}/tef-simulator.socket
index 5368cc9..cdb6cd7 100644 (file)
@@ -7,5 +7,5 @@ Name: tef-simulator-devkit
 Description: TEF Simulator TA development kit
 Version: @PKGCFG_VERSION@
 Requires: boost dlog openssl
-Libs: -L${libdir} -lTEEStub -ltef-simulator-ssflib -ltef-simulator-log -lboost_thread -lboost_filesystem -lboost_system -ldlog -lrt
+Libs: -L${libdir} -lTEEStub -lTEEStubEx -ltef-simulator-ssflib -ltef-simulator-log -lboost_thread -lboost_filesystem -lboost_system -ldlog -lrt
 Cflags: -I${includedir}/