From 7662d7ad5081f88810c87a1fd06c4061aae9fa2e Mon Sep 17 00:00:00 2001 From: Krzysztof Jackiewicz Date: Tue, 21 Mar 2023 17:32:43 +0100 Subject: [PATCH] E2EE: Require e2ee-tests to be ran by default user Change-Id: I87e1b8b68f91d4410144e4b986022da49e58fe24 --- src/ckm/ckm-common.cpp | 19 +++++++++++++++++++ src/ckm/ckm-common.h | 2 ++ src/ckm/unprivileged/main.cpp | 15 +-------------- src/e2ee-adaptation-layer/tests.cpp | 2 ++ 4 files changed, 24 insertions(+), 14 deletions(-) diff --git a/src/ckm/ckm-common.cpp b/src/ckm/ckm-common.cpp index 59c9fc8..01c265c 100644 --- a/src/ckm/ckm-common.cpp +++ b/src/ckm/ckm-common.cpp @@ -18,6 +18,10 @@ * @author Krzysztof Jackiewicz (k.jackiewicz@samsung.com) * @version 1.0 */ + +#include +#include +#include #include #include #include @@ -32,6 +36,7 @@ #include #include #include +#include const std::string SMACK_USER_APP_PREFIX = "User::Pkg::"; const char *SYSTEM_LABEL = ckmc_owner_id_system; @@ -601,3 +606,17 @@ CKM::Policy generate_ckm_policy(int iterator_nr) { } return CKM::Policy(); } + +void require_default_user(char *argv[]) +{ + uid_t expected_uid = tzplatform_getuid(TZ_SYS_DEFAULT_USER); + if (expected_uid != geteuid()) { + std::string userStr("owner"); + const char* user = tzplatform_getenv(TZ_SYS_DEFAULT_USER); + if (user) + userStr = user; + + std::cerr << argv[0] << " should be executed as " << userStr << ". Aborting" << std::endl; + exit(-1); + } +} diff --git a/src/ckm/ckm-common.h b/src/ckm/ckm-common.h index 9e9204d..4d398e5 100644 --- a/src/ckm/ckm-common.h +++ b/src/ckm/ckm-common.h @@ -244,3 +244,5 @@ public: private: const char* alias; }; + +void require_default_user(char *argv[]); diff --git a/src/ckm/unprivileged/main.cpp b/src/ckm/unprivileged/main.cpp index 883a4fe..93ccd11 100644 --- a/src/ckm/unprivileged/main.cpp +++ b/src/ckm/unprivileged/main.cpp @@ -13,8 +13,6 @@ * See the License for the specific language governing permissions and * limitations under the License */ -#include -#include #include #include @@ -38,8 +36,6 @@ #include #include -#include - namespace { const int USER_APP = 5001; @@ -2927,16 +2923,7 @@ RUNNER_TEST(T1905_deinit) int main(int argc, char *argv[]) { - uid_t expected_uid = tzplatform_getuid(TZ_SYS_DEFAULT_USER); - if (expected_uid != geteuid()) { - std::string userStr("owner"); - const char* user = tzplatform_getenv(TZ_SYS_DEFAULT_USER); - if (user) - userStr = user; - - std::cerr << argv[0] << " should be executed as " << userStr << ". Aborting" << std::endl; - return -1; - } + require_default_user(argv); int exitCode = DPL::Test::TestRunnerSingleton::Instance().ExecTestRunner(argc, argv); diff --git a/src/e2ee-adaptation-layer/tests.cpp b/src/e2ee-adaptation-layer/tests.cpp index f10b5c6..2cd6a70 100644 --- a/src/e2ee-adaptation-layer/tests.cpp +++ b/src/e2ee-adaptation-layer/tests.cpp @@ -667,5 +667,7 @@ RUNNER_TEST(TEAL_3000_link_key_agreement_scenario) int main(int argc, char *argv[]) { + require_default_user(argv); + return DPL::Test::TestRunnerSingleton::Instance().ExecTestRunner(argc, argv); } -- 2.7.4