SM : Use std::string instead of const char * 38/89038/5
authorZofia Abramowska <z.abramowska@samsung.com>
Wed, 21 Sep 2016 14:31:51 +0000 (16:31 +0200)
committerZofia Abramowska <z.abramowska@samsung.com>
Wed, 12 Oct 2016 09:41:20 +0000 (11:41 +0200)
Change-Id: I11fb526667e03192331d93d4352f9383e025987c

src/cynara-tests/common/cynara_test_client.cpp
src/cynara-tests/common/cynara_test_client.h
src/security-manager-tests/common/sm_api.cpp
src/security-manager-tests/common/sm_api.h
src/security-manager-tests/common/sm_commons.cpp
src/security-manager-tests/common/sm_commons.h
src/security-manager-tests/common/sm_request.cpp
src/security-manager-tests/common/sm_request.h

index f405145..373130e 100644 (file)
@@ -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
index d5f1eab..5e055d1 100644 (file)
@@ -17,6 +17,8 @@
 #ifndef CYNARA_TEST_CLIENT_H
 #define CYNARA_TEST_CLIENT_H
 
+#include <string>
+
 #include <cynara-client.h>
 
 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:
index 99fa7f7..abe701e 100644 (file)
@@ -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."
index 5266a36..0eae4cd 100644 (file)
@@ -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);
index 04e99c9..55dd522 100644 (file)
@@ -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<gid_t> &allowed_gids)
+static void check_app_gids(const std::string &app_id, const std::vector<gid_t> &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<gid_t> &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<std::string> &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;
index b21d688..1f9d0da 100644 (file)
@@ -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<std::string> &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);
 
index 9f9f382..2bba17c 100644 (file)
@@ -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)
index a11ba1d..ee72521 100644 (file)
@@ -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);