<< " Privilege: " << privilege << ";"
<< " Result: " << result << ";"
<< " Expected result: " << expectedResult);
+ m_privileges.push_back(std::make_pair(privilege, std::string()));
+}
+
+void InstallRequest::addClientPrivilege(const std::pair<std::string, std::string> &privilege, lib_retcode expectedResult)
+{
+ int result = security_manager_app_inst_req_add_client_privilege(m_req,
+ privilege.first.c_str(),
+ privilege.second.c_str());
+ RUNNER_ASSERT_MSG((lib_retcode)result == expectedResult,
+ "adding privilege returned wrong value."
+ << " Privilege: " << privilege.first << ";"
+ << " Result: " << result << ";"
+ << " Expected result: " << expectedResult);
m_privileges.push_back(privilege);
}
-void InstallRequest::addAppDefinedPrivilege(const AppDefPrivilege &privilege, lib_retcode expectedResult)
+void InstallRequest::addAppDefinedPrivilege(const AppDefinedPrivilege &privilege, lib_retcode expectedResult)
{
- int result = security_manager_app_inst_req_add_app_defined_privilege(m_req, privilege.first.c_str(),
- static_cast<app_defined_privilege_type>(privilege.second));
+ int result = security_manager_app_inst_req_add_app_defined_privilege(m_req,
+ std::get<0>(privilege).c_str(),
+ static_cast<app_defined_privilege_type>(std::get<1>(privilege)),
+ std::get<2>(privilege).c_str());
RUNNER_ASSERT_MSG((lib_retcode)result == expectedResult,
"adding app defined privilege returned wrong value."
- << " Privilege: " << privilege.first << ";"
+ << " Privilege: " << std::get<0>(privilege) << ";"
<< " Result: " << result << ";"
<< " Expected result: " << expectedResult);
m_appDefinedPrivileges.push_back(privilege);
if (!request.m_pkgId.empty())
os << "pkg id: " << request.m_pkgId << "; ";
if (!request.m_privileges.empty()) {
- os << "privileges: [ " << request.m_privileges[0];
- for (size_t i=1; i < request.m_privileges.size(); ++i) {
- os << "; " << request.m_privileges[i];
+ os << "privileges: [ " << "< " << request.m_privileges[0].first << "; "
+ << request.m_privileges[0].second << " >";
+ for (size_t i = 1; i < request.m_privileges.size(); ++i) {
+ os << "; <" << request.m_privileges[i].first << "; "
+ << request.m_privileges[i].second << " >";
}
os << " ]";
}
if (!request.m_appDefinedPrivileges.empty()) {
- os << "app defined privileges: [ " << "< " << request.m_appDefinedPrivileges[0].first << "; "
- << request.m_appDefinedPrivileges[0].second << " >";
+ os << "app defined privileges: [ " << "< " << std::get<0>(request.m_appDefinedPrivileges[0]) << "; "
+ << std::get<1>(request.m_appDefinedPrivileges[0]) << "; "
+ << std::get<2>(request.m_appDefinedPrivileges[0]) << " >";
for (size_t i = 1; i < request.m_appDefinedPrivileges.size(); ++i) {
- os << "; <" << request.m_appDefinedPrivileges[i].first << "; "
- << request.m_appDefinedPrivileges[i].second << " >";
+ os << "; <" << std::get<0>(request.m_appDefinedPrivileges[i]) << "; "
+ << std::get<1>(request.m_appDefinedPrivileges[i]) << "; "
+ << std::get<2>(request.m_appDefinedPrivileges[i]) << " >";
}
os << " ]";
}
std::string consumerLabel = consumer.generateAppLabel();
- provider.addAppDefinedPrivilege(std::make_pair(privilege, type));
- consumer.addPrivilege(privilege);
+ provider.addAppDefinedPrivilege(std::make_tuple(privilege, type, ""));
+ consumer.addClientPrivilege(std::make_pair(privilege, ""));
ScopedInstaller req1(provider);
ScopedInstaller req2(consumer);
{
const std::string privilege = "http://tizen.org/licensedPrivilege/app_defined_02";
const app_defined_privilege_type type = SM_APP_DEFINED_PRIVILEGE_TYPE_LICENSED;
+ const std::string license = "/opt/data/app_defined_02/res/license";
const std::string providerAppId = "app_def_02_provider_appid";
const std::string consumerAppId = "app_def_02_client_appid";
const std::string ownerId = "5001";
std::string consumerLabel = consumer.generateAppLabel();
- provider.addAppDefinedPrivilege(std::make_pair(privilege, type));
- consumer.addPrivilege(privilege);
+ provider.addAppDefinedPrivilege(std::make_tuple(privilege, type, license));
+ consumer.addClientPrivilege(std::make_pair(privilege, license));
ScopedInstaller req1(provider);
ScopedInstaller req2(consumer);
const std::string privilegeA = "http://tizen.org/licensedPrivilege/app_defined_03a";
const std::string privilegeB = "http://tizen.org/licensedPrivilege/app_defined_03b";
const app_defined_privilege_type type = SM_APP_DEFINED_PRIVILEGE_TYPE_LICENSED;
+ const std::string licenseA = "/opt/data/app_defined_03a/res/license";
+ const std::string licenseB = "/opt/data/app_defined_03b/res/license";
const std::string providerAppIdA = "app_def_03a_provider_appid";
const std::string providerAppIdB = "app_def_03b_provider_appid";
const std::string consumerAppId = "app_def_03_client_appid";
std::string consumerLabel = consumer.generateAppLabel();
- providerA.addAppDefinedPrivilege(std::make_pair(privilegeA, type));
- providerB.addAppDefinedPrivilege(std::make_pair(privilegeB, type));
- consumer.addPrivilege(privilegeA);
- consumer.addPrivilege(privilegeB);
+ providerA.addAppDefinedPrivilege(std::make_tuple(privilegeA, type, licenseA));
+ providerB.addAppDefinedPrivilege(std::make_tuple(privilegeB, type, licenseB));
+ consumer.addClientPrivilege(std::make_pair(privilegeA, licenseA));
+ consumer.addClientPrivilege(std::make_pair(privilegeB, licenseB));
ScopedInstaller req1(providerA);
ScopedInstaller req2(providerB);
const std::string privilegeA = "http://tizen.org/licensedPrivilege/app_defined_04a";
const std::string privilegeB = "http://tizen.org/applicationDefinedPrivilege/app_defined_04b";
const std::string privilegeC = "http://tizen.org/licensedPrivilege/app_defined_04c";
+ const std::string licenseA = "/opt/data/app_defined_04a/res/license";
+ const std::string licenseC = "/opt/data/app_defined_04c/res/license";
const std::string providerAppId = "app_def_04_provider_appid";
const std::string consumerAppId = "app_def_04_client_appid";
const std::string ownerId = "5001";
std::string consumerLabel = consumer.generateAppLabel();
- providerV1.addAppDefinedPrivilege(std::make_pair(privilegeA, SM_APP_DEFINED_PRIVILEGE_TYPE_LICENSED));
- providerV1.addAppDefinedPrivilege(std::make_pair(privilegeB, SM_APP_DEFINED_PRIVILEGE_TYPE_UNTRUSTED));
- consumer.addPrivilege(privilegeA);
- consumer.addPrivilege(privilegeB);
- consumer.addPrivilege(privilegeC);
+ providerV1.addAppDefinedPrivilege(std::make_tuple(privilegeA,
+ SM_APP_DEFINED_PRIVILEGE_TYPE_LICENSED,
+ licenseA));
+ providerV1.addAppDefinedPrivilege(std::make_tuple(privilegeB,
+ SM_APP_DEFINED_PRIVILEGE_TYPE_UNTRUSTED,
+ ""));
+ consumer.addClientPrivilege(std::make_pair(privilegeA, licenseA));
+ consumer.addClientPrivilege(std::make_pair(privilegeB, ""));
+ consumer.addClientPrivilege(std::make_pair(privilegeC, licenseC));
ScopedInstaller req1(providerV1);
ScopedInstaller req2(consumer);
cynara.check(consumerLabel, session, ownerId, privilegeC, CYNARA_API_ACCESS_DENIED);
// update provider version, remove privilegeA, add privilegeC
- providerV2.addAppDefinedPrivilege(std::make_pair(privilegeB, SM_APP_DEFINED_PRIVILEGE_TYPE_UNTRUSTED));
- providerV2.addAppDefinedPrivilege(std::make_pair(privilegeC, SM_APP_DEFINED_PRIVILEGE_TYPE_LICENSED));
+ providerV2.addAppDefinedPrivilege(std::make_tuple(privilegeB,
+ SM_APP_DEFINED_PRIVILEGE_TYPE_UNTRUSTED,
+ ""));
+ providerV2.addAppDefinedPrivilege(std::make_tuple(privilegeC,
+ SM_APP_DEFINED_PRIVILEGE_TYPE_LICENSED,
+ licenseC));
ScopedInstaller req3(providerV2);
cynara.check(consumerLabel, session, ownerId, privilegeA, CYNARA_API_ACCESS_DENIED);
const std::string privilegeA = "http://tizen.org/licensedPrivilege/app_defined_05a";
const std::string privilegeB = "http://tizen.org/applicationDefinedPrivilege/app_defined_05b";
const std::string privilegeC = "http://tizen.org/applicationDefinedPrivilege/app_defined_05c";
+ const std::string licenseB = "/opt/data/app_defined_05b/res/license";
const std::string providerAppId = "app_def_05_provider_appid";
const std::string consumerAppId = "app_def_05_client_appid";
const std::string ownerId = "5001";
std::string consumerGlobalLabel = consumerGlobal.generateAppLabel();
std::string consumerLocalLabel = consumerLocal.generateAppLabel();
- providerGlobal.addAppDefinedPrivilege(std::make_pair(privilegeA, SM_APP_DEFINED_PRIVILEGE_TYPE_UNTRUSTED));
- providerGlobal.addAppDefinedPrivilege(std::make_pair(privilegeC, SM_APP_DEFINED_PRIVILEGE_TYPE_UNTRUSTED));
+ providerGlobal.addAppDefinedPrivilege(std::make_tuple(privilegeA,
+ SM_APP_DEFINED_PRIVILEGE_TYPE_UNTRUSTED,
+ ""));
+ providerGlobal.addAppDefinedPrivilege(std::make_tuple(privilegeC,
+ SM_APP_DEFINED_PRIVILEGE_TYPE_UNTRUSTED,
+ ""));
- providerLocal.addAppDefinedPrivilege(std::make_pair(privilegeA, SM_APP_DEFINED_PRIVILEGE_TYPE_UNTRUSTED));
- providerLocal.addAppDefinedPrivilege(std::make_pair(privilegeB, SM_APP_DEFINED_PRIVILEGE_TYPE_LICENSED));
+ providerLocal.addAppDefinedPrivilege(std::make_tuple(privilegeA,
+ SM_APP_DEFINED_PRIVILEGE_TYPE_UNTRUSTED,
+ ""));
+ providerLocal.addAppDefinedPrivilege(std::make_tuple(privilegeB,
+ SM_APP_DEFINED_PRIVILEGE_TYPE_LICENSED,
+ licenseB));
- consumerGlobal.addPrivilege(privilegeA);
- consumerGlobal.addPrivilege(privilegeB);
- consumerGlobal.addPrivilege(privilegeC);
+ consumerGlobal.addClientPrivilege(std::make_pair(privilegeA, ""));
+ consumerGlobal.addClientPrivilege(std::make_pair(privilegeB, licenseB));
+ consumerGlobal.addClientPrivilege(std::make_pair(privilegeC, ""));
- consumerLocal.addPrivilege(privilegeB);
- consumerLocal.addPrivilege(privilegeC);
+ consumerLocal.addClientPrivilege(std::make_pair(privilegeB, licenseB));
+ consumerLocal.addClientPrivilege(std::make_pair(privilegeC, ""));
CynaraTestClient::Client cynara;
AppInstallHelper providerGlobal(providerId);
AppInstallHelper providerLocal(providerId, uid);
- providerGlobal.addAppDefinedPrivilege(std::make_pair(privilegeB, type));
- providerLocal.addAppDefinedPrivilege(std::make_pair(privilegeA, type));
+ providerGlobal.addAppDefinedPrivilege(std::make_tuple(privilegeB, type, ""));
+ providerLocal.addAppDefinedPrivilege(std::make_tuple(privilegeA, type, ""));
ScopedInstaller req1(providerGlobal);
ScopedInstaller req2(providerLocal);
- result = security_manager_identify_privilege_provider("noExistingPrivilege", uid, &pkgId, &appId);
+ result = security_manager_get_app_defined_privilege_provider("noExistingPrivilege",
+ uid, &pkgId, &appId);
RUNNER_ASSERT(result == SECURITY_MANAGER_ERROR_NO_SUCH_OBJECT);
RUNNER_ASSERT(appId == nullptr);
RUNNER_ASSERT(pkgId == nullptr);
- result = security_manager_identify_privilege_provider(privilegeA.c_str(), uid+1, &pkgId, &appId);
+ result = security_manager_get_app_defined_privilege_provider(privilegeA.c_str(),
+ uid+1, &pkgId, &appId);
RUNNER_ASSERT(result == SECURITY_MANAGER_ERROR_NO_SUCH_OBJECT);
RUNNER_ASSERT(appId == nullptr);
RUNNER_ASSERT(pkgId == nullptr);
- result = security_manager_identify_privilege_provider(privilegeA.c_str(), uid, nullptr, nullptr);
+ result = security_manager_get_app_defined_privilege_provider(privilegeA.c_str(),
+ uid, nullptr, nullptr);
RUNNER_ASSERT(result == SECURITY_MANAGER_ERROR_INPUT_PARAM);
- result = security_manager_identify_privilege_provider(privilegeA.c_str(), uid, &pkgId, nullptr);
+ result = security_manager_get_app_defined_privilege_provider(privilegeA.c_str(),
+ uid, &pkgId, nullptr);
RUNNER_ASSERT_MSG(result == SECURITY_MANAGER_SUCCESS, "getting privilege provider failed");
RUNNER_ASSERT(pkgId && std::string(pkgId) == providerLocal.getPkgId());
free(pkgId);
pkgId = nullptr;
- result = security_manager_identify_privilege_provider(privilegeA.c_str(), uid, nullptr, &appId);
+ result = security_manager_get_app_defined_privilege_provider(privilegeA.c_str(),
+ uid, nullptr, &appId);
RUNNER_ASSERT_MSG(result == SECURITY_MANAGER_SUCCESS, "getting privilege provider failed");
RUNNER_ASSERT(appId && std::string(appId) == providerLocal.getAppId());
free(appId);
appId = nullptr;
- result = security_manager_identify_privilege_provider(privilegeA.c_str(), uid, &pkgId, &appId);
+ result = security_manager_get_app_defined_privilege_provider(privilegeA.c_str(),
+ uid, &pkgId, &appId);
RUNNER_ASSERT_MSG(result == SECURITY_MANAGER_SUCCESS, "getting privilege provider failed");
RUNNER_ASSERT(appId && std::string(appId) == providerLocal.getAppId());
RUNNER_ASSERT(pkgId && std::string(pkgId) == providerLocal.getPkgId());
appId = nullptr;
pkgId = nullptr;
- result = security_manager_identify_privilege_provider(privilegeB.c_str(), uid, &pkgId, &appId);
+ result = security_manager_get_app_defined_privilege_provider(privilegeB.c_str(),
+ uid, &pkgId, &appId);
RUNNER_ASSERT_MSG(result == SECURITY_MANAGER_SUCCESS, "getting privilege provider failed");
RUNNER_ASSERT(appId && std::string(appId) == providerGlobal.getAppId());
RUNNER_ASSERT(pkgId && std::string(pkgId) == providerGlobal.getPkgId());