security-manager: adapt to new API of security_manager_groups_get() 88/137788/1
authorRafal Krypa <r.krypa@samsung.com>
Fri, 7 Jul 2017 15:41:37 +0000 (17:41 +0200)
committerRafal Krypa <r.krypa@samsung.com>
Fri, 7 Jul 2017 16:57:31 +0000 (18:57 +0200)
Function security_manager_groups_get() now returns array of gid_t instead
of array of strings.
Function security_manager_groups_free() has been dropped, group arrays
are now freed by plain free().

Change-Id: If7dc713d75f9cf0e7ff03b6b388bb9006512fe54

src/security-manager-tests/common/sm_api.cpp
src/security-manager-tests/common/sm_api.h
src/security-manager-tests/test_cases.cpp

index 26c831c..d7ab650 100644 (file)
@@ -281,7 +281,7 @@ void appHasPrivilege(const std::string &appId, const std::string &privilege, uid
                           << " Expected result: " << expectedResult);
 }
 
-void getSecurityManagerGroups(char ***groups, size_t *groups_count, lib_retcode expectedResult)
+void getSecurityManagerGroups(gid_t **groups, size_t *groups_count, lib_retcode expectedResult)
 {
   int result = security_manager_groups_get(groups, groups_count);
   RUNNER_ASSERT_MSG(static_cast<lib_retcode>(result) == expectedResult,
index 3ee0b24..ca1fb6d 100644 (file)
@@ -48,7 +48,7 @@ void getPkgIdBySocket(int socketFd, std::string *pkgId, std::string *appId, lib_
 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 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 getSecurityManagerGroups(gid_t **groups, size_t *groups_count, lib_retcode expectedResult = SECURITY_MANAGER_SUCCESS);
 void registerPaths(const PathsRequest& req, lib_retcode expectedResult = SECURITY_MANAGER_SUCCESS);
 void labelsMonitorGetFd(const LabelMonitor &monitor, int *fd, lib_retcode expectedResult = SECURITY_MANAGER_SUCCESS);
 void labelsProcess(const LabelMonitor &monitor, lib_retcode expectedResult = SECURITY_MANAGER_SUCCESS);
index 7ecdfd2..3d80230 100644 (file)
@@ -676,15 +676,13 @@ RUNNER_TEST_GROUP_INIT(SECURITY_MANAGER_GROUPS)
 RUNNER_TEST(security_manager_24_groups_get)
 {
     PolicyConfiguration pc;
-    char ** c_groups;
+    gid_t * c_groups;
     size_t count = 0;
 
     Api::getSecurityManagerGroups(&c_groups, &count);
-    std::unique_ptr<char *, std::function<void(char **)>> groupsPtr(c_groups, [count] (char ** groups) {
-        security_manager_groups_free(groups, count);
-    });
+    std::unique_ptr<gid_t, decltype(free)*> groupsPtr(c_groups, free);
 
-    auto policyGroups = pc.getGroup();
+    auto policyGroups = pc.getGid();
     RUNNER_ASSERT_MSG(count == policyGroups.size(), "security_manager_groups_get should set count to: "
                       << policyGroups.size() << " but count is: " << count);