} privilege_db_manager_privilege_level_e;
typedef enum {
+ PRIVILEGE_DB_MANAGER_PACKAGE_TYPE_NONE = -1, /* placeholder */
PRIVILEGE_DB_MANAGER_PACKAGE_TYPE_WRT = 0,
PRIVILEGE_DB_MANAGER_PACKAGE_TYPE_CORE = 1
} privilege_db_manager_package_type_e;
EXPORT_API int privilege_info_get_privacy_by_privilege(const char *privilege, char** privacy);
/**
- * @brief Gets the list of privilges marked as black list.
+ * @brief Gets the list of privilges marked as dpm black list.
* @remarks @a privilege_list must be released with g_list_free() by you.
* @param [in] uid The UID
* @param [in] package_type The privilege_manager_package_type_e
*/
EXPORT_API int privilege_info_get_black_list(int uid, privilege_manager_package_type_e package_type, GList **privilege_list);
+/**
+ * @brief Gets the list of privilges marked as mdm black list for the given uid.
+ * @remarks @a privilege_list must be released with g_list_free() by you.
+ * @param [in] uid The UID
+ * @param [out] privilege_list The list for privileges marked as black list
+ * @return 0 on success, otherwise a nonzero error value.
+ * @retval #PRVMGR_ERR_NONE Successful
+ * @retval #PRVMGR_ERR_INTERNAL_ERROR Internal error
+ */
+EXPORT_API int privilege_info_get_mdm_black_list(uid_t uid, GList **privilege_list);
+
#ifdef __cplusplus
}
#endif
EXPORT_API int privilege_manager_get_mapped_privilege_list(const char* api_version, privilege_manager_package_type_e package_type, GList* privilege_list, GList** mapped_privilege_list);
/**
- * @brief set privilege black list accoring to the given uid and privilege list
+ * @brief set dpm privilege black list accoring to the given uid and privilege list
* @remarks @a privilege_list must be released by you
* @param [in] uid The uid
* @param [in] package_type The privilege_manager_pacakge_type_e
EXPORT_API int privilege_manager_set_black_list(int uid, privilege_manager_package_type_e package_type, GList* privilege_list);
/**
- * @brief unset privilege black list accoring to the given uid and privilege list
+ * @brief unset dpm privilege black list accoring to the given uid and privilege list
* @remarks @a privilege_list must be released by you
* @param [in] uid The uid
* @param [in] package_type The privilege_manager_pacakge_type_e
EXPORT_API int privilege_manager_unset_black_list(int uid, privilege_manager_package_type_e package_type, GList* privilege_list);
/**
+ * @brief set mdm privilege black list accoring to the given uid and privilege list
+ * @remarks @a privilege_list must be released by you
+ * @param [in] uid The uid
+ * @param [in] privilege_list The privilege list to set as black list
+ * @retrun 0 on success, otherwise a nonzero error value
+ * @retval #PRVMGR_ERR_NONE Successful
+ * @retval #PRVMGR_ERR_INVALID_PARAMETER Invalid parameter
+ * @retval #PRVMGR_ERR_INTERNAL_ERROR Internal error
+ */
+EXPORT_API int privilege_manager_set_mdm_black_list(uid_t uid, GList* privilege_list);
+
+/**
+ * @brief unset mdm privilege black list accoring to the given uid and privilege list
+ * @remarks @a privilege_list must be released by you
+ * @param [in] uid The uid
+ * @param [in] privilege_list The privilege list to unset from black list
+ * @retrun 0 on success, otherwise a nonzero error value
+ * @retval #PRVMGR_ERR_NONE Successful
+ * @retval #PRVMGR_ERR_INVALID_PARAMETER Invalid parameter
+ * @retval #PRVMGR_ERR_INTERNAL_ERROR Internal error
+ */
+EXPORT_API int privilege_manager_unset_mdm_black_list(uid_t uid, GList* privilege_list);
+
+/**
* @brief verify metadata level in the metadata list.
* @remarks @a metadata_list must be released with free() by you.
* @remarks @a error_messsage must be released with free() by you.
ug-setting-mobileap-efl,*-location,0
ug-setting-wifidirect-efl,*-location,0
wifi-efl-ug,*-location,0
-org.tizen.memo,*-location,0
return PRIVILEGE_DB_MANAGER_ERR_INVALID_TYPE;
}
- _LOGD("DB PATH = %s", db_path);
-
if (access(db_path, F_OK) == -1 && errno == ENOENT)
return PRIVILEGE_DB_MANAGER_ERR_DB_NOENTRY;
if (ret != PRIVILEGE_DB_MANAGER_ERR_NONE)
return ret;
_LOGD("Get privilege_name from %s where uid = %d, package_type = %d", __get_policy_table(policy_type), uid, package_type);
- char* sql = sqlite3_mprintf("select privilege_name from %Q where uid=%d and package_type=%d", __get_policy_table(policy_type), uid, package_type);
+ char* sql = NULL;
+ if (policy_type == PRIVILEGE_MANAGER_POLICY_TYPE_DISABLE)
+ sql = sqlite3_mprintf("select privilege_name from %Q where (uid=%d or uid=%d)", __get_policy_table(policy_type), uid, GLOBAL_USER);
+ else if (policy_type == PRIVILEGE_MANAGER_POLICY_TYPE_PREVENT)
+ sql = sqlite3_mprintf("select privilege_name from %Q where uid=%d and package_type=%d", __get_policy_table(policy_type), uid, package_type);
TryReturn(sql != NULL, __finalize_db(db, stmt, sql), PRIVILEGE_DB_MANAGER_ERR_INVALID_QUERY, "[DB_FAIL] sqlite3_mprintf failed");
ret = sqlite3_prepare_v2(db, sql, strlen(sql), &stmt, NULL);
if (ret != SQLITE_OK) {
for (l = privilege_list; l != NULL; l = l->next) {
char *privilege_name = (char *)l->data;
_LOGD("insert into %s uid = %d, package_type = %d, privilege_name = %s", __get_policy_table(policy_type), uid, package_type, privilege_name);
- char* sql = sqlite3_mprintf("insert or ignore into %Q (uid, package_type, privilege_name) values (%d, %d, %Q)", __get_policy_table(policy_type), uid, package_type, privilege_name);
+ char* sql = NULL;
+ if (policy_type == PRIVILEGE_MANAGER_POLICY_TYPE_DISABLE)
+ sql = sqlite3_mprintf("insert or ignore into %Q (uid, privilege_name) values (%d, %Q)", __get_policy_table(policy_type), uid, privilege_name);
+ else if (policy_type == PRIVILEGE_MANAGER_POLICY_TYPE_PREVENT)
+ sql = sqlite3_mprintf("insert or ignore into %Q (uid, package_type, privilege_name) values (%d, %d, %Q)", __get_policy_table(policy_type), uid, package_type, privilege_name);
TryReturn(sql != NULL, sqlite3_exec(db, "ROLLBACK TRANSACTION", NULL, NULL, NULL); __finalize_db(db, stmt, sql), PRIVILEGE_DB_MANAGER_ERR_INVALID_QUERY, "[DB_FAIL] sqlite3_mprintf failed");
ret = sqlite3_prepare_v2(db, sql, strlen(sql), &stmt, NULL);
if (ret != SQLITE_OK) {
for (l = privilege_list; l != NULL; l = l->next) {
char *privilege_name = (char *)l->data;
_LOGD("delete from %s where uid = %d, package_type = %d, privilege_name = %s", __get_policy_table(policy_type), uid, package_type, privilege_name);
- char* sql = sqlite3_mprintf("delete from %Q where uid=%d and package_type=%d and privilege_name=%Q", __get_policy_table(policy_type), uid, package_type, privilege_name);
+ char* sql = NULL;
+ if (policy_type == PRIVILEGE_MANAGER_POLICY_TYPE_DISABLE)
+ sql = sqlite3_mprintf("delete from %Q where uid=%d and privilege_name=%Q", __get_policy_table(policy_type), uid, privilege_name);
+ else if (policy_type == PRIVILEGE_MANAGER_POLICY_TYPE_PREVENT)
+ sql = sqlite3_mprintf("delete from %Q where uid=%d and package_type=%d and privilege_name=%Q", __get_policy_table(policy_type), uid, package_type, privilege_name);
TryReturn(sql != NULL, sqlite3_exec(db, "ROLLBACK TRANSACTION", NULL, NULL, NULL); __finalize_db(db, stmt, sql), PRIVILEGE_DB_MANAGER_ERR_INVALID_QUERY, "[DB_FAIL] sqlite3_mprintf failed");
ret = sqlite3_prepare_v2(db, sql, strlen(sql), &stmt, NULL);
if (ret != SQLITE_OK) {
ret = PRVMGR_ERR_INTERNAL_ERROR;
return ret;
}
+
+int privilege_info_get_mdm_black_list(uid_t uid, GList **privilege_list)
+{
+ int ret = privilege_db_manager_get_black_list(PRIVILEGE_MANAGER_POLICY_TYPE_DISABLE, uid, PRIVILEGE_DB_MANAGER_PACKAGE_TYPE_NONE, privilege_list);
+ if (ret == PRIVILEGE_DB_MANAGER_ERR_NONE)
+ ret = PRVMGR_ERR_NONE;
+ else
+ ret = PRVMGR_ERR_INTERNAL_ERROR;
+ return ret;
+}
return ret;
}
+int privilege_manager_set_mdm_black_list(uid_t uid, GList *privilege_list)
+{
+ TryReturn(privilege_list != NULL, , PRVMGR_ERR_INVALID_PARAMETER, "[PRVMGR_ERR_INVALID_PARAMETER] privilege_list is NULL.");
+
+ int ret = privilege_db_manager_set_black_list(PRIVILEGE_MANAGER_POLICY_TYPE_DISABLE, uid, PRIVILEGE_DB_MANAGER_PACKAGE_TYPE_NONE, privilege_list);
+ if (ret != PRIVILEGE_DB_MANAGER_ERR_NONE)
+ ret = PRVMGR_ERR_INTERNAL_ERROR;
+ return ret;
+}
+
+int privilege_manager_unset_mdm_black_list(uid_t uid, GList *privilege_list)
+{
+ TryReturn(privilege_list != NULL, , PRVMGR_ERR_INVALID_PARAMETER, "[PRVMGR_ERR_INVALID_PARAMETER] privilege_list is NULL.");
+
+ int ret = privilege_db_manager_unset_black_list(PRIVILEGE_MANAGER_POLICY_TYPE_DISABLE, uid, PRIVILEGE_DB_MANAGER_PACKAGE_TYPE_NONE, privilege_list);
+ if (ret != PRIVILEGE_DB_MANAGER_ERR_NONE)
+ ret = PRVMGR_ERR_INTERNAL_ERROR;
+ return ret;
+}
+
int privilege_manager_verify_metadata(const char* api_version, GList *metadata_list, privilege_manager_visibility_e visibility, char **error_message)
{
return privilege_manager_verify_privilege(0, api_version, PRVMGR_PACKAGE_TYPE_METADATA, metadata_list, visibility, error_message);
return "FAIL";
}
+char* __get_privilege_type_string(privilege_manager_privilege_type_e type)
+{
+ switch (type) {
+ case PRIVILEGE_MANAGER_PRIVILEGE_TYPE_NORMAL:
+ return "PRIVILEGE_MANAGER_PRIVILEGE_TYPE_NORMAL";
+ case PRIVILEGE_MANAGER_PRIVILEGE_TYPE_PRIVACY:
+ return "PRIVILEGE_MANAGER_PRIVILEGE_TYPE_PRIVACY";
+ case PRIVILEGE_MANAGER_PRIVILEGE_TYPE_BLACKLIST:
+ return "PRIVILEGE_MANAGER_PRIVILEGE_TYPE_PRIVACY";
+ default:
+ return "None of privilege_manager_privilege_type_e";
+ }
+}
+
/* shows error_message returned by privilege_manager_verify_privilege() */
void __print_error_message(char *error_message)
{
void __print_test_func();
char* __get_result_string(char type, int ret);
+char* __get_privilege_type_string(privilege_manager_privilege_type_e type);
void __print_error_message(char *error_message);
typedef enum {
#include <privilege_db_manager.h>
#include "tc-common.h"
-static void __test_black_list_set_unset()
+static void __test_dpm_black_list_set_unset()
{
int ret = 0;
GList *black_list;
}
-static void __test_black_list_check()
+static void __test_dpm_black_list_check()
{
GList *black_list = NULL;
int ret = 0;
gfree(privilege_list);
}
-static void __test_black_list_verify_privilege()
+static void __test_dpm_black_list_verify_privilege()
{
GList *black_list = NULL;
char *error_message = NULL;
}
+void __test_mdm_black_list_set_unset()
+{
+ GList *black_list = NULL;
+ int ret = 0;
+
+ __color_to_bold_yellow();
+ printf("\nTest black list set/unset/get\n\n");
+ __color_to_origin();
+
+ __tcinfo(goal, "uid = 0, Get wrt black list");
+ ret = privilege_info_get_mdm_black_list(0, &black_list);
+ __tcinfo(expect, PRVMGR_ERR_NONE);
+ __print_result('m', ret);
+ __print_privilege_list(black_list);
+ __print_line();
+ gfree(black_list);
+
+ __tcinfo(goal, "uid = 0, Add privileges");
+ __privinfo("http://tizen.org/privilege/aaa", NULL, NULL);
+ __privinfo("http://tizen.org/privilege/bbb", NULL, NULL);
+ __privinfo("http://tizen.org/privilege/ccc", NULL, NULL);
+ __tcinfo(expect, PRVMGR_ERR_NONE);
+ ret = privilege_manager_set_mdm_black_list(0, privilege_list);
+ __print_result('m', ret);
+ __print_line();
+ gfree(privilege_list);
+
+ __tcinfo(goal, "uid = 0, Get mdm black list");
+ __tcinfo(expect, PRVMGR_ERR_NONE);
+ ret = privilege_info_get_mdm_black_list(0, &black_list);
+ __print_result('m', ret);
+ __print_privilege_list(black_list);
+ __print_line();
+ gfree(black_list);
+ black_list = NULL;
+
+ __tcinfo(goal, "uid = 0, Add privileges -- Add duplicated privileges");
+ __privinfo("http://tizen.org/privilege/bbb", NULL, NULL);
+ __privinfo("http://tizen.org/privilege/cccc", NULL, NULL);
+ __privinfo("http://tizen.org/privilege/ddd", NULL, NULL);
+ __privinfo("http://tizen.org/privilege/eee", NULL, NULL);
+ __tcinfo(expect, PRVMGR_ERR_NONE);
+ ret = privilege_manager_set_mdm_black_list(0, privilege_list);
+ __print_result('m', ret);
+ __print_line();
+ gfree(privilege_list);
+
+ __tcinfo(goal, "uid = 0, Get mdm black list");
+ __tcinfo(expect, PRVMGR_ERR_NONE);
+ ret = privilege_info_get_mdm_black_list(0, &black_list);
+ __print_result('m', ret);
+ __print_privilege_list(black_list);
+ __print_line();
+ gfree(black_list);
+ black_list = NULL;
+
+ __tcinfo(goal, "uid = 0, Remove wrt privileges");
+ __privinfo("http://tizen.org/privilege/cccc", NULL, NULL);
+ __privinfo("http://tizen.org/privilege/ddd", NULL, NULL);
+ __privinfo("http://tizen.org/privilege/eee", NULL, NULL);
+ __tcinfo(expect, PRVMGR_ERR_NONE);
+ ret = privilege_manager_unset_mdm_black_list(0, privilege_list);
+ __print_result('m', ret);
+ __print_line();
+ gfree(privilege_list);
+
+ __tcinfo(goal, "uid = 0, Get mdm black list");
+ __tcinfo(expect, PRVMGR_ERR_NONE);
+ ret = privilege_info_get_mdm_black_list(0, &black_list);
+ __print_result('m', ret);
+ __print_privilege_list(black_list);
+ __print_line();
+
+ __tcinfo(goal, "uid = 0, Remove all mdm black list");
+ __tcinfo(expect, PRVMGR_ERR_NONE);
+ ret = privilege_manager_unset_mdm_black_list(0, black_list);
+ __print_result('m', ret);
+ __print_line();
+ gfree(black_list);
+ black_list = NULL;
+
+ __tcinfo(goal, "uid = 0, Get mdm black list");
+ __tcinfo(expect, PRVMGR_ERR_NONE);
+ ret = privilege_info_get_mdm_black_list(0, &black_list);
+ __print_result('m', ret);
+ __print_privilege_list(black_list);
+ __print_line();
+ gfree(black_list);
+}
+
+void __test_mdm_black_list_type()
+{
+ int ret = 0;
+ privilege_manager_privilege_type_e type;
+
+ __print_line();
+ __tcinfo(goal, "uid = 0, Add mdm black list privileges");
+ __privinfo("http://tizen.org/privilege/aaa", NULL, NULL);
+ __privinfo("http://tizen.org/privilege/ccc", NULL, NULL);
+ __tcinfo(expect, PRVMGR_ERR_NONE);
+ ret = privilege_manager_set_mdm_black_list(0, privilege_list);
+ __print_result('m', ret);
+ __print_line();
+
+ __tcinfo(goal, "Is disabled privilege");
+ printf("uid = 0, privilege = http://tizen.org/privilege/aaa\n");
+ ret = privilege_db_manager_is_disabled_privilege(0, "http://tizen.org/privilege/aaa");
+ printf("ret = %d\n", ret);
+ if (ret == 1) {
+ success_cnt++;
+ __color_to_green();
+ printf("success\n");
+ __color_to_origin();
+ } else {
+ fail_cnt++;
+ __color_to_red();
+ printf("fail. ret = %s,\n", __get_result_string('d', ret));
+ __color_to_origin();
+ }
+ __print_line();
+
+ __tcinfo(goal, "Is NOT disabled privilege");
+ printf("uid = 0, privilege = http://tizen.org/privilege/xxx\n");
+ ret = privilege_db_manager_is_disabled_privilege(0, "http://tizen.org/privilege/xxx");
+ printf("ret = %d\n", ret);
+ if (ret == 0) {
+ success_cnt++;
+ __color_to_green();
+ printf("success\n");
+ __color_to_origin();
+ } else {
+ fail_cnt++;
+ __color_to_red();
+ printf("fail. ret = %s,\n", __get_result_string('d', ret));
+ __color_to_origin();
+ }
+ __print_line();
+
+ __tcinfo(goal, "Get privilege type. Privilege is mdm blacklisted");
+ printf("uid = 0, privilege = http://tizen.org/privilege/aaa\n");
+ ret = privilege_info_get_privilege_type(0, "org.zzz.zzz", "http://tizen.org/privilege/aaa", &type);
+ printf("type = %s\n", __get_privilege_type_string(type));
+ if (ret == PRVMGR_ERR_NONE && type == PRIVILEGE_MANAGER_PRIVILEGE_TYPE_BLACKLIST) {
+ success_cnt++;
+ __color_to_green();
+ printf("success\n");
+ __color_to_origin();
+ } else {
+ fail_cnt++;
+ __color_to_red();
+ printf("fail. ret = %s, type = %s\n", __get_result_string('m', ret), __get_privilege_type_string(type));
+ __color_to_origin();
+ }
+ __print_line();
+
+ __tcinfo(goal, "Get privilege type. Privilege is NOT mdm blacklisted");
+ printf("uid = 0, privilege = http://tizen.org/privilege/xxx\n");
+ ret = privilege_info_get_privilege_type(0, "org.zzz.zzz", "http://tizen.org/privilege/xxx", &type);
+ printf("type = %s\n", __get_privilege_type_string(type));
+ if (ret == PRVMGR_ERR_NONE && type == PRIVILEGE_MANAGER_PRIVILEGE_TYPE_NORMAL) {
+ success_cnt++;
+ __color_to_green();
+ printf("success\n");
+ __color_to_origin();
+ } else {
+ fail_cnt++;
+ __color_to_red();
+ printf("fail. ret = %s, type = %s\n", __get_result_string('m', ret), __get_privilege_type_string(type));
+ __color_to_origin();
+ }
+ __print_line();
+
+ __tcinfo(goal, "uid = 0, Remove all mdm black list privileges");
+ __privinfo("http://tizen.org/privilege/aaa", NULL, NULL);
+ __privinfo("http://tizen.org/privilege/ccc", NULL, NULL);
+ __tcinfo(expect, PRVMGR_ERR_NONE);
+ ret = privilege_manager_unset_mdm_black_list(0, privilege_list);
+ __print_result('m', ret);
+ __print_line();
+
+ gfree(privilege_list);
+}
+
int main()
{
__print_dline();
__tcinfo(function, "privilege_manager_set_black_list");
__tcinfo(function, "privilege_manager_unset_black_list");
__tcinfo(function, "privilege_info_get_black_list");
- __test_black_list_set_unset();
+ __test_dpm_black_list_set_unset();
__tcinfo(function, "privilege_db_manager_check_black_list");
__tcinfo(function, "privilege_info_get_black_list");
- __test_black_list_check();
+ __test_dpm_black_list_check();
__tcinfo(function, "privilege_manager_verify_privilege");
- __test_black_list_verify_privilege();
+ __test_dpm_black_list_verify_privilege();
+
+ __tcinfo(function, "privilege_manager_set_mdm_black_list");
+ __tcinfo(function, "privilege_manager_unset_mdm_black_list");
+ __tcinfo(function, "privilege_info_get_mdm_black_list");
+ __test_mdm_black_list_set_unset();
+
+ __tcinfo(function, "privilege_info_get_privilege_type");
+ __tcinfo(function, "privilege_db_manager_is_disabled_privilge");
+ __test_mdm_black_list_type();
+
__print_dline();
}
-void __test_privilege_db_manager_is_disabled_privilege()
-{
- int ret = 0;
- __print_line();
- printf("uid = 5001, privilege: http://tizen.org/privilege/xxxxx\n");
- printf("is not disabled\n");
- ret = privilege_db_manager_is_disabled_privilege(5001, "http://tizen.org/privilege/xxxxx");
- printf("ret = %d\n", ret);
- if (ret == 0) {
- success_cnt++;
- __color_to_green();
- printf("success\n");
- __color_to_origin();
- } else {
- fail_cnt++;
- __color_to_red();
- printf("fail\n");
- __color_to_origin();
- }
-
- __print_line();
- printf("uid = 0, privilege: http://tizen.org/privilege/yyyyy\n");
- printf("is disabled\n");
- ret = privilege_db_manager_is_disabled_privilege(0, "http://tizen.org/privilege/yyyyy");
- printf("ret = %d\n", ret);
- if (ret == 1) {
- success_cnt++;
- __color_to_green();
- printf("success\n");
- __color_to_origin();
- } else {
- fail_cnt++;
- __color_to_red();
- printf("fail\n");
- __color_to_origin();
- }
-
- __print_line();
-}
-
void __test_privilege_db_manager_get_privacy_id()
{
int ret = 0;
__color_to_origin();
}
-
__print_line();
printf("pkgid: org.tizen.xxxxxxx\n");
printf("privilege: http://tizen.org/privacy/location\n");
__tcinfo(function, "privilege_db_manager_is_privacy_white_list");
__test_privilege_db_manager_is_privacy_white_list();
- __tcinfo(function, "privilege_db_manager_is_disabled_privilege");
- __test_privilege_db_manager_is_disabled_privilege();
-
__tcinfo(function, "privilege_db_manager_get_privacy_id");
__test_privilege_db_manager_get_privacy_id();
}
#endif
-static char* __get_privilege_type_string(privilege_manager_privilege_type_e type)
-{
- switch (type) {
- case PRIVILEGE_MANAGER_PRIVILEGE_TYPE_NORMAL:
- return "PRIVILEGE_MANAGER_PRIVILEGE_TYPE_NORMAL";
- case PRIVILEGE_MANAGER_PRIVILEGE_TYPE_PRIVACY:
- return "PRIVILEGE_MANAGER_PRIVILEGE_TYPE_PRIVACY";
- case PRIVILEGE_MANAGER_PRIVILEGE_TYPE_BLACKLIST:
- return "PRIVILEGE_MANAGER_PRIVILEGE_TYPE_PRIVACY";
- default:
- return "None of privilege_manager_privilege_type_e";
- }
-}
static void __test_privilege_info_get_privilege_type()
{
int ret = 0;
printf("uid = 0\n");
printf("pkgid = org.tizen.testtest\n");
printf("privilege = http://tizen.org/privilege/yyyyy\n");
+ printf("set mdm black list for above condition\n");
+ gfree(privilege_list);
+ __print_line();
+ __privinfo("http://tizen.org/privilege/yyyyy", NULL, NULL);
+ __tcinfo(expect, PRVMGR_ERR_NONE);
+ ret = privilege_manager_set_mdm_black_list(0, privilege_list);
+ __print_result('m', ret);
+ __print_line();
+ printf("check privilege type\n");
ret = privilege_info_get_privilege_type(0, "org.tizen.testtest", "http://tizen.org/privilege/yyyyy", &type);
printf("expected type = PRIVILEGE_MANAGER_PRIVILEGE_TYPE_BLACKLIST\n");
if (ret == PRVMGR_ERR_NONE && type == PRIVILEGE_MANAGER_PRIVILEGE_TYPE_BLACKLIST) {
printf("fail. ret = %s, type = %s\n", __get_result_string('m', ret), __get_privilege_type_string(type));
__color_to_origin();
}
+ __print_line();
+ printf("unset mdm black list for above condition\n");
+ __tcinfo(expect, PRVMGR_ERR_NONE);
+ ret = privilege_manager_unset_mdm_black_list(0, privilege_list);
+ __print_result('m', ret);
+ gfree(privilege_list);
__print_line();
printf("uid = 5001\n");