From d7ffa187331bf4c95fdcfaffc9ab95c76e950686 Mon Sep 17 00:00:00 2001 From: Zofia Abramowska Date: Wed, 21 Sep 2016 16:31:51 +0200 Subject: [PATCH] SM : Use std::string instead of const char * Change-Id: I11fb526667e03192331d93d4352f9383e025987c --- src/cynara-tests/common/cynara_test_client.cpp | 14 +++++++------- src/cynara-tests/common/cynara_test_client.h | 6 ++++-- src/security-manager-tests/common/sm_api.cpp | 21 +++++++++++---------- src/security-manager-tests/common/sm_api.h | 10 +++++----- src/security-manager-tests/common/sm_commons.cpp | 18 +++++++++--------- src/security-manager-tests/common/sm_commons.h | 16 ++++++++-------- src/security-manager-tests/common/sm_request.cpp | 6 +++--- src/security-manager-tests/common/sm_request.h | 2 +- 8 files changed, 48 insertions(+), 45 deletions(-) diff --git a/src/cynara-tests/common/cynara_test_client.cpp b/src/cynara-tests/common/cynara_test_client.cpp index f405145..373130e 100644 --- a/src/cynara-tests/common/cynara_test_client.cpp +++ b/src/cynara-tests/common/cynara_test_client.cpp @@ -34,18 +34,18 @@ Client::~Client() cynara_finish(m_cynara); } -void Client::check(const char *client, const char *session, - const char *user, const char *privilege, +void Client::check(const std::string &client, const std::string &session, + const std::string &user, const std::string &privilege, int expectedResult) { - int ret = cynara_check(m_cynara, client, session, user, privilege); + int ret = cynara_check(m_cynara, client.c_str(), session.c_str(), user.c_str(), privilege.c_str()); RUNNER_ASSERT_MSG(ret == expectedResult, "cynara_check returned wrong value: " << ret << " != " << expectedResult << "." - << " client: " << formatCstr(client) << "," - << " session: " << formatCstr(session) << "," - << " user: " << formatCstr(user) << "," - << " privilege: " << formatCstr(privilege)); + << " client: " << formatCstr(client.c_str()) << "," + << " session: " << formatCstr(session.c_str()) << "," + << " user: " << formatCstr(user.c_str()) << "," + << " privilege: " << formatCstr(privilege.c_str())); } } //namespace CynaraTestClient diff --git a/src/cynara-tests/common/cynara_test_client.h b/src/cynara-tests/common/cynara_test_client.h index d5f1eab..5e055d1 100644 --- a/src/cynara-tests/common/cynara_test_client.h +++ b/src/cynara-tests/common/cynara_test_client.h @@ -17,6 +17,8 @@ #ifndef CYNARA_TEST_CLIENT_H #define CYNARA_TEST_CLIENT_H +#include + #include namespace CynaraTestClient { @@ -27,8 +29,8 @@ public: Client(); virtual ~Client(); - void check(const char *client, const char *session, - const char *user, const char *privilege, + void check(const std::string &client, const std::string &session, + const std::string &user, const std::string &privilege, int expectedResult = CYNARA_API_ACCESS_ALLOWED); private: diff --git a/src/security-manager-tests/common/sm_api.cpp b/src/security-manager-tests/common/sm_api.cpp index 99fa7f7..abe701e 100644 --- a/src/security-manager-tests/common/sm_api.cpp +++ b/src/security-manager-tests/common/sm_api.cpp @@ -42,10 +42,10 @@ void uninstall(const InstallRequest &request, lib_retcode expectedResult) << " Expected result: " << expectedResult); } -std::string getPkgId(const char *appId, lib_retcode expectedResult) +std::string getPkgId(const std::string &appId, lib_retcode expectedResult) { char *pkgId = nullptr; - int result = security_manager_get_app_pkgid(&pkgId, appId); + int result = security_manager_get_app_pkgid(&pkgId, appId.c_str()); RUNNER_ASSERT_MSG((lib_retcode)result == expectedResult, "getting pkg id from app id returned wrong value." << " App id: " << appId << ";" @@ -60,9 +60,9 @@ std::string getPkgId(const char *appId, lib_retcode expectedResult) return str; } -void setProcessLabel(const char *appId, lib_retcode expectedResult) +void setProcessLabel(const std::string &appId, lib_retcode expectedResult) { - int result = security_manager_set_process_label_from_appid(appId); + int result = security_manager_set_process_label_from_appid(appId.c_str()); RUNNER_ASSERT_MSG((lib_retcode)result == expectedResult, "setting process label from app id returned wrong value." << " App id: " << appId << ";" @@ -70,9 +70,9 @@ void setProcessLabel(const char *appId, lib_retcode expectedResult) << " Expected result: " << expectedResult); } -void setProcessGroups(const char *appId, lib_retcode expectedResult) +void setProcessGroups(const std::string &appId, lib_retcode expectedResult) { - int result = security_manager_set_process_groups_from_appid(appId); + int result = security_manager_set_process_groups_from_appid(appId.c_str()); RUNNER_ASSERT_MSG((lib_retcode)result == expectedResult, "setting process groups from app id returned wrong value." << " App id: " << appId << ";" @@ -89,9 +89,9 @@ void dropProcessPrivileges(lib_retcode expectedResult) << " Expected result: " << expectedResult); } -void prepareApp(const char *appId, lib_retcode expectedResult) +void prepareApp(const std::string &appId, lib_retcode expectedResult) { - int result = security_manager_prepare_app(appId); + int result = security_manager_prepare_app(appId.c_str()); RUNNER_ASSERT_MSG((lib_retcode)result == expectedResult, "preparing app returned wrong value." << " App id: " << appId << ";" @@ -270,9 +270,10 @@ void getPkgIdByCynaraClient(const std::string &client, std::string *pkgId, std:: } } -void appHasPrivilege(const char *appId, const char *privilege, uid_t user, int &value, lib_retcode expectedResult) +void appHasPrivilege(const std::string &appId, const std::string &privilege, uid_t user, + int &value, lib_retcode expectedResult) { - int result = security_manager_app_has_privilege(appId, privilege, user, &value); + int result = security_manager_app_has_privilege(appId.c_str(), privilege.c_str(), user, &value); RUNNER_ASSERT_MSG((lib_retcode)result == expectedResult, "checking application privilege returned wrong result." diff --git a/src/security-manager-tests/common/sm_api.h b/src/security-manager-tests/common/sm_api.h index 5266a36..0eae4cd 100644 --- a/src/security-manager-tests/common/sm_api.h +++ b/src/security-manager-tests/common/sm_api.h @@ -31,11 +31,11 @@ namespace Api { void install(const InstallRequest &request, lib_retcode expectedResult = SECURITY_MANAGER_SUCCESS); void uninstall(const InstallRequest &request, lib_retcode expectedResult = SECURITY_MANAGER_SUCCESS); -std::string getPkgId(const char *appId, lib_retcode expectedResult = SECURITY_MANAGER_SUCCESS); -void setProcessLabel(const char *appId, lib_retcode expectedResult = SECURITY_MANAGER_SUCCESS); -void setProcessGroups(const char *appId, lib_retcode expectedResult = SECURITY_MANAGER_SUCCESS); +std::string getPkgId(const std::string &appId, lib_retcode expectedResult = SECURITY_MANAGER_SUCCESS); +void setProcessLabel(const std::string &appId, lib_retcode expectedResult = SECURITY_MANAGER_SUCCESS); +void setProcessGroups(const std::string &appId, lib_retcode expectedResult = SECURITY_MANAGER_SUCCESS); void dropProcessPrivileges(lib_retcode expectedResult = SECURITY_MANAGER_SUCCESS); -void prepareApp(const char *appId, lib_retcode expectedResult = SECURITY_MANAGER_SUCCESS); +void prepareApp(const std::string &appId, lib_retcode expectedResult = SECURITY_MANAGER_SUCCESS); void addUser(const UserRequest &request, lib_retcode expectedResult = SECURITY_MANAGER_SUCCESS); void deleteUser(const UserRequest &request, lib_retcode expectedResult = SECURITY_MANAGER_SUCCESS); void sendPolicy(const PolicyRequest &request, lib_retcode expectedResult = SECURITY_MANAGER_SUCCESS); @@ -47,7 +47,7 @@ void dropSharing(const SharingRequest &req, lib_retcode expectedResult = SECURIT void getPkgIdBySocket(int socketFd, std::string *pkgId, std::string *appId, lib_retcode expectedResult = SECURITY_MANAGER_SUCCESS); void getPkgIdByPid(pid_t pid, std::string *pkgId, std::string *appId, lib_retcode expectedResult = SECURITY_MANAGER_SUCCESS); void getPkgIdByCynaraClient(const std::string &client, std::string *pkgId, std::string *appId, lib_retcode expectedResult = SECURITY_MANAGER_SUCCESS); -void appHasPrivilege(const char *appId, const char *privilege, uid_t user, int &value, lib_retcode expectedResult = SECURITY_MANAGER_SUCCESS); +void appHasPrivilege(const std::string &appId, const std::string &privilege, uid_t user, int &value, lib_retcode expectedResult = SECURITY_MANAGER_SUCCESS); void getSecurityManagerGroups(char ***groups, size_t *groups_count, lib_retcode expectedResult = SECURITY_MANAGER_SUCCESS); void registerPaths(const PathsRequest& req, lib_retcode expectedResult = SECURITY_MANAGER_SUCCESS); void labelsMonitorInit(app_labels_monitor **monitor, lib_retcode expectedResult = SECURITY_MANAGER_SUCCESS); diff --git a/src/security-manager-tests/common/sm_commons.cpp b/src/security-manager-tests/common/sm_commons.cpp index 04e99c9..55dd522 100644 --- a/src/security-manager-tests/common/sm_commons.cpp +++ b/src/security-manager-tests/common/sm_commons.cpp @@ -229,8 +229,8 @@ int nftw_remove_labels(const char *fpath, const struct stat* /*sb*/, static const std::string SM_DENIED_PATH = TzPlatformConfig::globalAppDir() + "/non_app_dir"; -void check_app_permissions(const char *const app_id, const char *const pkg_id, - const char *const user, const privileges_t &allowed_privs, +void check_app_permissions(const std::string &app_id, const std::string &pkg_id, + const std::string &user, const privileges_t &allowed_privs, const privileges_t &denied_privs, bool isHybrid) { (void) pkg_id; @@ -248,13 +248,13 @@ void check_app_permissions(const char *const app_id, const char *const pkg_id, } -void check_app_after_install(const char *const app_id, const char *const pkg_id) +void check_app_after_install(const std::string &app_id, const std::string &pkg_id) { TestSecurityManagerDatabase dbtest; dbtest.test_db_after__app_install(app_id, pkg_id); } -static void check_app_gids(const char *const app_id, const std::vector &allowed_gids) +static void check_app_gids(const std::string &app_id, const std::vector &allowed_gids) { int ret; gid_t main_gid = getgid(); @@ -284,7 +284,7 @@ static void check_app_gids(const char *const app_id, const std::vector &a static const char *const ANY_USER_REPRESENTATION = "anyuser";/*this may be actually any string*/ -void check_app_after_install(const char *const app_id, const char *const pkg_id, +void check_app_after_install(const std::string &app_id, const std::string &pkg_id, const privileges_t &allowed_privs, const privileges_t &denied_privs, const std::vector &allowed_groups, @@ -367,14 +367,14 @@ void check_app_path_after_install(int app_num, const char *pkgId, bool others_en } } -void check_app_after_uninstall(const char *const app_id, const char *const pkg_id, +void check_app_after_uninstall(const std::string &app_id, const std::string &pkg_id, const bool is_pkg_removed) { TestSecurityManagerDatabase dbtest; dbtest.test_db_after__app_uninstall(app_id, pkg_id, is_pkg_removed); } -void check_app_after_uninstall(const char *const app_id, const char *const pkg_id, +void check_app_after_uninstall(const std::string &app_id, const std::string &pkg_id, const privileges_t &privileges, const bool is_pkg_removed, bool isHybrid) { @@ -464,7 +464,7 @@ void prepare_app_env(int app_num, bool others_enabled) prepare_app_path(app_num, others_enabled); } -void install_app(const char *app_id, const char *pkg_id, uid_t uid, app_install_type type, +void install_app(const std::string &app_id, const std::string &pkg_id, uid_t uid, app_install_type type, bool check_after) { InstallRequest request; @@ -479,7 +479,7 @@ void install_app(const char *app_id, const char *pkg_id, uid_t uid, app_install_ check_app_after_install(app_id, pkg_id); } -void uninstall_app(const char *app_id, const char *pkg_id, bool expect_pkg_removed, +void uninstall_app(const std::string &app_id, const std::string &pkg_id, bool expect_pkg_removed, app_install_type type, bool check_after) { InstallRequest request; diff --git a/src/security-manager-tests/common/sm_commons.h b/src/security-manager-tests/common/sm_commons.h index b21d688..1f9d0da 100644 --- a/src/security-manager-tests/common/sm_commons.h +++ b/src/security-manager-tests/common/sm_commons.h @@ -61,20 +61,20 @@ std::string genOwnerRWOthersROPath(int app_num); int nftw_remove_labels(const char *fpath, const struct stat* /*sb*/, int /*typeflag*/, struct FTW* /*ftwbuf*/); -void check_app_permissions(const char *const app_id, const char *const pkg_id, - const char *const user, const privileges_t &allowed_privs, +void check_app_permissions(const std::string &app_id, const std::string &pkg_id, + const std::string &user, const privileges_t &allowed_privs, const privileges_t &denied_privs, bool isHybrid = false); -void check_app_after_install(const char *const app_id, const char *const pkg_id); -void check_app_after_install(const char *const app_id, const char *const pkg_id, +void check_app_after_install(const std::string &app_id, const std::string &pkg_id); +void check_app_after_install(const std::string &app_id, const std::string &pkg_id, const privileges_t &allowed_privs, const privileges_t &denied_privs, const std::vector &allowed_groups, bool isHybrid = false); void check_path(const std::string &path, const std::string &label); void check_app_path_after_install(int app_num, const char *pkgId, bool others_enabled=false); -void check_app_after_uninstall(const char *const app_id, const char *const pkg_id, +void check_app_after_uninstall(const std::string &app_id, const std::string &pkg_id, const bool is_pkg_removed); -void check_app_after_uninstall(const char *const app_id, const char *const pkg_id, +void check_app_after_uninstall(const std::string &app_id, const std::string &pkg_id, const privileges_t &privileges, const bool is_pkg_removed, bool isHybrid = false); @@ -85,9 +85,9 @@ void check_exact_smack_accesses(const std::string &subject, CapsSetsUniquePtr setCaps(const char *cap_string); void prepare_app_env(int app_num, bool others_enabled = false); -void install_app(const char *app_id, const char *pkg_id, uid_t uid = 0, +void install_app(const std::string &app_id, const std::string &pkg_id, uid_t uid = 0, app_install_type type = SM_APP_INSTALL_NONE, bool check_after = true); -void uninstall_app(const char *app_id, const char *pkg_id, +void uninstall_app(const std::string &app_id, const std::string &pkg_id, bool expect_pkg_removed = false, app_install_type type = SM_APP_INSTALL_NONE, bool check_after = true); diff --git a/src/security-manager-tests/common/sm_request.cpp b/src/security-manager-tests/common/sm_request.cpp index 9f9f382..2bba17c 100644 --- a/src/security-manager-tests/common/sm_request.cpp +++ b/src/security-manager-tests/common/sm_request.cpp @@ -84,15 +84,15 @@ void InstallRequest::setPkgId(std::string pkgId, lib_retcode expectedResult) m_pkgId = std::move(pkgId); } -void InstallRequest::addPrivilege(const char *privilege, lib_retcode expectedResult) +void InstallRequest::addPrivilege(const std::string &privilege, lib_retcode expectedResult) { - int result = security_manager_app_inst_req_add_privilege(m_req, privilege); + int result = security_manager_app_inst_req_add_privilege(m_req, privilege.c_str()); RUNNER_ASSERT_MSG((lib_retcode)result == expectedResult, "adding privilege returned wrong value." << " Privilege: " << privilege << ";" << " Result: " << result << ";" << " Expected result: " << expectedResult); - m_privileges.push_back(strdup(privilege)); + m_privileges.push_back(privilege); } void InstallRequest::addPath(std::string path, app_install_path_type pathType, lib_retcode expectedResult) diff --git a/src/security-manager-tests/common/sm_request.h b/src/security-manager-tests/common/sm_request.h index a11ba1d..ee72521 100644 --- a/src/security-manager-tests/common/sm_request.h +++ b/src/security-manager-tests/common/sm_request.h @@ -58,7 +58,7 @@ public: lib_retcode expectedresult = SECURITY_MANAGER_SUCCESS); void setAppId(std::string appId, lib_retcode expectedresult = SECURITY_MANAGER_SUCCESS); void setPkgId(std::string pkgId, lib_retcode expectedresult = SECURITY_MANAGER_SUCCESS); - void addPrivilege(const char *privilege, lib_retcode expectedresult = SECURITY_MANAGER_SUCCESS); + void addPrivilege(const std::string &privilege, lib_retcode expectedresult = SECURITY_MANAGER_SUCCESS); void addPath(std::string path, app_install_path_type pathType, lib_retcode expectedResult = SECURITY_MANAGER_SUCCESS); void setUid(const uid_t uid, lib_retcode expectedresult = SECURITY_MANAGER_SUCCESS); -- 2.7.4