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
#ifndef CYNARA_TEST_CLIENT_H
#define CYNARA_TEST_CLIENT_H
+#include <string>
+
#include <cynara-client.h>
namespace CynaraTestClient {
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:
<< " 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 << ";"
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 << ";"
<< " 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 << ";"
<< " 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 << ";"
}
}
-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."
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);
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);
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;
}
-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();
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,
}
}
-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)
{
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;
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;
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);
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);
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)
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);