From d2a3f67593eed03f9014c6d584a368c7b7666f83 Mon Sep 17 00:00:00 2001 From: Igor Kotrasinski Date: Thu, 10 May 2018 10:41:33 +0200 Subject: [PATCH] Split TEEStub into a stub and an implementation 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 --- CMakeLists.txt | 1 + TEEStub/CMakeLists.txt | 25 +++++++++++++++++++------ packaging/tef-simulator.spec | 1 + pkgconfig/tef-simulator-devkit.pc.in | 2 +- 4 files changed, 22 insertions(+), 7 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index bee36de..860cce5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -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 ############################### diff --git a/TEEStub/CMakeLists.txt b/TEEStub/CMakeLists.txt index 8827c55..88f6431 100644 --- a/TEEStub/CMakeLists.txt +++ b/TEEStub/CMakeLists.txt @@ -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}) diff --git a/packaging/tef-simulator.spec b/packaging/tef-simulator.spec index e01443e..e952c8e 100644 --- a/packaging/tef-simulator.spec +++ b/packaging/tef-simulator.spec @@ -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 diff --git a/pkgconfig/tef-simulator-devkit.pc.in b/pkgconfig/tef-simulator-devkit.pc.in index 5368cc9..cdb6cd7 100644 --- a/pkgconfig/tef-simulator-devkit.pc.in +++ b/pkgconfig/tef-simulator-devkit.pc.in @@ -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}/ -- 2.34.1