Revise privilege verification and remove legacy code 42/133442/5
authorYunjin Lee <yunjin-.lee@samsung.com>
Mon, 12 Jun 2017 08:14:36 +0000 (17:14 +0900)
committerYunjin Lee <yunjin-.lee@samsung.com>
Wed, 5 Jul 2017 02:41:53 +0000 (02:41 +0000)
- Revise enum
- Revise privilege verification logic
- Remove APIs not used anymore

Change-Id: I441d8367324dd7a3ab7c57bbca7647adbbd30f57
Signed-off-by: Yunjin Lee <yunjin-.lee@samsung.com>
14 files changed:
capi/include/privilege_db_manager.h
capi/include/privilege_info.h
capi/include/privilege_info_types.h
capi/include/privilege_manager.h
capi/include/privilege_manager_types.h [new file with mode: 0644]
capi/res/dbspace/core_db_generator.sh
capi/res/dbspace/mobile_preloaded.list [deleted file]
capi/res/dbspace/wearable_preloaded.list [deleted file]
capi/src/privilege_db_manager.c
capi/src/privilege_info.c
capi/src/privilege_manager.c
test/tc-common.c
test/tc-privilege-db-manager.c
test/tc-privilege-info.c

index 66dd40c..b3f7376 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Copyright(c)2013-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ * Copyright(c) 2013-2017 Samsung Electronics Co., Ltd All Rights Reserved
  *
  * Licensed under the Apache License, Version 2.0(the License);
  * you may not use this file except in compliance with the License.
 #define __PRIVILEGE_DB_MANAGER_H
 
 #include <glib.h>
-#include "privilege_manager.h"
-
-typedef struct {
-       int profile_id;
-       char* profile;
-       int package_type_id;
-       char* package_type;
-       char* privilege_name;
-       char* privilege_display;
-       char* privilege_description;
-       int privilege_level_id;
-       char* privilege_level;
-       char* issued_version;
-       char* expired_version;
-       char* changed_to;
-} privilege_info_db_row_s;
-
-typedef enum {
-       PRIVILEGE_DB_TYPE_INFO =       0,
-       PRIVILEGE_DB_TYPE_MAPPING =    1,
-       PRIVILEGE_DB_TYPE_POLICY_RW =  2,
-       PRIVILEGE_DB_TYPE_POLICY_RO =  3,
-} privilege_db_type_e;
-
-typedef enum {
-       PRIVILEGE_DB_MANAGER_ERR_NONE                = 0,
-       PRIVILEGE_DB_NO_EXIST_RESULT                 = -1,
-       PRIVILEGE_DB_MANAGER_ERR_CONNECTION_FAIL     = -2,
-       PRIVILEGE_DB_MANAGER_ERR_INVALID_QUERY       = -3,
-       PRIVILEGE_DB_MANAGER_ERR_OUT_OF_MEMORY       = -4,
-       PRIVILEGE_DB_MANAGER_ERR_INVALID_TYPE        = -5,
-       PRIVILEGE_DB_MANAGER_ERR_DB_BUSY_FAIL        = -6,
-       PRIVILEGE_DB_MANAGER_ERR_DB_CONSTRAINT_FAIL  = -7,
-       PRIVILEGE_DB_MANAGER_ERR_DB_FULL_FAIL        = -8,
-       PRIVILEGE_DB_MANAGER_ERR_DB_UPDATE_FAIL      = -9,
-       PRIVILEGE_DB_MANAGER_ERR_DB_NOENTRY          = -1001 /* define error code to avoid conflict error code of sqlite_open */
-} privilege_db_manager_error_e;
-
-typedef enum {
-       PRIVILEGE_DB_MANAGER_PRIVILEGE_LEVEL_PUBLIC    =   0,
-       PRIVILEGE_DB_MANAGER_PRIVILEGE_LEVEL_PARTNER   =   1,
-       PRIVILEGE_DB_MANAGER_PRIVILEGE_LEVEL_PLATFORM  =   2
-} 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;
+#include "privilege_manager_types.h"
 
 #ifdef __cplusplus
        extern "C" {
 #endif
 
-int privilege_db_manager_get_privilege_list(const char* api_version, privilege_db_manager_package_type_e package_type, GList** privilege_list);
+/**
+ * @brief Get all privilege information of the target profile and package type
+ * @remarks @a privilege_list must be released by you.
+ * @param [in]  api_version The api-version to get chagend_to information
+ * @param [in]  package_type The package type
+ * @param [out] privilege_list The privilege list
+ * @return 0 on success, otherwise a negative error value.
+ * @retval #PRIVILEGE_DB_MANAGER_ERR_NONE  Successful.
+ * @retval #PRIVILEGE_DB_MANAGER_ERR_OUT_OF_MEMORY Out of memory.
+ * @retval #PRIVILEGE_DB_MANAGER_ERR_INVALID_QUERY Failed to prepare sql query.
+ * @retval #PRIVILEGE_DB_MANAGER_ERR_DB_NOENTRY DB not exist.
+ * @retval #PRIVILEGE_DB_MANAGER_ERR_CONNECTION_FAIL DB exist but failed to open DB.
+ */
+int privilege_db_manager_get_privilege_list(const char* api_version, privilege_manager_package_type_e package_type, GList** privilege_list);
 
-int privilege_db_manager_get_mapped_privilege_list(const char* api_version, privilege_db_manager_package_type_e package_type, GList* privilege_list, GList** mapped_privilege_list);
+/**
+ * @brief Get mapped privilege list for the given api-version and privilege list.
+ * @remarks @a privilege_list must be released by you.
+ * @remarks @a mapped_privilege_list must be released by you.
+ * @param [in]  api_version The api-version to get mapped privilege list
+ * @param [in]  package_type The package type
+ * @param [in]  privilege_list The privilege list
+ * @param [out] mapped_privilege_list The mapped privilege list
+ * @return 0 on success, otherwise a negative error value.
+ * @retval #PRIVILEGE_DB_MANAGER_ERR_NONE  Successful.
+ * @retval #PRIVILEGE_DB_MANAGER_ERR_OUT_OF_MEMORY Out of memory.
+ * @retval #PRIVILEGE_DB_MANAGER_ERR_INVALID_QUERY Failed to prepare sql query.
+ * @retval #PRIVILEGE_DB_MANAGER_ERR_DB_NOENTRY DB not exist.
+ * @retval #PRIVILEGE_DB_MANAGER_ERR_CONNECTION_FAIL DB exist but failed to open DB.
+ */
+int privilege_db_manager_get_mapped_privilege_list(const char* api_version, privilege_manager_package_type_e package_type, GList* privilege_list, GList** mapped_privilege_list);
 
-int privilege_db_manager_get_privilege_display(privilege_db_manager_package_type_e package_type, const char* privilege_name, const char* api_version, char** privilege_display);
+/**
+ * @brief Get privilege display name
+ * @remarks @a privilege_display must be released by you.
+ * @param [in]  package_type The package type
+ * @param [in]  privilege_name The privilege name
+ * @param [in]  api_version The api-version
+ * @param [out] privilege_display The privilege display name.
+ * @return 0 on success, otherwise a negative error value.
+ * @retval #PRIVILEGE_DB_MANAGER_ERR_NONE  Successful.
+ * @retval #PRIVILEGE_DB_MANAGER_ERR_OUT_OF_MEMORY Out of memory.
+ * @retval #PRIVILEGE_DB_MANAGER_ERR_INVALID_QUERY Failed to prepare sql query.
+ * @retval #PRIVILEGE_DB_MANAGER_ERR_DB_NOENTRY DB not exist.
+ * @retval #PRIVILEGE_DB_MANAGER_ERR_CONNECTION_FAIL DB exist but failed to open DB.
+ * @retval #PRIVILEGE_DB_MANAGER_ERR_NO_EXIST_RESULT No data selected by given qeury.
+ */
+int privilege_db_manager_get_privilege_display(privilege_manager_package_type_e package_type, const char* privilege_name, const char* api_version, char** privilege_display);
 
-int privilege_db_manager_get_privilege_description(privilege_db_manager_package_type_e package_type, const char* privilege_name, const char* api_version, char** privilege_description);
+/**
+ * @brief Get privilege description
+ * @remarks @a privilege_description must be released by you.
+ * @param [in]  package_type The package type
+ * @param [in]  privilege_name The privilege name
+ * @param [in]  api_version The api-version
+ * @param [out] privilege_description The privilege description
+ * @return 0 on success, otherwise a negative error value.
+ * @retval #PRIVILEGE_DB_MANAGER_ERR_NONE  Successful.
+ * @retval #PRIVILEGE_DB_MANAGER_ERR_OUT_OF_MEMORY Out of memory.
+ * @retval #PRIVILEGE_DB_MANAGER_ERR_INVALID_QUERY Failed to prepare sql query.
+ * @retval #PRIVILEGE_DB_MANAGER_ERR_DB_NOENTRY DB not exist.
+ * @retval #PRIVILEGE_DB_MANAGER_ERR_CONNECTION_FAIL DB exist but failed to open DB.
+ * @retval #PRIVILEGE_DB_MANAGER_ERR_NO_EXIST_RESULT No data selected by given qeury.
+ */
+int privilege_db_manager_get_privilege_description(privilege_manager_package_type_e package_type, const char* privilege_name, const char* api_version, char** privilege_description);
 
-int privilege_db_manager_get_privilege_group_display(privilege_db_manager_package_type_e package_type, const char* privilege_name, const char* api_version, int* privilege_group_number);
+/**
+ * @brief Get privacy display.
+ * @remarks @a privacy_display must be released by you.
+ * @param [in]  privacy_name The privacy name
+ * @param [out] privilege_description The privilege description
+ * @return 0 on success, otherwise a negative error value.
+ * @retval #PRIVILEGE_DB_MANAGER_ERR_NONE  Successful.
+ * @retval #PRIVILEGE_DB_MANAGER_ERR_OUT_OF_MEMORY Out of memory.
+ * @retval #PRIVILEGE_DB_MANAGER_ERR_INVALID_QUERY Failed to prepare sql query.
+ * @retval #PRIVILEGE_DB_MANAGER_ERR_DB_NOENTRY DB not exist.
+ * @retval #PRIVILEGE_DB_MANAGER_ERR_CONNECTION_FAIL DB exist but failed to open DB.
+ * @retval #PRIVILEGE_DB_MANAGER_ERR_NO_EXIST_RESULT No data selected by given qeury.
+ */
+int privilege_db_manager_get_privacy_display(const char *privacy_name, char **privacy_display);
 
-int privilege_db_manager_get_privacy_display(const char *privacy, char **privacy_display);
+/**
+ * @brief Get privilege group ID
+ * @param [in]  package_type The package type
+ * @param [in]  privilege_name The privilege name
+ * @param [in]  api_version The api-version
+ * @param [out] privilege_group_id The ID of privilege group.
+ * @return 0 on success, otherwise a negative error value.
+ * @retval #PRIVILEGE_DB_MANAGER_ERR_NONE  Successful.
+ * @retval #PRIVILEGE_DB_MANAGER_ERR_INVALID_QUERY Failed to prepare sql query.
+ * @retval #PRIVILEGE_DB_MANAGER_ERR_DB_NOENTRY DB not exist.
+ * @retval #PRIVILEGE_DB_MANAGER_ERR_CONNECTION_FAIL DB exist but failed to open DB.
+ */
+int privilege_db_manager_get_privilege_group_id(privilege_manager_package_type_e package_type, const char* privilege_name, const char* api_version, int* privilege_group_id);
 
+/**
+ * @brief Determine privilege according to the given type and privilege.
+ * @param [in] type The type of check. 'v' for checking privilege exist or not, 'p' for checking privilege is privacy-related or not, and 'i' for checking privilege is internal or not.
+ * @param [in] privilege The privilege name
+ * @return 1 on true, 0 on false and -1 on error.
+ */
 int privilege_db_manager_is(char type, const char* privilege);
-int privilege_db_manager_is_preloaded(const char* pkgid);
 
-/* privilege should be privacy privilege */
+/**
+ * @brief See if the given package id is privacy whitelisted for the given privilege.
+ * @remarks @a privilege must be privacy related
+ * @param [in] pkgid The package ID
+ * @param [in] privilege The privilege
+ * @return 1 on true(is whitelisted), 0 on false and negative value on error.
+ * @retval #PRIVILEGE_DB_MANAGER_ERR_OUT_OF_MEMORY Out of memory.
+ * @retval #PRIVILEGE_DB_MANAGER_ERR_INVALID_QUERY Failed to prepare sql query.
+ * @retval #PRIVILEGE_DB_MANAGER_ERR_DB_NOENTRY DB not exist.
+ * @retval #PRIVILEGE_DB_MANAGER_ERR_CONNECTION_FAIL DB exist but failed to open DB.
+ */
 int privilege_db_manager_is_privacy_white_list(const char* pkgid, const char* privilege);
 
-int privilege_db_manager_is_privacy_white_list_application(const char* pkgid);
+/**
+ * @brief See if the given package id is user-settable for the given privacy.
+ * @param [in] pkgid_name The privacy name
+ * @param [in] privacy_name The privacy name
+ * @return 1 on true(is user-settable), 0 on false and negative value on error.
+ * @retval #PRIVILEGE_DB_MANAGER_ERR_OUT_OF_MEMORY Out of memory.
+ * @retval #PRIVILEGE_DB_MANAGER_ERR_INVALID_QUERY Failed to prepare sql query.
+ * @retval #PRIVILEGE_DB_MANAGER_ERR_DB_NOENTRY DB not exist.
+ * @retval #PRIVILEGE_DB_MANAGER_ERR_CONNECTION_FAIL DB exist but failed to open DB.
+ */
+int privilege_db_manager_is_user_settable(const char* pkgid, const char* privacy_name);
 
-int privilege_db_manager_is_user_settable(const char* pkgid, const char* privacy);
+/**
+ * @brief Get all privacy list
+ * @remarks @a privacy_list must be released by you.
+ * @param [out] privacy_list The privacy list.
+ * @return 0 on success, otherwise a negative error value.
+ * @retval #PRIVILEGE_DB_MANAGER_ERR_NONE  Successful.
+ * @retval #PRIVILEGE_DB_MANAGER_ERR_INVALID_QUERY Failed to prepare sql query.
+ * @retval #PRIVILEGE_DB_MANAGER_ERR_DB_NOENTRY DB not exist.
+ * @retval #PRIVILEGE_DB_MANAGER_ERR_CONNECTION_FAIL DB exist but failed to open DB.
+ */
+int privilege_db_manager_get_privacy_list(GList** privacy_list);
 
-int __privilege_db_manager_get_privacy_list(GList** privacy_list);
-int __privilege_db_manager_get_privilege_list_by_privacy(const char* privacy, GList **privilege_list);
+/**
+ * @brief Get list of privileges included in the given privacy group.
+ * @remarks @a privilege_list must be released by you.
+ * @param [in]  privacy_name The privacy name
+ * @param [out] privilege_list The privilege list.
+ * @return 0 on success, otherwise a negative error value.
+ * @retval #PRIVILEGE_DB_MANAGER_ERR_NONE  Successful.
+ * @retval #PRIVILEGE_DB_MANAGER_ERR_INVALID_QUERY Failed to prepare sql query.
+ * @retval #PRIVILEGE_DB_MANAGER_ERR_DB_NOENTRY DB not exist.
+ * @retval #PRIVILEGE_DB_MANAGER_ERR_CONNECTION_FAIL DB exist but failed to open DB.
+ */
+int privilege_db_manager_get_privilege_list_by_privacy(const char* privacy_name, GList **privilege_list);
 
+/**
+ * @brief Get privacy name that the given privilege is included in.
+ * @param [in]  privilege The privilege
+ * @param [out] privacy The privacy name
+ * @return 0 on success, otherwise a negative error value.
+ * @retval #PRIVILEGE_DB_MANAGER_ERR_NONE  Successful.
+ * @retval #PRIVILEGE_DB_MANAGER_ERR_INVALID_QUERY Failed to prepare sql query.
+ * @retval #PRIVILEGE_DB_MANAGER_ERR_DB_NOENTRY DB not exist.
+ * @retval #PRIVILEGE_DB_MANAGER_ERR_CONNECTION_FAIL DB exist but failed to open DB.
+ */
 int privilege_db_manager_get_privacy_by_privilege(const char* privilege, char** privacy_name);
+
+/**
+ * @brief Get privacy ID that the given privilege is included in.
+ * @param [in]  privilege The privilege
+ * @param [out] privacy_id The privacy ID
+ * @return 0 on success, otherwise a negative error value.
+ * @retval #PRIVILEGE_DB_MANAGER_ERR_NONE  Successful.
+ * @retval #PRIVILEGE_DB_MANAGER_ERR_INVALID_QUERY Failed to prepare sql query.
+ * @retval #PRIVILEGE_DB_MANAGER_ERR_DB_NOENTRY DB not exist.
+ * @retval #PRIVILEGE_DB_MANAGER_ERR_CONNECTION_FAIL DB exist but failed to open DB.
+ */
 int privilege_db_manager_get_privacy_id_by_privilege(const char* privilege, int* privacy_id);
+
+/**
+ * @brief Get ID of the given privacy name.
+ * @param [in]  privacy_name The privacy name
+ * @param [out] privacy_id The privacy ID
+ * @return 0 on success, otherwise a negative error value.
+ * @retval #PRIVILEGE_DB_MANAGER_ERR_NONE  Successful.
+ * @retval #PRIVILEGE_DB_MANAGER_ERR_INVALID_QUERY Failed to prepare sql query.
+ * @retval #PRIVILEGE_DB_MANAGER_ERR_DB_NOENTRY DB not exist.
+ * @retval #PRIVILEGE_DB_MANAGER_ERR_CONNECTION_FAIL DB exist but failed to open DB.
+ */
 int privilege_db_manager_get_privacy_id(const char* privacy, int *privacy_id);
 
+/**
+ * @brief See if the given privilege is in the mdm blacklist for the given uid.
+ * @param [in]  uid The uid
+ * @param [out] privilege The privilege
+ * @return 1 if true(is mdm blacklist privilege), 0 if false and otherwise a negative error value.
+ * @retval #PRIVILEGE_DB_MANAGER_ERR_INVALID_QUERY Failed to prepare sql query.
+ * @retval #PRIVILEGE_DB_MANAGER_ERR_DB_NOENTRY DB not exist.
+ * @retval #PRIVILEGE_DB_MANAGER_ERR_CONNECTION_FAIL DB exist but failed to open DB.
+ */
 int privilege_db_manager_is_disabled_privilege(uid_t uid, const char* privilege);
-int privilege_db_manager_get_black_list(privilege_manager_policy_type_e policy_type, int uid, privilege_db_manager_package_type_e package_type, GList** privilege_list);
-int privilege_db_manager_set_black_list(privilege_manager_policy_type_e policy_type, int uid, privilege_db_manager_package_type_e pacakge_type, GList *privilege_list);
-int privilege_db_manager_unset_black_list(privilege_manager_policy_type_e policy_type, int uid, privilege_db_manager_package_type_e package_type, GList *privilege_list);
 
-/* Return the number of black-listed privileges in given privilege list */
-int privilege_db_manager_check_black_list(int uid, privilege_db_manager_package_type_e pacakge_type, GList *privilege_list);
+/**
+ * @brief Get blacklisted privileges according to the policy type, uid, and package type.
+ * @param [in] policy_type The policy type indicates which blacklist to get(PRVMGR_POLICY_TYPE_PREVENT for dpm blacklist and PRVMGR_POLICY_TYPE_DISABLE for mdm blacklist).
+ * @param [in]  uid The uid
+ * @param [in]  package_type The package type
+ * @param [out] privilege_list The privilege list.
+ * @return 0 on success, otherwise a negative error value.
+ * @retval #PRIVILEGE_DB_MANAGER_ERR_NONE  Successful.
+ * @retval #PRIVILEGE_DB_MANAGER_ERR_INVALID_QUERY Failed to prepare sql query.
+ * @retval #PRIVILEGE_DB_MANAGER_ERR_DB_NOENTRY DB not exist.
+ * @retval #PRIVILEGE_DB_MANAGER_ERR_CONNECTION_FAIL DB exist but failed to open DB.
+ */
+int privilege_db_manager_get_black_list(privilege_manager_policy_type_e policy_type, int uid, privilege_manager_package_type_e package_type, GList** privilege_list);
+
+/**
+ * @brief Set blacklist privileges for the given policy type, uid, and package type.
+ * @param [in] policy_type The policy type indicates which blacklist to get(PRVMGR_POLICY_TYPE_PREVENT for dpm blacklist and PRVMGR_POLICY_TYPE_DISABLE for mdm blacklist).
+ * @param [in] uid The uid
+ * @param [in] package_type The package type
+ * @param [in] privilege_list The privilege list.
+ * @return 0 on success, otherwise a negative error value.
+ * @retval #PRIVILEGE_DB_MANAGER_ERR_NONE  Successful.
+ * @retval #PRIVILEGE_DB_MANAGER_ERR_INVALID_QUERY Failed to prepare sql query.
+ * @retval #PRIVILEGE_DB_MANAGER_ERR_DB_NOENTRY DB not exist.
+ * @retval #PRIVILEGE_DB_MANAGER_ERR_CONNECTION_FAIL DB exist but failed to open DB.
+ */
+int privilege_db_manager_set_black_list(privilege_manager_policy_type_e policy_type, int uid, privilege_manager_package_type_e pacakge_type, GList *privilege_list);
+
+/**
+ * @brief Remove the given privileges from blacklist of the given policy type, uid, and package type.
+ * @param [in] policy_type The policy type indicates which blacklist to get(PRVMGR_POLICY_TYPE_PREVENT for dpm blacklist and PRVMGR_POLICY_TYPE_DISABLE for mdm blacklist).
+ * @param [in] uid The uid
+ * @param [in] package_type The package type
+ * @param [in] privilege_list The privilege list.
+ * @return 0 on success, otherwise a negative error value.
+ * @retval #PRIVILEGE_DB_MANAGER_ERR_NONE  Successful.
+ * @retval #PRIVILEGE_DB_MANAGER_ERR_INVALID_QUERY Failed to prepare sql query.
+ * @retval #PRIVILEGE_DB_MANAGER_ERR_DB_NOENTRY DB not exist.
+ * @retval #PRIVILEGE_DB_MANAGER_ERR_CONNECTION_FAIL DB exist but failed to open DB.
+ */
+int privilege_db_manager_unset_black_list(privilege_manager_policy_type_e policy_type, int uid, privilege_manager_package_type_e package_type, GList *privilege_list);
+
+/**
+ * @brief Get the number of blacklisted privileges in the give privilege list
+ * @remarks @a privilege_list must be released by you.
+ * @param [in] uid The uid
+ * @param [in] package_type The package type of the given privilege list
+ * @param [in] privilege_list The privilege list to check
+ * @return 0 if no blacklisted privileges in the given privilege list, or return the number of blacklisted privileges. And negative error value on error.
+ * @retval #PRIVILEGE_DB_MANAGER_ERR_NONE  Successful. No blacklisted privilege in the given privilege list.
+ * @retval #PRIVILEGE_DB_MANAGER_ERR_INVALID_QUERY Failed to prepare sql query.
+ * @retval #PRIVILEGE_DB_MANAGER_ERR_DB_NOENTRY DB not exist.
+ * @retval #PRIVILEGE_DB_MANAGER_ERR_CONNECTION_FAIL DB exist but failed to open DB.
+ */
+int privilege_db_manager_check_black_list(uid_t uid, privilege_manager_package_type_e pacakge_type, GList *privilege_list);
 
 #ifdef __cplusplus
        }
index 3ba9881..908af1f 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ * Copyright (c) 2013-2017 Samsung Electronics Co., Ltd All Rights Reserved
  *
  * Licensed under the Apache License, Version 2.0 (the License);
  * you may not use this file except in compliance with the License.
@@ -18,7 +18,7 @@
 #define __TIZEN_SECURITY_PRIVILEGE_INFO_H
 
 #include <glib.h>
-#include "privilege_manager.h"
+#include "privilege_manager_types.h"
 
 #ifndef EXPORT_API
 #define EXPORT_API __attribute__((__visibility__("default")))
@@ -153,13 +153,6 @@ EXPORT_API int privilege_info_is_user_settable(const char *pkgid, const char *pr
 EXPORT_API int privilege_info_get_privilege_type(uid_t uid, const char* pkgid, const char* privilege, privilege_manager_privilege_type_e *type);
 
 /**
- * @brief Determines whether the given package id is on the privacy white list
- * @param [in]  pkgid The pkgid of application
- * @return 1 if true(=given pkgid is listed on the privacy white list), 0 if false, and -1 on error
- */
-EXPORT_API int privilege_info_is_privacy_white_list_application(const char* pkgid);
-
-/**
  * @brief Gets all privacy list.
  * @remarks @a privacy_list must be released with g_list_free() by you.
  * @param [out]  privacy_list The privacy list
index 10417b7..e4f3945 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright(c)2013-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ * Copyright(c) 2013-2017 Samsung Electronics Co., Ltd All Rights Reserved
  *
  * Licensed under the Apache License, Version 2.0(the License);
  * you may not use this file except in compliance with the License.
@@ -32,24 +32,9 @@ typedef enum _privilegeGroup {
        MAX_PRV_GROUP,
 } privilegeGroup;
 
-#define LOCATION_PRIVACY "http://tizen.org/privacy/location"
 #define EXTRA_GROUP MAX_PRV_GROUP - 1
 
 typedef struct {
-       const char* privilege;
-       const char* name_string_id;
-       const char* description_string_id;
-       privilegeGroup privilege_group_enum;
-
-} privilege_info_s;
-
-typedef struct {
-       const char* privilege;
-       const char* privilege_level;
-} core_privilege_info_s;
-
-
-typedef struct {
        const char* privilege_group;
        privilegeGroup privilege_group_enum;
        const char* name_string_id;
index b4f53f0..6f80d87 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Copyright(c)2013-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ * Copyright(c) 2013-2017 Samsung Electronics Co., Ltd All Rights Reserved
  *
  * Licensed under the Apache License, Version 2.0(the License);
  * you may not use this file except in compliance with the License.
 #endif
 
 #include <glib.h>
+#include "privilege_manager_types.h"
 
 #ifdef __cplusplus
 extern "C" {
 #endif
-/**
- * @brief Enumerations of error code for Privilege Manager
- */
-typedef enum {
-       PRVMGR_ERR_NONE                        = 0,
-       PRVMGR_ERR_INVALID_PARAMETER           = -1,
-       PRVMGR_ERR_OUT_OF_MEMORY               = -2,
-       PRVMGR_ERR_INTERNAL_ERROR              = -3,
-       PRVMGR_ERR_NO_DATA                     = -4,
-       PRVMGR_ERR_NO_EXIST_PRIVILEGE          = -5,
-       PRVMGR_ERR_MISMACHED_PRIVILEGE_LEVEL   = -6,
-       PRVMGR_ERR_INVALID_PRIVILEGE           = -7,
-       PRVMGR_ERR_INVALID_METADATA            = PRVMGR_ERR_INVALID_PRIVILEGE,
-       PRVMGR_ERR_DEPRECATED_PRIVILEGE        = -8,
-       PRVMGR_ERR_USING_BANNED_PRIVILEGE      = -9,
-} privilege_manager_error_e;
-
-typedef enum {
-       PRIVILEGE_MANAGER_PRIVILEGE_TYPE_NORMAL, /* not privacy, not blacklisted by mdm */
-       PRIVILEGE_MANAGER_PRIVILEGE_TYPE_PRIVACY, /* privacy (privacy privilege must not blacklisted by mdm) */
-       PRIVILEGE_MANAGER_PRIVILEGE_TYPE_BLACKLIST, /* blacklisted by mdm(disabled by security-manager when policy is set) */
-       PRIVILEGE_MANAGER_PRIVILEGE_TYPE_MAX
-} privilege_manager_privilege_type_e;
-
-typedef enum {
-       PRIVILEGE_MANAGER_POLICY_TYPE_PREVENT,
-       PRIVILEGE_MANAGER_POLICY_TYPE_DISABLE,
-} privilege_manager_policy_type_e;
-
-typedef enum {
-       PRVMGR_PACKAGE_VISIBILITY_PUBLIC     =  1 << 1,
-       PRVMGR_PACKAGE_VISIBILITY_PARTNER    =  1 << 2,
-       PRVMGR_PACKAGE_VISIBILITY_PLATFORM   =  1 << 3,
-} privilege_manager_visibility_e;
-
-typedef enum {
-       PRVMGR_PACKAGE_TYPE_WRT      = 0,
-       PRVMGR_PACKAGE_TYPE_CORE     = 1,
-       PRVMGR_PACKAGE_TYPE_METADATA = 2,
-       PRVMGR_PACKAGE_TYPE_MAX
-} privilege_manager_package_type_e;
-
 
 /**
  * @brief verify privilege in the privilege list by checking its name and level at given api version.
diff --git a/capi/include/privilege_manager_types.h b/capi/include/privilege_manager_types.h
new file mode 100644 (file)
index 0000000..137f2fb
--- /dev/null
@@ -0,0 +1,159 @@
+/*
+ * Copyright(c) 2017 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0(the License);
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an AS IS BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef __TIZEN_SECURITY_PRIVILEGE_MANAGER_TYPES_H
+#define __TIZEN_SECURITY_PRIVILEGE_MANAGER_TYPES_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+/**
+ * @brief Enumerations of error code for Privilege Manager
+ */
+typedef enum {
+       PRVMGR_ERR_NONE                        = 0,
+       PRVMGR_ERR_INVALID_PARAMETER           = -1,
+       PRVMGR_ERR_OUT_OF_MEMORY               = -2,
+       PRVMGR_ERR_INTERNAL_ERROR              = -3,
+       PRVMGR_ERR_NO_DATA                     = -4,
+       PRVMGR_ERR_NO_EXIST_PRIVILEGE          = -5,
+       PRVMGR_ERR_MISMACHED_PRIVILEGE_LEVEL   = -6,
+       PRVMGR_ERR_INVALID_PRIVILEGE           = -7,
+       PRVMGR_ERR_INVALID_METADATA            = PRVMGR_ERR_INVALID_PRIVILEGE,
+       PRVMGR_ERR_DEPRECATED_PRIVILEGE        = -8,
+       PRVMGR_ERR_USING_BANNED_PRIVILEGE      = -9,
+} privilege_manager_error_e;
+
+/**
+ * @brief Enumerations of privilege type for privilege_info_get_privilege_type()
+ */
+typedef enum {
+       PRIVILEGE_MANAGER_PRIVILEGE_TYPE_NORMAL, /* not privacy, not blacklisted by mdm */
+       PRIVILEGE_MANAGER_PRIVILEGE_TYPE_PRIVACY, /* privacy (privacy privilege must not blacklisted by mdm) */
+       PRIVILEGE_MANAGER_PRIVILEGE_TYPE_BLACKLIST, /* blacklisted by mdm(disabled by security-manager when policy is set) */
+       PRIVILEGE_MANAGER_PRIVILEGE_TYPE_MAX
+} privilege_manager_privilege_type_e;
+
+/**
+ * @brief Enumerations of policy type to distinguish mdm blacklist and dpm blacklist
+ */
+typedef enum {
+       PRVMGR_POLICY_TYPE_PREVENT,
+       PRVMGR_POLICY_TYPE_DISABLE,
+} privilege_manager_policy_type_e;
+
+/**
+ * @brief Enumerations of certificate signing level
+ */
+typedef enum {
+       PRVMGR_PACKAGE_VISIBILITY_PUBLIC     =  0,
+       PRVMGR_PACKAGE_VISIBILITY_PARTNER    =  1,
+       PRVMGR_PACKAGE_VISIBILITY_PLATFORM   =  2,
+} privilege_manager_visibility_e;
+
+/**
+ * @brief Enumerations of application package type
+ */
+typedef enum {
+       PRVMGR_PACKAGE_TYPE_NONE     = -1, /* placeholder */
+       PRVMGR_PACKAGE_TYPE_WRT      = 0,
+       PRVMGR_PACKAGE_TYPE_CORE     = 1,
+       PRVMGR_PACKAGE_TYPE_METADATA = 2,
+       PRVMGR_PACKAGE_TYPE_MAX
+} privilege_manager_package_type_e;
+
+typedef struct {
+       int profile_id;
+       char* profile;
+       int package_type_id;
+       char* package_type;
+       char* privilege_name;
+       char* privilege_display;
+       char* privilege_description;
+       int privilege_level_id;
+       char* privilege_level;
+       char* issued_version;
+       char* expired_version;
+       char* changed_to;
+} privilege_info_db_row_s;
+
+/**
+ * @brief Enumerations of privilege DB type
+ */
+typedef enum {
+       PRIVILEGE_DB_TYPE_INFO =       0,
+       PRIVILEGE_DB_TYPE_MAPPING =    1,
+       PRIVILEGE_DB_TYPE_POLICY_RW =  2,
+       PRIVILEGE_DB_TYPE_POLICY_RO =  3,
+       PRIVILEGE_DB_TYPE_PRIVACY_RW = 4,
+       PRIVILEGE_DB_TYPE_PRIVACY_RO = 5,
+} privilege_db_type_e;
+
+/**
+ * @brief Enumerations of error code for Privilege DB Manager
+ */
+typedef enum {
+       PRIVILEGE_DB_MANAGER_ERR_NONE                = 0,
+       PRIVILEGE_DB_MANAGER_ERR_NO_EXIST_RESULT     = -1,
+       PRIVILEGE_DB_MANAGER_ERR_CONNECTION_FAIL     = -2,
+       PRIVILEGE_DB_MANAGER_ERR_INVALID_QUERY       = -3,
+       PRIVILEGE_DB_MANAGER_ERR_OUT_OF_MEMORY       = -4,
+       PRIVILEGE_DB_MANAGER_ERR_INVALID_TYPE        = -5,
+       PRIVILEGE_DB_MANAGER_ERR_DB_BUSY_FAIL        = -6,
+       PRIVILEGE_DB_MANAGER_ERR_DB_CONSTRAINT_FAIL  = -7,
+       PRIVILEGE_DB_MANAGER_ERR_DB_FULL_FAIL        = -8,
+       PRIVILEGE_DB_MANAGER_ERR_DB_UPDATE_FAIL      = -9,
+       PRIVILEGE_DB_MANAGER_ERR_DB_NOENTRY          = -1001 /* define error code to avoid conflict error code of sqlite_open */
+} privilege_db_manager_error_e;
+
+/**
+ * @brief Enumerations of privilege verification error type for guide message
+ */
+typedef enum {
+       G_WEB,
+       G_NATIVE,
+       G_METADATA,
+       E_DPM_BANNED_PRIVILEGE,
+       E_DEPRECATED_AND_CHANGED,
+       E_DEPRECATED,
+       E_NOT_EXIST_YET,
+       E_NOT_EXIST,
+       E_CERT_LEVEL_MISMATCHED,
+       MAX_VERIFICATION_INFO,
+} privilege_verification_error_type_e;
+
+typedef struct {
+       privilege_verification_error_type_e type;
+       const char* msg;
+} privilege_verification_error_s;
+
+static const privilege_verification_error_s const prvmgr_msg_table[MAX_VERIFICATION_INFO] = {
+       {G_WEB, "Check config.xml| - Current required_version(=api version) = %s, |   certificate signature level = %s||"},
+       {G_NATIVE, "Check tizen-manifest.xml| - Current api-version = %s, |  certificate signature level = %s||"},
+       {G_METADATA, "Check tizen-manifest.xml or config.xml| - Current api-version = %s, |  certificate signature level = %s||"},
+       {E_DPM_BANNED_PRIVILEGE, "Application manifest contains banned privilege(s) declared by the DPM."},
+       {E_DEPRECATED_AND_CHANGED, " - %s|   >> Use %s instead of it or use api version lower than %s.|"},
+       {E_DEPRECATED, " - %s|   >> Remove the privilege.|"},
+       {E_NOT_EXIST_YET, "- %s|   >> Use at least api version %s or remove the privilege.|"},
+       {E_NOT_EXIST, " - %s|   >> Check spelling or remove the privilege.|"},
+       {E_CERT_LEVEL_MISMATCHED, " - %s|   >> Use at least %s signatured certificate.|"},
+};
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __TIZEN_SECURITY_PRIVILEGE_MANAGER_TYPES_H */
index 7b383e0..66add2d 100755 (executable)
@@ -7,7 +7,6 @@ echo "Creating $DB_NAME ..."
 touch $DB_NAME
 
 target_profile=$1
-preloaded="$target_profile""_preloaded.list"
 PRIVACYLIST_CSV="privacylist.csv"
 PRIVACY_WHITELIST_CSV="$target_profile""_privacy_whitelist.csv"
 
@@ -17,21 +16,8 @@ sqlite3 $DB_NAME "CREATE TABLE PRIVILEGE_INFO (PROFILE_ID NUMERIC, PROFILE TEXT,
 echo "Create VALID_PRIVILEGE_INFO Table..."
 sqlite3 $DB_NAME "CREATE TABLE VALID_PRIVILEGE_INFO (PRIVILEGE_NAME TEXT UNIQUE, IS_PRIVACY NUMERIC, PRIVACY_NAME TEXT, IS_INTERNAL NUMERIC);"
 
-echo "Create PRELOADED table..."
-sqlite3 $DB_NAME "CREATE TABLE PRELOADED (NAME TEXT)"
-
 echo "Inserting data ..."
 IFS=$'\n'
-for p in `cat $preloaded`
-do
-       temp=`echo $p | awk '/^#/'`
-       if [ ! "$temp" = "" ]
-       then
-               continue
-       fi
-       NAME=`echo $p | cut -d "," -f 1`
-       sqlite3 $DB_NAME "insert into preloaded values ('$NAME')"
-done
 
 for i in `cat core_privilege_info.csv`
 do
diff --git a/capi/res/dbspace/mobile_preloaded.list b/capi/res/dbspace/mobile_preloaded.list
deleted file mode 100644 (file)
index 8f3333b..0000000
+++ /dev/null
@@ -1,85 +0,0 @@
-User::Pkg::attach-panel-camera
-User::Pkg::attach-panel-document
-User::Pkg::attach-panel-gallery
-User::Pkg::attach-panel-voicerecorder
-User::Pkg::cert-svc-ui
-User::Pkg::hangul
-User::Pkg::ise-default
-User::Pkg::ise-engine-anthy
-User::Pkg::ise-engine-default
-User::Pkg::ise-engine-sunpinyin
-User::Pkg::net.netpopup
-User::Pkg::net.wifi-qs
-User::Pkg::org.tizen.app-selector
-User::Pkg::org.tizen.bluetooth-share-ui
-User::Pkg::org.tizen.browser
-User::Pkg::org.tizen.bt-syspopup
-User::Pkg::org.tizen.calendar
-User::Pkg::org.tizen.call-setting
-User::Pkg::org.tizen.call-ui
-User::Pkg::org.tizen.callmgr-popup
-User::Pkg::org.tizen.camera-app
-User::Pkg::org.tizen.chromium-efl
-User::Pkg::org.tizen.contacts
-User::Pkg::org.tizen.crash-syspopup
-User::Pkg::org.tizen.d2d-conv-setting
-User::Pkg::org.tizen.d2d-conv-syspopup
-User::Pkg::org.tizen.download-manager
-User::Pkg::org.tizen.dpm-syspopup
-User::Pkg::org.tizen.dpm-toolkit
-User::Pkg::org.tizen.email
-User::Pkg::org.tizen.gallery
-User::Pkg::org.tizen.gps-syspopup
-User::Pkg::org.tizen.heremaps-uc
-User::Pkg::org.tizen.homescreen-efl
-User::Pkg::org.tizen.image-viewer
-User::Pkg::org.tizen.indicator
-User::Pkg::org.tizen.inputmethod-setting
-User::Pkg::org.tizen.isf-kbd-mode-changer
-User::Pkg::org.tizen.kaskit
-User::Pkg::org.tizen.keyguard
-User::Pkg::org.tizen.krate-setup-wizard
-User::Pkg::org.tizen.lockscreen
-User::Pkg::org.tizen.menu-screen
-User::Pkg::org.tizen.message
-User::Pkg::org.tizen.msg-manager
-User::Pkg::org.tizen.music-player
-User::Pkg::org.tizen.myfile
-User::Pkg::org.tizen.myplace
-User::Pkg::org.tizen.ode
-User::Pkg::org.tizen.overheat-syspopup
-User::Pkg::org.tizen.powerkey-syspopup
-User::Pkg::org.tizen.privacy-setting
-User::Pkg::org.tizen.quickpanel
-User::Pkg::org.tizen.screen-reader
-User::Pkg::org.tizen.service-plugin-sample
-User::Pkg::org.tizen.setting
-User::Pkg::org.tizen.setting-homescreen
-User::Pkg::org.tizen.setting-location
-User::Pkg::org.tizen.setting-notification
-User::Pkg::org.tizen.settings-adid
-User::Pkg::org.tizen.share-panel
-User::Pkg::org.tizen.stt-engine-default
-User::Pkg::org.tizen.sys-lock
-User::Pkg::org.tizen.system-signal-sender
-User::Pkg::org.tizen.system-syspopup
-User::Pkg::org.tizen.task-mgr
-User::Pkg::org.tizen.tts-engine-default
-User::Pkg::org.tizen.ug-gallery-efl
-User::Pkg::org.tizen.ug-lockscreen-options
-User::Pkg::org.tizen.ug-myfile-efl
-User::Pkg::org.tizen.videos
-User::Pkg::org.tizen.voice-control-panel
-User::Pkg::org.tizen.voice-setting
-User::Pkg::org.tizen.volume
-User::Pkg::org.tizen.wallpaper-ui-service
-User::Pkg::org.tizen.widget_viewer_sdk
-User::Pkg::org.tizen.wifi-direct-popup
-User::Pkg::org.tizen.worldclock-efl
-User::Pkg::setting-myaccount-efl
-User::Pkg::table
-User::Pkg::ug-bluetooth-efl
-User::Pkg::ug-setting-mobileap-efl
-User::Pkg::ug-setting-wifidirect-efl
-User::Pkg::wifi-efl-ug
-User::Pkg::org.tizen.memo
diff --git a/capi/res/dbspace/wearable_preloaded.list b/capi/res/dbspace/wearable_preloaded.list
deleted file mode 100644 (file)
index 19d6f30..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-User::Pkg::ise-default
-User::Pkg::ise-engine-default
-User::Pkg::org.tizen.alarm
-User::Pkg::org.tizen.app-selector
-User::Pkg::org.tizen.bluetooth
-User::Pkg::org.tizen.bt-syspopup
-User::Pkg::org.tizen.chromium-efl
-User::Pkg::org.tizen.classic-watch
-User::Pkg::org.tizen.crash-syspopup
-User::Pkg::org.tizen.dpm-syspopup
-User::Pkg::org.tizen.dpm-toolkit
-User::Pkg::org.tizen.elm-demo-tizen-wearable
-User::Pkg::org.tizen.heremaps-uc
-User::Pkg::org.tizen.idle-clock-digital
-User::Pkg::org.tizen.inputdelegator
-User::Pkg::org.tizen.inputmethod-setting
-User::Pkg::org.tizen.my-account
-User::Pkg::org.tizen.nfc-setting-app
-User::Pkg::org.tizen.ode
-User::Pkg::org.tizen.powerkey-syspopup
-User::Pkg::org.tizen.privacy-setting
-User::Pkg::org.tizen.screen-reader
-User::Pkg::org.tizen.stopwatch
-User::Pkg::org.tizen.stt-engine-default
-User::Pkg::org.tizen.system-syspopup
-User::Pkg::org.tizen.task-mgr
-User::Pkg::org.tizen.timer
-User::Pkg::org.tizen.tts-engine-default
-User::Pkg::org.tizen.w-home
-User::Pkg::org.tizen.w-wifi
-User::Pkg::org.tizen.watch-setting
-User::Pkg::org.tizen.widget_viewer_sdk
-User::Pkg::org.tizen.windicator
index e1ef570..ef20771 100755 (executable)
@@ -1,3 +1,19 @@
+/*
+ * Copyright(c) 2013-2017 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0(the License);
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an AS IS BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 #include "privilege_db_manager.h"
 #include "privilege_private.h"
 #include <sqlite3.h>
@@ -80,28 +96,28 @@ privilege_db_manager_profile_type_e get_priv_profile()
 char* __get_policy_table(privilege_manager_policy_type_e policy_type)
 {
        switch (policy_type) {
-       case (PRIVILEGE_MANAGER_POLICY_TYPE_PREVENT):
+       case (PRVMGR_POLICY_TYPE_PREVENT):
                return "prevent_list";
-       case (PRIVILEGE_MANAGER_POLICY_TYPE_DISABLE):
+       case (PRVMGR_POLICY_TYPE_DISABLE):
        default:
                return "disable_list";
        }
 }
 
-int __initialize_db(privilege_db_type_e type, sqlite3 ** db, privilege_db_manager_package_type_e package_type)
+int __initialize_db(privilege_db_type_e type, sqlite3 ** db, privilege_manager_package_type_e package_type)
 {
        char *db_path = NULL;
        int db_mode = SQLITE_OPEN_READONLY;
 
        switch (type) {
        case PRIVILEGE_DB_TYPE_INFO:
-               if (package_type == PRIVILEGE_DB_MANAGER_PACKAGE_TYPE_WRT)
+               if (package_type == PRVMGR_PACKAGE_TYPE_WRT)
                        db_path = PRIVILEGE_INFO_WRT_DB_PATH;
                else
                        db_path = PRIVILEGE_INFO_CORE_DB_PATH;
                break;
        case PRIVILEGE_DB_TYPE_MAPPING:
-               if (package_type == PRIVILEGE_DB_MANAGER_PACKAGE_TYPE_WRT)
+               if (package_type == PRVMGR_PACKAGE_TYPE_WRT)
                        db_path = PRIVILEGE_MAPPING_WRT_DB_PATH;
                else
                        db_path = PRIVILEGE_MAPPING_CORE_DB_PATH;
@@ -175,7 +191,7 @@ int __get_db_error(int ret)
        return ret;
 }
 
-int privilege_db_manager_check_black_list(int uid, privilege_db_manager_package_type_e package_type, GList* privilege_list)
+int privilege_db_manager_check_black_list(uid_t uid, privilege_manager_package_type_e package_type, GList* privilege_list)
 {
        sqlite3 *db = NULL;
        sqlite3_stmt *stmt = NULL;
@@ -214,7 +230,7 @@ int privilege_db_manager_check_black_list(int uid, privilege_db_manager_package_
 }
 
 
-int privilege_db_manager_get_privilege_list(const char *api_version, privilege_db_manager_package_type_e package_type, GList ** privilege_list)
+int privilege_db_manager_get_privilege_list(const char *api_version, privilege_manager_package_type_e package_type, GList ** privilege_list)
 {
        sqlite3 *db = NULL;
        sqlite3_stmt *stmt = NULL;
@@ -309,7 +325,7 @@ int privilege_db_manager_get_privilege_list(const char *api_version, privilege_d
        return PRIVILEGE_DB_MANAGER_ERR_NONE;
 }
 
-int privilege_db_manager_get_mapped_privilege_list(const char *api_version, privilege_db_manager_package_type_e package_type, GList * privilege_list, GList ** mapped_privilege_list)
+int privilege_db_manager_get_mapped_privilege_list(const char *api_version, privilege_manager_package_type_e package_type, GList * privilege_list, GList ** mapped_privilege_list)
 {
        sqlite3 *db = NULL;
        sqlite3_stmt *stmt = NULL;
@@ -351,14 +367,14 @@ int privilege_db_manager_get_mapped_privilege_list(const char *api_version, priv
        return PRIVILEGE_DB_MANAGER_ERR_NONE;
 }
 
-int privilege_db_manager_get_privacy_display(const char *privacy, char **privacy_display)
+int privilege_db_manager_get_privacy_display(const char *privacy_name, char **privacy_display)
 {
        sqlite3 *db = NULL;
        sqlite3_stmt *stmt = NULL;
-       int ret = __initialize_db(PRIVILEGE_DB_TYPE_INFO, &db, PRIVILEGE_DB_MANAGER_PACKAGE_TYPE_CORE);
+       int ret = __initialize_db(PRIVILEGE_DB_TYPE_INFO, &db, PRVMGR_PACKAGE_TYPE_CORE);
        if (ret != PRIVILEGE_DB_MANAGER_ERR_NONE)
                return ret;
-       char *sql = sqlite3_mprintf("select privacy_display from privacy_info where privacy_name=%Q", privacy);
+       char *sql = sqlite3_mprintf("select privacy_display from privacy_info where privacy_name=%Q", privacy_name);
        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) {
@@ -378,10 +394,10 @@ int privilege_db_manager_get_privacy_display(const char *privacy, char **privacy
 
        __finalize_db(db, stmt, sql);
 
-       return PRIVILEGE_DB_NO_EXIST_RESULT;
+       return PRIVILEGE_DB_MANAGER_ERR_NO_EXIST_RESULT;
 }
 
-int privilege_db_manager_get_privilege_display(privilege_db_manager_package_type_e package_type, const char *privilege_name, const char *api_version, char **privilege_display)
+int privilege_db_manager_get_privilege_display(privilege_manager_package_type_e package_type, const char *privilege_name, const char *api_version, char **privilege_display)
 {
        sqlite3 *db = NULL;
        sqlite3_stmt *stmt = NULL;
@@ -419,10 +435,10 @@ int privilege_db_manager_get_privilege_display(privilege_db_manager_package_type
 
        __finalize_db(db, stmt, sql);
 
-       return PRIVILEGE_DB_NO_EXIST_RESULT;
+       return PRIVILEGE_DB_MANAGER_ERR_NO_EXIST_RESULT;
 }
 
-int privilege_db_manager_get_privilege_description(privilege_db_manager_package_type_e package_type, const char *privilege_name, const char *api_version, char **privilege_description)
+int privilege_db_manager_get_privilege_description(privilege_manager_package_type_e package_type, const char *privilege_name, const char *api_version, char **privilege_description)
 {
        sqlite3 *db = NULL;
        sqlite3_stmt *stmt = NULL;
@@ -459,10 +475,10 @@ int privilege_db_manager_get_privilege_description(privilege_db_manager_package_
 
        __finalize_db(db, stmt, sql);
 
-       return PRIVILEGE_DB_NO_EXIST_RESULT;
+       return PRIVILEGE_DB_MANAGER_ERR_NO_EXIST_RESULT;
 }
 
-int privilege_db_manager_get_privilege_group_display(privilege_db_manager_package_type_e package_type, const char *privilege_name, const char *api_version, int *privilege_group_number)
+int privilege_db_manager_get_privilege_group_id(privilege_manager_package_type_e package_type, const char *privilege_name, const char *api_version, int *privilege_group_id)
 {
        sqlite3 *db = NULL;
        sqlite3_stmt *stmt = NULL;
@@ -484,8 +500,8 @@ int privilege_db_manager_get_privilege_group_display(privilege_db_manager_packag
 
        ret = sqlite3_step(stmt);
        if (ret == SQLITE_ROW) {
-               *privilege_group_number = (int)sqlite3_column_int(stmt, 0);
-               _LOGD("privilege_group_number = %d", *privilege_group_number);
+               *privilege_group_id = (int)sqlite3_column_int(stmt, 0);
+               _LOGD("privilege_group_id = %d", *privilege_group_id);
 
                __finalize_db(db, stmt, sql);
                return PRIVILEGE_DB_MANAGER_ERR_NONE;
@@ -493,7 +509,7 @@ int privilege_db_manager_get_privilege_group_display(privilege_db_manager_packag
 
        __finalize_db(db, stmt, sql);
 
-       return PRIVILEGE_DB_NO_EXIST_RESULT;
+       return PRIVILEGE_DB_MANAGER_ERR_NO_EXIST_RESULT;
 }
 
 int privilege_db_manager_is(char type, const char* privilege)
@@ -501,10 +517,10 @@ int privilege_db_manager_is(char type, const char* privilege)
        sqlite3 *db = NULL;
        sqlite3_stmt *stmt = NULL;
        int res = 0;
-       int ret = __initialize_db(PRIVILEGE_DB_TYPE_INFO, &db, PRIVILEGE_DB_MANAGER_PACKAGE_TYPE_CORE);
+       int ret = __initialize_db(PRIVILEGE_DB_TYPE_INFO, &db, PRVMGR_PACKAGE_TYPE_CORE);
        TryReturn(ret == PRIVILEGE_DB_MANAGER_ERR_NONE, , ret, "[PRIVILEGE_DB_MANAGER] DB INITIALIZE FAIL");
 
-       char *sql = sqlite3_mprintf("select privilege_name,is_privacy, is_internal from valid_privilege_info where privilege_name=%Q", privilege);
+       char *sql = sqlite3_mprintf("select privilege_name, is_privacy, is_internal from valid_privilege_info where privilege_name=%Q", privilege);
        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);
        TryReturn(ret == SQLITE_OK, __finalize_db(db, stmt, sql), PRIVILEGE_DB_MANAGER_ERR_INVALID_QUERY, "[DB_FAIL] fail to prepare database : %s", sqlite3_errmsg(db));
@@ -540,30 +556,6 @@ int privilege_db_manager_is(char type, const char* privilege)
                return res;
 }
 
-/* TBD : Remove it */
-int privilege_db_manager_is_preloaded(const char* pkgid)
-{
-       sqlite3 *db = NULL;
-       sqlite3_stmt *stmt = NULL;
-       int ret = __initialize_db(PRIVILEGE_DB_TYPE_INFO, &db, PRIVILEGE_DB_MANAGER_PACKAGE_TYPE_CORE);
-       TryReturn(ret == PRIVILEGE_DB_MANAGER_ERR_NONE, , ret, "[PRIVILEGE_DB_MANAGER] DB INITIALIZE FAIL");
-
-       char *sql = sqlite3_mprintf("select * from preloaded where name=%Q", pkgid);
-       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);
-       TryReturn(ret == SQLITE_OK, __finalize_db(db, stmt, sql), PRIVILEGE_DB_MANAGER_ERR_INVALID_QUERY, "[DB_FAIL] fail to prepare database : %s", sqlite3_errmsg(db));
-
-       ret = sqlite3_step(stmt);
-       __finalize_db(db, stmt, sql);
-       if (ret == SQLITE_ROW) {
-               _LOGD("%s is preloaded", pkgid);
-               return 1;
-       } else {
-               _LOGD("ret = %s", sqlite3_errmsg(db));
-               return 0;
-       }
-}
-
 int privilege_db_manager_is_privacy_white_list(const char* pkgid, const char* privilege)
 {
        if (DISABLE_ASKUSER)
@@ -576,7 +568,7 @@ int privilege_db_manager_is_privacy_white_list(const char* pkgid, const char* pr
 
        sqlite3 *db = NULL;
        sqlite3_stmt *stmt = NULL;
-       int ret = __initialize_db(PRIVILEGE_DB_TYPE_INFO, &db, PRIVILEGE_DB_MANAGER_PACKAGE_TYPE_CORE);
+       int ret = __initialize_db(PRIVILEGE_DB_TYPE_INFO, &db, PRVMGR_PACKAGE_TYPE_CORE);
        TryReturn(ret == PRIVILEGE_DB_MANAGER_ERR_NONE, , ret, "[PRIVILEGE_DB_MANAGER] DB INITIALIZE FAIL");
 
        int privacy_id = 0;
@@ -608,39 +600,7 @@ int privilege_db_manager_is_privacy_white_list(const char* pkgid, const char* pr
        return res;
 }
 
-int privilege_db_manager_is_privacy_white_list_application(const char* pkgid)
-{
-       if (DISABLE_ASKUSER)
-               return 1;
-
-       if (access(ASKUSER_RUNTIME_DISABLE_PATH, F_OK) == 0) {
-               _LOGD("aksuser is disabled in rum-time.");
-               return 1;
-       }
-
-       sqlite3 *db = NULL;
-       sqlite3_stmt *stmt = NULL;
-       int ret = __initialize_db(PRIVILEGE_DB_TYPE_INFO, &db, PRIVILEGE_DB_MANAGER_PACKAGE_TYPE_CORE);
-       TryReturn(ret == PRIVILEGE_DB_MANAGER_ERR_NONE, , ret, "[PRIVILEGE_DB_MANAGER] DB INITIALIZE FAIL");
-
-       char *sql = sqlite3_mprintf("select distinct pkg_id from privacy_whitelist where pkg_id=%Q", pkgid);
-       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);
-       TryReturn(ret == SQLITE_OK, __finalize_db(db, stmt, sql), PRIVILEGE_DB_MANAGER_ERR_INVALID_QUERY, "[DB_FAIL] fail to prepare database : %s", sqlite3_errmsg(db));
-
-       ret = sqlite3_step(stmt);
-       TryReturn(ret == SQLITE_DONE || ret == SQLITE_ROW, __finalize_db(db, stmt, sql), PRIVILEGE_DB_MANAGER_ERR_INVALID_QUERY, "[DB_FAIL] sqlite3_step failed : %s", sqlite3_errmsg(db));
-
-       __finalize_db(db, stmt, sql);
-
-       if (ret == SQLITE_ROW)
-               return 1;
-
-       return 0;
-}
-
-int privilege_db_manager_is_user_settable(const char* pkgid, const char* privacy)
+int privilege_db_manager_is_user_settable(const char* pkgid, const char* privacy_name)
 {
        if (DISABLE_ASKUSER)
                return 1;
@@ -648,11 +608,11 @@ int privilege_db_manager_is_user_settable(const char* pkgid, const char* privacy
        sqlite3 *db = NULL;
        sqlite3_stmt *stmt = NULL;
        int res = 1;
-       int ret = __initialize_db(PRIVILEGE_DB_TYPE_INFO, &db, PRIVILEGE_DB_MANAGER_PACKAGE_TYPE_CORE);
+       int ret = __initialize_db(PRIVILEGE_DB_TYPE_INFO, &db, PRVMGR_PACKAGE_TYPE_CORE);
        TryReturn(ret == PRIVILEGE_DB_MANAGER_ERR_NONE, , ret, "[PRIVILEGE_DB_MANAGER] DB INITIALIZE FAIL");
 
        int privacy_id = 0;
-       ret = privilege_db_manager_get_privacy_id(privacy, &privacy_id);
+       ret = privilege_db_manager_get_privacy_id(privacy_name, &privacy_id);
        TryReturn(ret == PRIVILEGE_DB_MANAGER_ERR_NONE, , ret, "[PRIVILEGE_DB_MANAGER] privilege_db_manager_get_privacy_id failed");
 
        char *sql = sqlite3_mprintf("select privacy_option, settable from privacy_whitelist where pkg_id=%Q", pkgid);
@@ -691,7 +651,7 @@ int privilege_db_manager_is_disabled_privilege(uid_t uid, const char* privilege)
 {
        sqlite3 *db = NULL;
        sqlite3_stmt *stmt = NULL;
-       int ret = __initialize_db(PRIVILEGE_DB_TYPE_POLICY_RO, &db, PRIVILEGE_DB_MANAGER_PACKAGE_TYPE_CORE);
+       int ret = __initialize_db(PRIVILEGE_DB_TYPE_POLICY_RO, &db, PRVMGR_PACKAGE_TYPE_CORE);
        TryReturn(ret == PRIVILEGE_DB_MANAGER_ERR_NONE, , ret, "[PRIVILEGE_DB_MANAGER] DB INITIALIZE FAIL. ret = %d", ret);
 
        char *sql = sqlite3_mprintf("select * from disable_list where privilege_name=%Q and (uid=%d or uid=%d)", privilege, uid, GLOBAL_USER);
@@ -712,11 +672,11 @@ int privilege_db_manager_is_disabled_privilege(uid_t uid, const char* privilege)
        return ret;
 }
 
-int __privilege_db_manager_get_privacy_list(GList **privacy_list)
+int privilege_db_manager_get_privacy_list(GList **privacy_list)
 {
        sqlite3 *db = NULL;
        sqlite3_stmt *stmt = NULL;
-       int ret = __initialize_db(PRIVILEGE_DB_TYPE_INFO, &db, PRIVILEGE_DB_MANAGER_PACKAGE_TYPE_CORE);
+       int ret = __initialize_db(PRIVILEGE_DB_TYPE_INFO, &db, PRVMGR_PACKAGE_TYPE_CORE);
        if (ret != PRIVILEGE_DB_MANAGER_ERR_NONE)
                return ret;
 
@@ -746,11 +706,11 @@ int __privilege_db_manager_get_privacy_list(GList **privacy_list)
 
 }
 
-int __privilege_db_manager_get_privilege_list_by_privacy(const char* privacy, GList **privilege_list)
+int privilege_db_manager_get_privilege_list_by_privacy(const char* privacy, GList **privilege_list)
 {
        sqlite3 *db = NULL;
        sqlite3_stmt *stmt = NULL;
-       int ret = __initialize_db(PRIVILEGE_DB_TYPE_INFO, &db, PRIVILEGE_DB_MANAGER_PACKAGE_TYPE_CORE);
+       int ret = __initialize_db(PRIVILEGE_DB_TYPE_INFO, &db, PRVMGR_PACKAGE_TYPE_CORE);
        if (ret != PRIVILEGE_DB_MANAGER_ERR_NONE)
                return ret;
 
@@ -784,7 +744,7 @@ int privilege_db_manager_get_privacy_by_privilege(const char* privilege, char**
 {
        sqlite3 *db = NULL;
        sqlite3_stmt *stmt = NULL;
-       int ret = __initialize_db(PRIVILEGE_DB_TYPE_INFO, &db, PRIVILEGE_DB_MANAGER_PACKAGE_TYPE_CORE);
+       int ret = __initialize_db(PRIVILEGE_DB_TYPE_INFO, &db, PRVMGR_PACKAGE_TYPE_CORE);
        if (ret != PRIVILEGE_DB_MANAGER_ERR_NONE)
                return ret;
 
@@ -801,7 +761,7 @@ int privilege_db_manager_get_privacy_by_privilege(const char* privilege, char**
                *privacy_name = strdup((char*)sqlite3_column_text(stmt, 0));
                ret = PRIVILEGE_DB_MANAGER_ERR_NONE;
        } else {
-               ret = PRIVILEGE_DB_NO_EXIST_RESULT;
+               ret = PRIVILEGE_DB_MANAGER_ERR_NO_EXIST_RESULT;
        }
 
        __finalize_db(db, stmt, sql);
@@ -813,7 +773,7 @@ int privilege_db_manager_get_privacy_id_by_privilege(const char* privilege, int
 {
        sqlite3 *db = NULL;
        sqlite3_stmt *stmt = NULL;
-       int ret = __initialize_db(PRIVILEGE_DB_TYPE_INFO, &db, PRIVILEGE_DB_MANAGER_PACKAGE_TYPE_CORE);
+       int ret = __initialize_db(PRIVILEGE_DB_TYPE_INFO, &db, PRVMGR_PACKAGE_TYPE_CORE);
        if (ret != PRIVILEGE_DB_MANAGER_ERR_NONE)
                return ret;
 
@@ -832,7 +792,7 @@ int privilege_db_manager_get_privacy_id_by_privilege(const char* privilege, int
                *privacy_id = tmp;
                ret = PRIVILEGE_DB_MANAGER_ERR_NONE;
        } else {
-               ret = PRIVILEGE_DB_NO_EXIST_RESULT;
+               ret = PRIVILEGE_DB_MANAGER_ERR_NO_EXIST_RESULT;
        }
 
        __finalize_db(db, stmt, sql);
@@ -844,7 +804,7 @@ int privilege_db_manager_get_privacy_id(const char* privacy, int *privacy_id)
 {
        sqlite3 *db = NULL;
        sqlite3_stmt *stmt = NULL;
-       int ret = __initialize_db(PRIVILEGE_DB_TYPE_INFO, &db, PRIVILEGE_DB_MANAGER_PACKAGE_TYPE_CORE);
+       int ret = __initialize_db(PRIVILEGE_DB_TYPE_INFO, &db, PRVMGR_PACKAGE_TYPE_CORE);
        if (ret != PRIVILEGE_DB_MANAGER_ERR_NONE)
                return ret;
 
@@ -863,7 +823,7 @@ int privilege_db_manager_get_privacy_id(const char* privacy, int *privacy_id)
                *privacy_id = tmp;
                ret = PRIVILEGE_DB_MANAGER_ERR_NONE;
        } else {
-               ret = PRIVILEGE_DB_NO_EXIST_RESULT;
+               ret = PRIVILEGE_DB_MANAGER_ERR_NO_EXIST_RESULT;
        }
 
        __finalize_db(db, stmt, sql);
@@ -872,7 +832,7 @@ int privilege_db_manager_get_privacy_id(const char* privacy, int *privacy_id)
 }
 
 
-int privilege_db_manager_get_black_list(privilege_manager_policy_type_e policy_type, int uid, privilege_db_manager_package_type_e package_type, GList **privilege_list)
+int privilege_db_manager_get_black_list(privilege_manager_policy_type_e policy_type, int uid, privilege_manager_package_type_e package_type, GList **privilege_list)
 {
        sqlite3 *db = NULL;
        sqlite3_stmt *stmt = NULL;
@@ -881,9 +841,9 @@ int privilege_db_manager_get_black_list(privilege_manager_policy_type_e policy_t
                return ret;
        _LOGD("Get privilege_name from %s where uid = %d, package_type = %d", __get_policy_table(policy_type), uid, package_type);
        char* sql = NULL;
-       if (policy_type == PRIVILEGE_MANAGER_POLICY_TYPE_DISABLE)
+       if (policy_type == PRVMGR_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)
+       else if (policy_type == PRVMGR_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);
@@ -912,7 +872,7 @@ int privilege_db_manager_get_black_list(privilege_manager_policy_type_e policy_t
        return PRIVILEGE_DB_MANAGER_ERR_NONE;
 }
 
-int privilege_db_manager_set_black_list(privilege_manager_policy_type_e policy_type, int uid, privilege_db_manager_package_type_e package_type, GList *privilege_list)
+int privilege_db_manager_set_black_list(privilege_manager_policy_type_e policy_type, int uid, privilege_manager_package_type_e package_type, GList *privilege_list)
 {
        sqlite3 *db = NULL;
        sqlite3_stmt *stmt = NULL;
@@ -926,9 +886,9 @@ int privilege_db_manager_set_black_list(privilege_manager_policy_type_e policy_t
                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 = NULL;
-               if (policy_type == PRIVILEGE_MANAGER_POLICY_TYPE_DISABLE)
+               if (policy_type == PRVMGR_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)
+               else if (policy_type == PRVMGR_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);
@@ -953,7 +913,7 @@ int privilege_db_manager_set_black_list(privilege_manager_policy_type_e policy_t
        return PRIVILEGE_DB_MANAGER_ERR_NONE;
 }
 
-int privilege_db_manager_unset_black_list(privilege_manager_policy_type_e policy_type, int uid, privilege_db_manager_package_type_e package_type, GList *privilege_list)
+int privilege_db_manager_unset_black_list(privilege_manager_policy_type_e policy_type, int uid, privilege_manager_package_type_e package_type, GList *privilege_list)
 {
        sqlite3 *db = NULL;
        sqlite3_stmt *stmt = NULL;
@@ -967,9 +927,9 @@ int privilege_db_manager_unset_black_list(privilege_manager_policy_type_e policy
                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 = NULL;
-               if (policy_type == PRIVILEGE_MANAGER_POLICY_TYPE_DISABLE)
+               if (policy_type == PRVMGR_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)
+               else if (policy_type == PRVMGR_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);
index 4ece884..521f0bd 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Copyright(c)2013 Samsung Electronics Co., Ltd All Rights Reserved
+ * Copyright(c) 2013-2017 Samsung Electronics Co., Ltd All Rights Reserved
  *
  * Licensed under the Apache License, Version 2.0(the License);
  * you may not use this file except in compliance with the License.
@@ -51,23 +51,23 @@ int privilege_info_privilege_list_by_pkgid_callback(const char *privilege_name,
 
        int group_id = 6;
        /* core */
-       ret = privilege_db_manager_get_privilege_group_display(PRIVILEGE_DB_MANAGER_PACKAGE_TYPE_CORE, privilege_name, "9.9", &group_id);
+       ret = privilege_db_manager_get_privilege_group_id(PRVMGR_PACKAGE_TYPE_CORE, privilege_name, "9.9", &group_id);
        if (ret == PRIVILEGE_DB_MANAGER_ERR_NONE) {
                LOGD("group_id = %d", group_id);
                groupTable[group_id] = 1;
 
                return PRVMGR_ERR_NONE;
-       } else if (ret != PRIVILEGE_DB_NO_EXIST_RESULT) {
+       } else if (ret != PRIVILEGE_DB_MANAGER_ERR_NO_EXIST_RESULT) {
                return PRVMGR_ERR_INTERNAL_ERROR;
        }
        /* wrt */
-       ret = privilege_db_manager_get_privilege_group_display(PRIVILEGE_DB_MANAGER_PACKAGE_TYPE_WRT, privilege_name, "9.9", &group_id);
+       ret = privilege_db_manager_get_privilege_group_id(PRVMGR_PACKAGE_TYPE_WRT, privilege_name, "9.9", &group_id);
        if (ret == PRIVILEGE_DB_MANAGER_ERR_NONE) {
                LOGD("group_id = %d", group_id);
                groupTable[group_id] = 1;
 
                return PRVMGR_ERR_NONE;
-       } else if (ret != PRIVILEGE_DB_NO_EXIST_RESULT) {
+       } else if (ret != PRIVILEGE_DB_MANAGER_ERR_NO_EXIST_RESULT) {
                return PRVMGR_ERR_INTERNAL_ERROR;
        }
 
@@ -119,7 +119,7 @@ int privilege_info_privilege_list_callback(const char *privilege_name, void *use
        TryReturn(user_data != NULL, , PRVMGR_ERR_INVALID_PARAMETER, "[PRVMGR_ERR_INVALID_PARAMETER] user_data is NULL");
 
        /* core */
-       int ret = privilege_db_manager_get_privilege_group_display(PRIVILEGE_DB_MANAGER_PACKAGE_TYPE_CORE, privilege_name, "9.9", &group_id);
+       int ret = privilege_db_manager_get_privilege_group_id(PRVMGR_PACKAGE_TYPE_CORE, privilege_name, "9.9", &group_id);
        if (ret == PRIVILEGE_DB_MANAGER_ERR_NONE) {
                if (group_id == data.privilege_group) {
                        LOGD("data.privilege_group = %d", data.privilege_group);
@@ -128,11 +128,11 @@ int privilege_info_privilege_list_callback(const char *privilege_name, void *use
 
                        return PRVMGR_ERR_NONE;
                }
-       } else if (ret != PRIVILEGE_DB_NO_EXIST_RESULT) {
+       } else if (ret != PRIVILEGE_DB_MANAGER_ERR_NO_EXIST_RESULT) {
                return PRVMGR_ERR_INTERNAL_ERROR;
        }
        /* wrt */
-       ret = privilege_db_manager_get_privilege_group_display(PRIVILEGE_DB_MANAGER_PACKAGE_TYPE_WRT, privilege_name, "9.9", &group_id);
+       ret = privilege_db_manager_get_privilege_group_id(PRVMGR_PACKAGE_TYPE_WRT, privilege_name, "9.9", &group_id);
        if (ret == PRIVILEGE_DB_MANAGER_ERR_NONE) {
                if (group_id == data.privilege_group) {
                        LOGD("data.privilege_group = %d", data.privilege_group);
@@ -141,7 +141,7 @@ int privilege_info_privilege_list_callback(const char *privilege_name, void *use
 
                        return PRVMGR_ERR_NONE;
                }
-       } else if (ret != PRIVILEGE_DB_NO_EXIST_RESULT) {
+       } else if (ret != PRIVILEGE_DB_MANAGER_ERR_NO_EXIST_RESULT) {
                return PRVMGR_ERR_INTERNAL_ERROR;
        }
 
@@ -270,7 +270,7 @@ int privilege_info_get_name_string_id(const char *privilege, char **name_string_
        char *temp = NULL;
 
        /* Check Native */
-       int ret = privilege_db_manager_get_privilege_display(PRIVILEGE_DB_MANAGER_PACKAGE_TYPE_CORE, privilege, NULL, &temp);
+       int ret = privilege_db_manager_get_privilege_display(PRVMGR_PACKAGE_TYPE_CORE, privilege, NULL, &temp);
 
        LOGD("privilege = %s, string id = %s", privilege, temp);
 
@@ -295,7 +295,7 @@ int privilege_info_get_name_string_id(const char *privilege, char **name_string_
                        }
                        return PRVMGR_ERR_NONE;
                }
-       } else if (ret != PRIVILEGE_DB_NO_EXIST_RESULT) {
+       } else if (ret != PRIVILEGE_DB_MANAGER_ERR_NO_EXIST_RESULT) {
                if (temp != NULL) {
                        free(temp);
                        temp = NULL;
@@ -308,7 +308,7 @@ int privilege_info_get_name_string_id(const char *privilege, char **name_string_
                temp = NULL;
        }
        /* Check WRT */
-       ret = privilege_db_manager_get_privilege_display(PRIVILEGE_DB_MANAGER_PACKAGE_TYPE_WRT, privilege, NULL, &temp);
+       ret = privilege_db_manager_get_privilege_display(PRVMGR_PACKAGE_TYPE_WRT, privilege, NULL, &temp);
 
        if (ret == PRIVILEGE_DB_MANAGER_ERR_NONE) {
                if (temp == NULL) {
@@ -331,7 +331,7 @@ int privilege_info_get_name_string_id(const char *privilege, char **name_string_
                        }
                        return PRVMGR_ERR_NONE;
                }
-       } else if (ret != PRIVILEGE_DB_NO_EXIST_RESULT) {
+       } else if (ret != PRIVILEGE_DB_MANAGER_ERR_NO_EXIST_RESULT) {
                if (temp != NULL) {
                        free(temp);
                        temp = NULL;
@@ -396,7 +396,7 @@ int privilege_info_get_description_string_id(const char *privilege, char **descr
        char *temp = NULL;
 
        /* Check Native */
-       int ret = privilege_db_manager_get_privilege_description(PRIVILEGE_DB_MANAGER_PACKAGE_TYPE_CORE, privilege, NULL, &temp);
+       int ret = privilege_db_manager_get_privilege_description(PRVMGR_PACKAGE_TYPE_CORE, privilege, NULL, &temp);
 
        if (ret == PRIVILEGE_DB_MANAGER_ERR_NONE) {
                if (temp == NULL) {
@@ -419,7 +419,7 @@ int privilege_info_get_description_string_id(const char *privilege, char **descr
                        }
                        return PRVMGR_ERR_NONE;
                }
-       } else if (ret != PRIVILEGE_DB_NO_EXIST_RESULT) {
+       } else if (ret != PRIVILEGE_DB_MANAGER_ERR_NO_EXIST_RESULT) {
                if (temp != NULL) {
                        free(temp);
                        temp = NULL;
@@ -432,7 +432,7 @@ int privilege_info_get_description_string_id(const char *privilege, char **descr
                temp = NULL;
        }
        /* Check WRT */
-       ret = privilege_db_manager_get_privilege_description(PRIVILEGE_DB_MANAGER_PACKAGE_TYPE_WRT, privilege, NULL, &temp);
+       ret = privilege_db_manager_get_privilege_description(PRVMGR_PACKAGE_TYPE_WRT, privilege, NULL, &temp);
 
        if (ret == PRIVILEGE_DB_MANAGER_ERR_NONE) {
                if (temp == NULL) {
@@ -455,7 +455,7 @@ int privilege_info_get_description_string_id(const char *privilege, char **descr
                        }
                        return PRVMGR_ERR_NONE;
                }
-       } else if (ret != PRIVILEGE_DB_NO_EXIST_RESULT) {
+       } else if (ret != PRIVILEGE_DB_MANAGER_ERR_NO_EXIST_RESULT) {
                if (temp != NULL) {
                        free(temp);
                        temp = NULL;
@@ -523,22 +523,6 @@ int privilege_info_is_privacy(const char* privilege)
        return ret;
 }
 
-int privilege_info_is_privacy_white_list_application(const char* pkgid)
-{
-       if (DISABLE_ASKUSER)
-               return 1;
-
-       if (access(ASKUSER_RUNTIME_DISABLE_PATH, F_OK) == 0) {
-               LOGD("askuser is disabled in run-time.");
-               return 1;
-       }
-       TryReturn(pkgid != NULL, , PRVMGR_ERR_INVALID_PARAMETER, "[PRVMGR_ERR_INVALID_PARAMETER pkgid is NULL");
-       int ret = privilege_db_manager_is_privacy_white_list_application(pkgid);
-       if (ret == 1 || ret == 0)
-               return ret;
-       return -1;
-}
-
 int privilege_info_get_privilege_type(uid_t uid, const char* pkgid, const char* privilege, privilege_manager_privilege_type_e *type)
 {
        TryReturn(pkgid != NULL && privilege != NULL, , PRVMGR_ERR_INVALID_PARAMETER, "[PRVMGR_ERR_INVALID_PARAMETER] pkgid or privilege is NULL");
@@ -585,7 +569,7 @@ int privilege_info_is_user_settable(const char* pkgid, const char* privacy)
        else if (ret == 0)
                return 0;
 
-       if (ret == PRIVILEGE_DB_NO_EXIST_RESULT)
+       if (ret == PRIVILEGE_DB_MANAGER_ERR_NO_EXIST_RESULT)
                LOGE("%s is invalid privacy name", privacy);
        else
                LOGE("ret = %d", ret);
@@ -617,7 +601,7 @@ int privilege_info_is_internal(const char* privilege)
 
 int privilege_info_get_privacy_list(GList **privacy_list)
 {
-       int ret = __privilege_db_manager_get_privacy_list(privacy_list);
+       int ret = privilege_db_manager_get_privacy_list(privacy_list);
        if (ret == PRIVILEGE_DB_MANAGER_ERR_NONE)
                ret = PRVMGR_ERR_NONE;
        else
@@ -637,7 +621,7 @@ int privilege_info_get_privacy_display(const char* privacy, char** privacy_displ
                free(privacy_display_string);
                TryReturn(ret == PRVMGR_ERR_NONE, , ret, "privilege_info_get_privilege_string_by_string_id() failed. ret = %d", ret);
                TryReturn(*privacy_display != NULL, , PRVMGR_ERR_INTERNAL_ERROR, "[PRVMGR_ERR_INTERNAL_ERROR] return value is PRVMGR_ERR_NONE but privacy_display is NULL.");
-       } else if (ret == PRIVILEGE_DB_NO_EXIST_RESULT) {
+       } else if (ret == PRIVILEGE_DB_MANAGER_ERR_NO_EXIST_RESULT) {
                ret = PRVMGR_ERR_INVALID_PARAMETER;
        } else {
                ret = PRVMGR_ERR_INTERNAL_ERROR;
@@ -648,7 +632,7 @@ int privilege_info_get_privacy_display(const char* privacy, char** privacy_displ
 int privilege_info_get_privilege_list_by_privacy(const char* privacy, GList **privilege_list)
 {
        TryReturn(privacy != NULL, , PRVMGR_ERR_INVALID_PARAMETER, "[PRVMGR_ERR_INVALID_PARAMETER] privacy is NULL");
-       int ret = __privilege_db_manager_get_privilege_list_by_privacy(privacy, privilege_list);
+       int ret = privilege_db_manager_get_privilege_list_by_privacy(privacy, privilege_list);
        if (ret == PRIVILEGE_DB_MANAGER_ERR_NONE)
                ret = PRVMGR_ERR_NONE;
        else
@@ -672,7 +656,7 @@ int privilege_info_get_black_list(int uid, privilege_manager_package_type_e pack
 {
        TryReturn(package_type == PRVMGR_PACKAGE_TYPE_WRT || package_type == PRVMGR_PACKAGE_TYPE_CORE, , PRVMGR_ERR_INVALID_PARAMETER, "[PRVMGR_ERR_INVALID_PARAMETER] package_type invalid!");
 
-       int ret = privilege_db_manager_get_black_list(PRIVILEGE_MANAGER_POLICY_TYPE_PREVENT, uid, package_type, privilege_list);
+       int ret = privilege_db_manager_get_black_list(PRVMGR_POLICY_TYPE_PREVENT, uid, package_type, privilege_list);
        if (ret == PRIVILEGE_DB_MANAGER_ERR_NONE)
                ret = PRVMGR_ERR_NONE;
        else
@@ -682,7 +666,7 @@ int privilege_info_get_black_list(int uid, privilege_manager_package_type_e pack
 
 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);
+       int ret = privilege_db_manager_get_black_list(PRVMGR_POLICY_TYPE_DISABLE, uid, PRVMGR_PACKAGE_TYPE_NONE, privilege_list);
        if (ret == PRIVILEGE_DB_MANAGER_ERR_NONE)
                ret = PRVMGR_ERR_NONE;
        else
index 4c84b4a..316df97 100755 (executable)
@@ -1,11 +1,31 @@
+/*
+ * Copyright(c) 2013-2017 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0(the License);
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an AS IS BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+
 #include <stdlib.h>
 #include <stdio.h>
 #include <unistd.h>
 #include <sys/types.h>
 #include <ctype.h>
 #include <string.h>
+#include <stdarg.h>
+#include <glib/gprintf.h>
 #include "privilege_db_manager.h"
 #include "privilege_manager.h"
+#include "privilege_manager_types.h"
 
 #ifdef __TIZEN__
 #include <dlog.h>
@@ -24,8 +44,6 @@
 #define _LOGI(fmt, arg...)
 #endif
 
-#define MESSAGE_SIZE   512
-
 #define TryReturn(condition, expr, returnValue, ...)\
        if (!(condition)) { \
                _LOGE(__VA_ARGS__); \
@@ -75,45 +93,44 @@ static int __get_api_version_code(const char *api_version, api_version_code_t *a
        return PRVMGR_ERR_NONE;
 }
 
-static void __free_privilege_list(GList * privilege_list)
+static void __free_privilege_info(privilege_info_db_row_s *privilege_info)
 {
-       GList *l = NULL;
-       for (l = privilege_list; l != NULL; l = l->next) {
-               privilege_info_db_row_s *privilege_info_db_row = (privilege_info_db_row_s *) l->data;
-               if (privilege_info_db_row->profile != NULL)
-                       free(privilege_info_db_row->profile);
-               if (privilege_info_db_row->package_type != NULL)
-                       free(privilege_info_db_row->package_type);
-               if (privilege_info_db_row->privilege_name != NULL)
-                       free(privilege_info_db_row->privilege_name);
-               if (privilege_info_db_row->privilege_display != NULL)
-                       free(privilege_info_db_row->privilege_display);
-               if (privilege_info_db_row->privilege_description != NULL)
-                       free(privilege_info_db_row->privilege_description);
-               if (privilege_info_db_row->privilege_level != NULL)
-                       free(privilege_info_db_row->privilege_level);
-               if (privilege_info_db_row->issued_version != NULL)
-                       free(privilege_info_db_row->issued_version);
-               if (privilege_info_db_row->expired_version != NULL)
-                       free(privilege_info_db_row->expired_version);
-               if (privilege_info_db_row->changed_to != NULL)
-                       free(privilege_info_db_row->changed_to);
-       }
+       if (privilege_info->profile != NULL)
+               free(privilege_info->profile);
+       if (privilege_info->package_type != NULL)
+               free(privilege_info->package_type);
+       if (privilege_info->privilege_name != NULL)
+               free(privilege_info->privilege_name);
+       if (privilege_info->privilege_display != NULL)
+               free(privilege_info->privilege_display);
+       if (privilege_info->privilege_description != NULL)
+               free(privilege_info->privilege_description);
+       if (privilege_info->privilege_level != NULL)
+               free(privilege_info->privilege_level);
+       if (privilege_info->issued_version != NULL)
+               free(privilege_info->issued_version);
+       if (privilege_info->expired_version != NULL)
+               free(privilege_info->expired_version);
+       if (privilege_info->changed_to != NULL)
+               free(privilege_info->changed_to);
 }
 
-static int __privilege_manager_check_privilege_list(const char *api_version, const char *privilege, GList * valid_privilege_list, int *privilege_level, char **changed_to, char **valid_api_version)
+static void __free_privilege_list(gpointer privilege_list)
+{
+       __free_privilege_info((privilege_info_db_row_s*)privilege_list);
+}
+
+static int __privilege_manager_check_privilege_list(const char *api_version, const char *privilege, GList *valid_privilege_list, int *privilege_level, char **changed_to, char **valid_api_version)
 {
-       TryReturn(privilege != NULL, , PRVMGR_ERR_INVALID_PARAMETER, "[PRVMGR_ERR_INVALID_PARAMETER] privilege is NULL");
        int ret_val = PRVMGR_ERR_NO_EXIST_PRIVILEGE;
        api_version_code_t api_version_code = 0;
        int ret = __get_api_version_code(api_version, &api_version_code);
-       TryReturn(ret == PRVMGR_ERR_NONE && api_version_code != 0, , PRVMGR_ERR_INTERNAL_ERROR, "[PRVMGR_ERR_INTERNAL_ERROR] __get_api_version_code() for api_version failed. api_version = %s", api_version);
+       TryReturn(ret == PRVMGR_ERR_NONE && api_version_code != 0, , PRVMGR_ERR_INTERNAL_ERROR, "[PRVMGR_ERR_INTERNAL_ERROR] __get_api_version_code() for api_version = %s failed.", api_version);
        GList *l = NULL;
        for (l = valid_privilege_list; l != NULL; l = l->next) {
                privilege_info_db_row_s *privilege_info_db_row = (privilege_info_db_row_s *)l->data;
                if (strcmp(privilege_info_db_row->privilege_name, privilege) == 0) {
                        _LOGD("Matched privilege name exist");
-                       _LOGD("Check api version");
 
                        api_version_code_t issued_version_code = 0;
                        api_version_code_t expired_version_code = 0;
@@ -125,8 +142,7 @@ static int __privilege_manager_check_privilege_list(const char *api_version, con
                        TryReturn(ret == PRVMGR_ERR_NONE && issued_version_code != 0, , PRVMGR_ERR_INTERNAL_ERROR, "[PRVMGR_ERR_INTERNAL_ERROR] __get_api_version_code() for issued_version of privilege (%s) failed. issued_version = %s", privilege, privilege_info_db_row->issued_version);
 
                        if (api_version_code < issued_version_code) {
-                               _LOGD("%s is invalid in tizen version: %s", privilege_info_db_row->privilege_name, api_version);
-                               _LOGD("privilege issued version is higher than api version");
+                               _LOGD("privilege = <%s>, issued version = <%s>, current api-version = <%s>. issude_version > api version.", privilege, privilege_info_db_row->issued_version, api_version);
                                if (*valid_api_version != NULL) {
                                        free(*valid_api_version);
                                        *valid_api_version = NULL;
@@ -135,10 +151,12 @@ static int __privilege_manager_check_privilege_list(const char *api_version, con
                                TryReturn(valid_api_version != NULL, ret_val = PRVMGR_ERR_OUT_OF_MEMORY; goto FINISH, PRVMGR_ERR_OUT_OF_MEMORY, "[PRVMGR_ERR_OUT_OF_MEMORY] valid_api_version's strdup is failed.");
 
                                ret_val = PRVMGR_ERR_NO_EXIST_PRIVILEGE;
-                       }
-                       if (api_version_code >= expired_version_code) {
-                               _LOGD("%s is invalid in tizen version: %s", privilege_info_db_row->privilege_name, api_version);
-                               _LOGD("privilege deprecated version is equal to or lower than api version");
+                       } else if (api_version_code >= expired_version_code) {
+                               _LOGD("privilege = <%s>, expired version = <%s>, current api-version = <%s>. deprecated version <= api version.", privilege, privilege_info_db_row->expired_version, api_version);
+                               if (*valid_api_version != NULL) {
+                                       free(*valid_api_version);
+                                       *valid_api_version = NULL;
+                               }
                                *valid_api_version = strdup(privilege_info_db_row->expired_version);
                                TryReturn(valid_api_version != NULL, ret_val = PRVMGR_ERR_OUT_OF_MEMORY; goto FINISH, PRVMGR_ERR_OUT_OF_MEMORY, "[PRVMGR_ERR_OUT_OF_MEMORY] valid_api_version's strdup is failed.");
                                if (privilege_info_db_row->changed_to != NULL && strcmp(privilege_info_db_row->changed_to, "") != 0) {
@@ -151,8 +169,7 @@ static int __privilege_manager_check_privilege_list(const char *api_version, con
                                        TryReturn(changed_to != NULL, ret_val = PRVMGR_ERR_OUT_OF_MEMORY; goto FINISH, PRVMGR_ERR_OUT_OF_MEMORY, "[PRVMGR_ERR_OUT_OF_MEMORY] changed_to's strdup is failed.");
                                }
                                ret_val = PRVMGR_ERR_DEPRECATED_PRIVILEGE;
-                       }
-                       if (api_version_code >= issued_version_code && api_version_code < expired_version_code) {
+                       } else {
                                *privilege_level = privilege_info_db_row->privilege_level_id;
                                ret_val = PRVMGR_ERR_NONE;
                                goto FINISH;
@@ -164,16 +181,88 @@ FINISH:
        return ret_val;
 }
 
-const char *__get_privilege_level_string(privilege_db_manager_privilege_level_e privilege_db_manager_privilege_level)
+static const char *__get_privilege_level_string(privilege_manager_visibility_e visibility)
 {
-       if (privilege_db_manager_privilege_level == PRIVILEGE_DB_MANAGER_PRIVILEGE_LEVEL_PUBLIC)
+       switch (visibility) {
+       case PRVMGR_PACKAGE_VISIBILITY_PUBLIC:
                return "public";
-       else if (privilege_db_manager_privilege_level == PRIVILEGE_DB_MANAGER_PRIVILEGE_LEVEL_PARTNER)
+       case PRVMGR_PACKAGE_VISIBILITY_PARTNER:
                return "partner";
-       else if (privilege_db_manager_privilege_level == PRIVILEGE_DB_MANAGER_PRIVILEGE_LEVEL_PLATFORM)
+       case PRVMGR_PACKAGE_VISIBILITY_PLATFORM:
                return "platform";
-       else
-               return "not defined privilege";
+       default:
+               return NULL;
+       }
+}
+
+const char *__get_package_type_string(privilege_manager_package_type_e type)
+{
+       switch (type) {
+       case PRVMGR_PACKAGE_TYPE_WRT:
+               return "Web";
+       case PRVMGR_PACKAGE_TYPE_CORE:
+               return "Native";
+       case PRVMGR_PACKAGE_TYPE_METADATA:
+               return "Metadata";
+       default:
+               return NULL;
+       }
+}
+
+static const char *__get_format(privilege_verification_error_type_e type)
+{
+       return prvmgr_msg_table[type].msg;
+}
+
+static char *__make_message_from_type(privilege_verification_error_type_e type, ...)
+{
+       char *buf = NULL;
+       va_list ap;
+       va_start(ap, type);
+       int ret = g_vasprintf(&buf, __get_format(type), ap);
+       va_end(ap);
+       if (ret == -1) {
+               _LOGE("[PRVMGR_INTERNAL_ERROR] g_vasprintf failed");
+               if (buf != NULL)
+                       free(buf);
+               return NULL;
+       }
+       return buf;
+}
+
+static char *__make_message_from_format(const char *fmt, ...)
+{
+       char *buf = NULL;
+       va_list ap;
+       va_start(ap, fmt);
+       int ret = g_vasprintf(&buf, fmt, ap);
+       va_end(ap);
+       if (ret == -1) {
+               _LOGE("[PRVMGR_INTERNAL_ERROR] g_vasprintf failed");
+               if (buf != NULL)
+                       free(buf);
+               return NULL;
+       }
+       return buf;
+}
+
+static int __is_valid_package_type(privilege_manager_package_type_e package_type)
+{
+       if (package_type != PRVMGR_PACKAGE_TYPE_WRT && package_type != PRVMGR_PACKAGE_TYPE_CORE && package_type != PRVMGR_PACKAGE_TYPE_METADATA)
+               return 0;
+       return 1;
+}
+
+static char *__make_guide_message(privilege_manager_package_type_e package_type, const char *api_version, privilege_manager_visibility_e level)
+{
+       switch (package_type) {
+       case PRVMGR_PACKAGE_TYPE_WRT:
+               return __make_message_from_type(G_WEB, api_version, __get_privilege_level_string(level));
+       case PRVMGR_PACKAGE_TYPE_CORE:
+               return __make_message_from_type(G_NATIVE, api_version, __get_privilege_level_string(level));
+       default:
+               return __make_message_from_type(G_METADATA, api_version, __get_privilege_level_string(level));
+       }
 }
 
 int privilege_manager_verify_privilege(uid_t uid, const char *api_version, privilege_manager_package_type_e package_type, GList * privilege_list, privilege_manager_visibility_e visibility, char **error_message)
@@ -182,118 +271,76 @@ int privilege_manager_verify_privilege(uid_t uid, const char *api_version, privi
        GList *l;
        int ret;
        int ret_val = PRVMGR_ERR_NONE;
+       char *message = NULL;
        char *message_list = NULL;
        char *noexist_message = NULL;
        char *deprecated_message = NULL;
        char *mismatched_message = NULL;
-       char message[MESSAGE_SIZE] = { 0, };
-       char guide_message[MESSAGE_SIZE] = { 0, };
        char *changed_to = NULL;
        char *valid_api_version = NULL;
        GList *valid_privilege_list;
        char *wrt_active_version = "2.3.1";
        int is_valid_wrt_version = 1;
-       char *pkg_type = NULL;
        api_version_code_t api_version_code = 0;
 
        /* Check invalid parameters */
        if (api_version == NULL) {
                _LOGE("[PRVMGR_ERR_INVALID_PARAMETER] api_version is NULL");
-               *error_message = strdup("[PRVMGR_ERR_INVALID_PARAMETER] api_version is NULL");
-               TryReturn(error_message != NULL, , PRVMGR_ERR_OUT_OF_MEMORY, "[PRVMGR_ERR_OUT_OF_MEMORY] error_message's strdup is failed.");
-
                return PRVMGR_ERR_INVALID_PARAMETER;
-       } else {
-               ret = __get_api_version_code(api_version, &api_version_code);
-               if (ret != PRVMGR_ERR_NONE) {
-                       _LOGE("[PRVMGR_ERR_INVALID_PARAMETER] The api_version is invalid. api_version should be consist of digit(0 <= x <= 255) and dot(.) in form of x, x.x, x.x.x, or x.x.x.x");
-                       *error_message = strdup("[PRVMGR_ERR_INVALID_PARAMETER] The api_version is invalid. api_version should be consist of digit(0 <= x <= 255) and dot(.) in form of x, x.x, x.x.x, or x.x.x.x");
-                       TryReturn(error_message != NULL, , PRVMGR_ERR_OUT_OF_MEMORY, "[PRVMGR_ERR_OUT_OF_MEMORY] error_message's strdup is failed");
-                       return ret;
-               }
        }
 
-       if (package_type != PRVMGR_PACKAGE_TYPE_WRT && package_type != PRVMGR_PACKAGE_TYPE_CORE && package_type != PRVMGR_PACKAGE_TYPE_METADATA) {
-               _LOGD("checking package type = %d", package_type);
-               _LOGE("[PRVMGR_ERR_INVALID_PARAMETER] package_type is not a PRVMGR_PACKAGE_TYPE_WRT or PRVMGR_PACKAGE_TYPE_CORE");
-               *error_message = strdup("[PRVMGR_ERR_INVALID_PARAMETER] package_type is a unknown type. package_type must be a PRVMGR_PACKAGE_TYPE_WRT or PRVMGR_PACKAGE_TYPE_CORE");
-               TryReturn(error_message != NULL, , PRVMGR_ERR_OUT_OF_MEMORY, "[PRVMGR_ERR_OUT_OF_MEMORY] error_message's strdup is failed.");
-
+       if (privilege_list == NULL) {
+               _LOGE("[PRVMGR_ERR_INVALID_PARAMETER] privilege_list is NULL");
                return PRVMGR_ERR_INVALID_PARAMETER;
        }
-       if (package_type == PRVMGR_PACKAGE_TYPE_WRT) {
-               api_version_code_t wrt_active_version_code = 0;
-               ret = __get_api_version_code(wrt_active_version, &wrt_active_version_code);
-               TryReturn(ret == PRVMGR_ERR_NONE && wrt_active_version_code != 0, , PRVMGR_ERR_INTERNAL_ERROR, "[PRVMGR_ERR_INTERNAL_ERROR] __get_api_version_code() for wrt_active_version failed.");
-               if (wrt_active_version_code > api_version_code)
-                       is_valid_wrt_version = 0;
-               pkg_type = strdup("WRT");
-               _LOGD("package type = %s, api version %s, is valid wrt version %d", pkg_type, api_version, is_valid_wrt_version);
-               snprintf(guide_message, MESSAGE_SIZE, "Check config.xml| - Current required_version(=api version) = %s, |   ", api_version);
-       } else if (package_type == PRVMGR_PACKAGE_TYPE_CORE) {
-               pkg_type = strdup("Native");
-               TryReturn(pkg_type != NULL, , PRVMGR_ERR_OUT_OF_MEMORY, "[PRVMGR_ERR_OUT_OF_MEMORY] pkg_type's strdup is failed.");
-               snprintf(guide_message, MESSAGE_SIZE, "Check tizen-manifest.xml| - Current api-version = %s, |   ", api_version);
-       } else if (package_type == PRVMGR_PACKAGE_TYPE_METADATA) {
-               pkg_type = strdup("Metadata");
-               TryReturn(pkg_type != NULL, , PRVMGR_ERR_OUT_OF_MEMORY, "[PRVMGR_ERR_OUT_OF_MEMORY] pkg_type's strdup is failed.");
-               is_valid_wrt_version = 0;
-               snprintf(guide_message, MESSAGE_SIZE, "Check tizen-manifest.xml or config.xml| - Current api-version = %s, |   ", api_version);
-       }
-
-       if ((visibility & PRVMGR_PACKAGE_VISIBILITY_PUBLIC) != PRVMGR_PACKAGE_VISIBILITY_PUBLIC && (visibility & PRVMGR_PACKAGE_VISIBILITY_PARTNER) != PRVMGR_PACKAGE_VISIBILITY_PARTNER && (visibility & PRVMGR_PACKAGE_VISIBILITY_PLATFORM) != PRVMGR_PACKAGE_VISIBILITY_PLATFORM) {
 
-               _LOGE("[PRVMGR_ERR_INVALID_PARAMETER] visibility don't include any public, partner, platform");
-               *error_message = strdup("[INVALID_PARAMETER] Signature Level is invalid. Signature Level must be a public, partner or platform");
-               TryReturn(error_message != NULL, free(pkg_type), PRVMGR_ERR_OUT_OF_MEMORY, "[PRVMGR_ERR_OUT_OF_MEMORY] error_message's strdup is failed.");
-               free(pkg_type);
+       if (__get_api_version_code(api_version, &api_version_code) != PRVMGR_ERR_NONE) {
+               _LOGE("[PRVMGR_ERR_INVALID_PARAMETER] The api_version is invalid. api_version should be consist of digit(0 <= x <= 255) and dot(.) in form of x, x.x, x.x.x, or x.x.x.x.");
                return PRVMGR_ERR_INVALID_PARAMETER;
        }
 
-       if ((visibility & PRVMGR_PACKAGE_VISIBILITY_PUBLIC) == PRVMGR_PACKAGE_VISIBILITY_PUBLIC)
-               strncat(guide_message, "certificate signature level = public||", strlen("certificate signature level = public||"));
-       else if ((visibility & PRVMGR_PACKAGE_VISIBILITY_PARTNER) == PRVMGR_PACKAGE_VISIBILITY_PARTNER)
-               strncat(guide_message, "certificate signature level = partner||", strlen("certificate signature level = partner||"));
-       else
-               strncat(guide_message, "certificate signature level = platform||", strlen("certificate signature level = platform||"));
-
-       if (privilege_list == NULL) {
-               _LOGE("[PRVMGR_ERR_INVALID_PARAMETER] privilege_list is NULL");
-               *error_message = strdup("[PRVMGR_ERR_INVALID_PARAMETER] privilege_list is NULL");
-               TryReturn(error_message != NULL, free(pkg_type), PRVMGR_ERR_OUT_OF_MEMORY, "[PRVMGR_ERR_OUT_OF_MEMORY] error_message's strdup is failed.");
-
-               free(pkg_type);
+       if (!__is_valid_package_type(package_type)) {
+               _LOGE("[PRVMGR_ERR_INVALID_PARAMETER] package_type is not a PRVMGR_PACKAGE_TYPE_WRT or PRVMGR_PACKAGE_TYPE_CORE");
                return PRVMGR_ERR_INVALID_PARAMETER;
        }
 
        /* Check black list */
        ret = privilege_db_manager_check_black_list(uid, package_type, privilege_list);
        if (ret == PRIVILEGE_DB_MANAGER_ERR_DB_NOENTRY) {
-               _LOGE("[FAIL TO CALL FUNCTION] black list policy db cannot be found");
+               _LOGE("[PRVMGR_ERR_INTERNAL_ERROR] black list policy db cannot be found");
        } else if (ret > 0) {
-               *error_message = strdup("[PRVMGR_ERR_USING_BANNED_PRIVILEGE] Application manifest contains banned privilege(s) declared by the DPM");
+               *error_message = __make_message_from_type(E_DPM_BANNED_PRIVILEGE);
+               TryReturn(error_message != NULL, , PRVMGR_ERR_OUT_OF_MEMORY, "[PRVMGR_ERROR_OUT_OF_MEMORY] __make_message_from_type failed");
                return PRVMGR_ERR_USING_BANNED_PRIVILEGE;
        } else if (ret < 0) {
-               _LOGE("privilege_db_manager_check_black_list failed. ret = %d", ret);
+               _LOGE("[PRVMGR_ERR_INTERNAL_ERROR] privilege_db_manager_check_black_list failed. ret = %d", ret);
                return PRVMGR_ERR_INTERNAL_ERROR;
        }
 
+       /* See if privilege's api version should be checked */
+       if (package_type == PRVMGR_PACKAGE_TYPE_WRT) {
+               api_version_code_t wrt_active_version_code = 0;
+               ret = __get_api_version_code(wrt_active_version, &wrt_active_version_code);
+               TryReturn(ret == PRVMGR_ERR_NONE && wrt_active_version_code != 0, , PRVMGR_ERR_INTERNAL_ERROR, "[PRVMGR_ERR_INTERNAL_ERROR] __get_api_version_code() for wrt_active_version failed.");
+               if (wrt_active_version_code > api_version_code)
+                       is_valid_wrt_version = 0;
+       } else if (package_type == PRVMGR_PACKAGE_TYPE_METADATA) {
+               is_valid_wrt_version = 0;
+       }
+
        /* Get valid privilege list */
        ret = privilege_db_manager_get_privilege_list(api_version, package_type, &valid_privilege_list);
        if (ret != PRIVILEGE_DB_MANAGER_ERR_NONE) {
                if (ret == PRIVILEGE_DB_MANAGER_ERR_DB_NOENTRY) {
-                       _LOGE("[FAIL TO CALL FUNCTION] privilege db cannot be found");
-                       *error_message = strdup("[PRVMGR_ERR_INTERNAL_ERROR] privilege DB not found");
+                       _LOGE("[PRVMGR_ERR_INTERNAL_ERROR] privilege db cannot be found");
                } else {
-                       _LOGE("[FAIL TO CALL FUNCTION] privilege_db_manager_get_privilege_list()");
-                       *error_message = strdup("[PRVMGR_ERR_INTERNAL_ERROR] failed to get privilege list from DB");
+                       _LOGE("[PRVMGR_ERR_INTERNAL_ERROR] privilege_db_manager_get_privilege_list() failed. ret = %d", ret);
                }
-               free(pkg_type);
                return PRVMGR_ERR_INTERNAL_ERROR;
        }
        /* Compare received privilege with valid privilege list */
        for (l = privilege_list; l != NULL; l = l->next) {
-               int privilege_level_id = PRIVILEGE_DB_MANAGER_PRIVILEGE_LEVEL_PUBLIC;
+               int privilege_level_id = PRVMGR_PACKAGE_VISIBILITY_PUBLIC;
                char *privilege_name = (char *)l->data;
 
                _LOGD("Checking privilege = %s", privilege_name);
@@ -312,116 +359,83 @@ int privilege_manager_verify_privilege(uid_t uid, const char *api_version, privi
                                ret = PRVMGR_ERR_NONE;
                }
 
+               if (message != NULL) {
+                       free(message);
+                       message = NULL;
+               }
+
                if (ret == PRVMGR_ERR_NO_EXIST_PRIVILEGE) {
-                       memset(message, 0, MESSAGE_SIZE);
                        if (valid_api_version != NULL && strcmp(valid_api_version, "") != 0) {
-                               _LOGE("[PRVMGR_ERR_NO_EXIST_PRIVILEGE]%s %s privilege is valid from Tizen version %s and your api version is %s. Use at least api version %s or remove the privilege.", pkg_type, privilege_name, valid_api_version, api_version, valid_api_version);
-                               snprintf(message, MESSAGE_SIZE, " - %s|   >> Use at least api version %s or remove the privilege.|", privilege_name, valid_api_version);
+                               message = __make_message_from_type(E_NOT_EXIST_YET, privilege_name, valid_api_version);
+                               _LOGD("[NO_EXIST_PRIVILEGE] %s %s is valid from api version %s and your current api version %s. Use at least api version %s or remove the privilege.", __get_package_type_string(package_type), privilege_name, valid_api_version, api_version, valid_api_version);
                        } else {
-                               _LOGE("[PRVMGR_ERR_NO_EXIST_PRIVILEGE]%s %s is an invalid privilege. Check spelling or remove the privilege.", pkg_type, privilege_name);
-                               snprintf(message, MESSAGE_SIZE, " - %s|   >> Check spelling or remove the privilege.|", privilege_name);
+                               message = __make_message_from_type(E_NOT_EXIST, privilege_name);
+                               _LOGD("[NO_EXIST_PRIVILEGE] %s %s is not exist. Check spelling or remove the privilege.", __get_package_type_string(package_type), privilege_name);
                        }
 
+                       TryReturn(message != NULL, ret_val = PRVMGR_ERR_INTERNAL_ERROR; goto FINISH, PRVMGR_ERR_INTERNAL_ERROR, "[PRVMGR_ERR_INTERNAL_ERROR] __make_message_from_type failed");
+
                        if (noexist_message == NULL) {
-                               noexist_message = strdup("");
-                               TryReturn(noexist_message != NULL, ret_val = PRVMGR_ERR_OUT_OF_MEMORY; goto FINISH, PRVMGR_ERR_OUT_OF_MEMORY, "[PRVMGR_ERR_OUT_OF_MEMORY] noexist_message's strdup is failed.");
+                               noexist_message = strdup(message);
+                       } else {
+                               char *tmp = __make_message_from_format("%s%s", noexist_message, message);
+                               TryReturn(tmp != NULL, ret_val = PRVMGR_ERR_INTERNAL_ERROR; goto FINISH, PRVMGR_ERR_INTERNAL_ERROR, "[PRVMGR_ERR_OUT_OF_MEMORY] __make_message_from_format failed.");
+                               free(noexist_message);
+                               noexist_message = NULL;
+                               noexist_message = tmp;
                        }
-                       size_t new_size = snprintf(0, 0, "%s%s", noexist_message, message) + 1;
-                       char *tmp_message = realloc(noexist_message, new_size * sizeof(char));
-                       TryReturn(tmp_message != NULL, ret_val = PRVMGR_ERR_OUT_OF_MEMORY; goto FINISH, PRVMGR_ERR_OUT_OF_MEMORY, "[PRVMGR_ERR_OUT_OF_MEMORY] noexist_message's realloc is failed.");
-                       noexist_message = tmp_message;
-
-                       strncat(noexist_message, message, strlen(message));
+                       TryReturn(noexist_message != NULL, ret_val = PRVMGR_ERR_INTERNAL_ERROR; goto FINISH, PRVMGR_ERR_INTERNAL_ERROR, "[PRVMGR_ERR_INTERNAL_ERROR] fail to make noexist_message");
                        ret_val = PRVMGR_ERR_INVALID_PRIVILEGE;
 
                } else if (ret == PRVMGR_ERR_DEPRECATED_PRIVILEGE) {
-
-                       memset(message, 0, MESSAGE_SIZE);
                        if (changed_to != NULL && strcmp(changed_to, "") != 0) {
-                               _LOGE("[PRVMGR_ERR_DEPRECATED_PRIVILEGE]%s %s is a deprecated since Tizen version %s and your api version is %s. Use %s instead or use api version lower than %s.", pkg_type, privilege_name, valid_api_version, api_version, changed_to, valid_api_version);
-                               snprintf(message, MESSAGE_SIZE, " - %s|   >> Use %s instead of it or use api version lower than %s.|", privilege_name, changed_to, valid_api_version);
+                               message = __make_message_from_type(E_DEPRECATED_AND_CHANGED, privilege_name, changed_to, valid_api_version);
+                               _LOGD("[DEPRECATED_PRIVILEGE] %s %s is deprecated since api version %s. Use %s instead of it.", __get_package_type_string(package_type), privilege_name, valid_api_version, changed_to);
                        } else {
-                               _LOGE("[PRVMGR_ERR_DEPRECATED_PRIVILEGE]%s %s is deprecated since Tizen version %s and your api version is %s. Remove the privilege.", pkg_type, privilege_name, valid_api_version, api_version);
-                               snprintf(message, MESSAGE_SIZE, " - %s|   >> Remove the privilege.|", privilege_name);
+                               message = __make_message_from_type(E_DEPRECATED, privilege_name);
+                               _LOGD("[DEPRECATED_PRIVILEGE] %s %s is deprecated since api version %s. Remove the privilege or use api version lower than %s.", __get_package_type_string(package_type), privilege_name, valid_api_version, valid_api_version);
                        }
 
+                       TryReturn(message != NULL, ret_val = PRVMGR_ERR_INTERNAL_ERROR; goto FINISH, PRVMGR_ERR_INTERNAL_ERROR, "[PRVMGR_ERR_INTERNAL_ERROR] __make_message_from_type failed");
+                       _LOGD("[PRVMGR_ERR_DEPRECATED_PRIVILEGE] pkg type: <%s>, %s", __get_package_type_string(package_type), message);
+
                        if (deprecated_message == NULL) {
-                               deprecated_message = strdup("");
-                               TryReturn(deprecated_message != NULL, ret_val = PRVMGR_ERR_OUT_OF_MEMORY; goto FINISH, PRVMGR_ERR_OUT_OF_MEMORY, "[PRVMGR_ERR_OUT_OF_MEMORY] deprecated_message's strdup is failed.");
+                               deprecated_message = strdup(message);
+                       } else {
+                               char *tmp = __make_message_from_format("%s%s", deprecated_message, message);
+                               TryReturn(message != NULL, ret_val = PRVMGR_ERR_INTERNAL_ERROR; goto FINISH, PRVMGR_ERR_INTERNAL_ERROR, "[PRVMGR_ERR_INTERNAL_ERROR] __make_message_from_format failed");
+                               free(deprecated_message);
+                               deprecated_message = NULL;
+                               deprecated_message = tmp;
                        }
-                       size_t new_size = snprintf(0, 0, "%s%s", deprecated_message, message) + 1;
-                       char *tmp_message = realloc(deprecated_message, new_size * sizeof(char));
-                       TryReturn(tmp_message != NULL, ret_val = PRVMGR_ERR_OUT_OF_MEMORY; goto FINISH, PRVMGR_ERR_OUT_OF_MEMORY, "[PRVMGR_ERR_OUT_OF_MEMORY] deprecated_message's realloc is failed.");
-                       deprecated_message = tmp_message;
-
-                       strncat(deprecated_message, message, strlen(message));
+                       TryReturn(deprecated_message != NULL, ret_val = PRVMGR_ERR_INTERNAL_ERROR; goto FINISH, PRVMGR_ERR_INTERNAL_ERROR, "[PRVMGR_ERR_INTERNAL_ERROR] fail to make deprecated_message");
                        ret_val = PRVMGR_ERR_INVALID_PRIVILEGE;
 
                } else if (ret == PRVMGR_ERR_NONE) {
-                       _LOGD("visibility = %d", visibility);
-                       _LOGD("privilege level = %d", privilege_level_id);
-
-                       if ((visibility & PRVMGR_PACKAGE_VISIBILITY_PUBLIC) == PRVMGR_PACKAGE_VISIBILITY_PUBLIC) {
-                               if (privilege_level_id == PRIVILEGE_DB_MANAGER_PRIVILEGE_LEVEL_PARTNER || privilege_level_id == PRIVILEGE_DB_MANAGER_PRIVILEGE_LEVEL_PLATFORM) {
-                                       _LOGE("[PRVMGR_ERR_MISMATCHED_PRIVILEGE_LEVEL] Visibility and Privilege level are mismatched");
-                                       _LOGE("[PRVMGR_ERR_MISMATCHED_PRIVILEGE_LEVEL] Visibility = public, Privilege Level = %s", __get_privilege_level_string(privilege_level_id));
-
-                                       memset(message, 0, MESSAGE_SIZE);
-                                       snprintf(message, MESSAGE_SIZE, " - %s|   >> Use at least %s signatured certificate.|", privilege_name, __get_privilege_level_string(privilege_level_id));
-
-                                       if (mismatched_message == NULL) {
-                                               mismatched_message = strdup("");
-                                               TryReturn(mismatched_message != NULL, ret_val = PRVMGR_ERR_OUT_OF_MEMORY; goto FINISH, PRVMGR_ERR_OUT_OF_MEMORY, "[PRVMGR_ERR_OUT_OF_MEMORY] mismatched_message's strdup is failed.");
-                                       }
-                                       size_t new_size = snprintf(0, 0, "%s%s", mismatched_message, message) + 1;
-                                       char *tmp_message = realloc(mismatched_message, new_size * sizeof(char));
-                                       TryReturn(tmp_message != NULL, ret_val = PRVMGR_ERR_OUT_OF_MEMORY; goto FINISH, PRVMGR_ERR_OUT_OF_MEMORY, "[PRVMGR_ERR_OUT_OF_MEMORY] mismatched_message's realloc is failed.");
-                                       mismatched_message = tmp_message;
-
-                                       strncat(mismatched_message, message, strlen(message));
-                                       ret_val = PRVMGR_ERR_INVALID_PRIVILEGE;
-                               }
-                       } else if ((visibility & PRVMGR_PACKAGE_VISIBILITY_PARTNER) == PRVMGR_PACKAGE_VISIBILITY_PARTNER) {
-                               if (privilege_level_id == PRIVILEGE_DB_MANAGER_PRIVILEGE_LEVEL_PLATFORM) {
-                                       _LOGE("[PRVMGR_ERR_MISMATCHED_PRIVILEGE_LEVEL] Visibility and Privilege level are mismatched");
-                                       _LOGE("[PRVMGR_ERR_MISMATCHED_PRIVILEGE_LEVEL] Visibility = partner, Privilege Level = %s", __get_privilege_level_string(privilege_level_id));
-
-                                       memset(message, 0, MESSAGE_SIZE);
-                                       snprintf(message, MESSAGE_SIZE, " - %s|   >> Use at least %s signatured certificate.|", privilege_name, __get_privilege_level_string(privilege_level_id));
-
-                                       if (mismatched_message == NULL) {
-                                               mismatched_message = strdup("");
-                                               TryReturn(mismatched_message != NULL, ret_val = PRVMGR_ERR_OUT_OF_MEMORY; goto FINISH, PRVMGR_ERR_OUT_OF_MEMORY, "[PRVMGR_ERR_OUT_OF_MEMORY] mismatched_message's strdup is failed.");
-                                       }
-                                       size_t new_size = snprintf(0, 0, "%s%s", mismatched_message, message) + 1;
-                                       char *tmp_message = realloc(mismatched_message, new_size * sizeof(char));
-                                       TryReturn(tmp_message, ret_val = PRVMGR_ERR_OUT_OF_MEMORY; goto FINISH, PRVMGR_ERR_OUT_OF_MEMORY, "[PRVMGR_ERR_OUT_OF_MEMORY] mismatched_message's realloc is failed.");
-                                       mismatched_message = tmp_message;
-
-                                       strncat(mismatched_message, message, strlen(message));
-                                       ret_val = PRVMGR_ERR_INVALID_PRIVILEGE;
+                       if (visibility < (unsigned int)privilege_level_id) {
+                               _LOGD("[MISMATCHED_PRIVILEGE_LEVEL] %s %s requires certificate level: %s and current certificate level: %s. Use at least certificate with signature level %s.", __get_package_type_string(package_type), privilege_name, __get_privilege_level_string(privilege_level_id), __get_privilege_level_string(visibility), __get_privilege_level_string(privilege_level_id));
+                               message = __make_message_from_type(E_CERT_LEVEL_MISMATCHED, privilege_name, __get_privilege_level_string(privilege_level_id));
+                               TryReturn(message != NULL, ret_val = PRVMGR_ERR_INTERNAL_ERROR; goto FINISH, PRVMGR_ERR_INTERNAL_ERROR, "[PRVMGR_ERR_INTERNAL_ERROR] __make_message_from_type failed");
+                               if (mismatched_message == NULL) {
+                                       mismatched_message = strdup(message);
+                               } else {
+                                       char *tmp = __make_message_from_format("%s%s", mismatched_message, message);
+                                       TryReturn(message != NULL, ret_val = PRVMGR_ERR_INTERNAL_ERROR; goto FINISH, PRVMGR_ERR_INTERNAL_ERROR, "[PRVMGR_ERR_INTERNAL_ERROR] __make_message_from_format failed");
+                                       free(mismatched_message);
+                                       mismatched_message = NULL;
+                                       mismatched_message = tmp;
                                }
+                               ret_val = PRVMGR_ERR_INVALID_PRIVILEGE;
                        }
-               } else if (ret == PRVMGR_ERR_INVALID_PARAMETER) {
-                       _LOGE("[PRVMGR_ERR_INVALID_PARAMETER] privilege_name is NULL");
-                       *error_message = strdup("[INVALID_PARAMETER] Invalid parameter was passed.|");
-                       TryReturn(error_message != NULL, ret_val = PRVMGR_ERR_OUT_OF_MEMORY; goto FINISH, PRVMGR_ERR_OUT_OF_MEMORY, "[PRVMGR_ERR_OUT_OF_MEMORY] error_message's strdup is failed.");
-
-                       ret_val = PRVMGR_ERR_INVALID_PARAMETER;
-                       goto FINISH;
                } else if (ret == PRVMGR_ERR_INTERNAL_ERROR) {
                        _LOGE("[PRVMGR_ERR_INVALID_PARAMETER] Unknown Error occured.");
-                       *error_message = strdup("[INTERNAL_ERROR] Unknown Error occured.|");
-                       TryReturn(error_message != NULL, ret_val = PRVMGR_ERR_OUT_OF_MEMORY; goto FINISH, PRVMGR_ERR_OUT_OF_MEMORY, "[PRVMGR_ERR_OUT_OF_MEMORY] error_message's strdup is failed.");
-
                        ret_val = PRVMGR_ERR_INTERNAL_ERROR;
                        goto FINISH;
                }
        }
        char *newline = "|";
-
        if (ret_val != PRVMGR_ERR_NONE) {
-               message_list = strdup(guide_message);
+               message_list = __make_guide_message(package_type, api_version, visibility);
                TryReturn(message_list != NULL, ret_val = PRVMGR_ERR_OUT_OF_MEMORY; goto FINISH, PRVMGR_ERR_OUT_OF_MEMORY, "[PRVMGR_ERR_OUT_OF_MEMORY] message_list's strdup is failed.");
                if (noexist_message != NULL) {
                        size_t new_size = snprintf(0, 0, "%s[NO_EXIST_PRIVILEGE]|%s", message_list, noexist_message) + 1;
@@ -457,15 +471,14 @@ int privilege_manager_verify_privilege(uid_t uid, const char *api_version, privi
        }
 
  FINISH:
+       free(message);
        free(message_list);
        free(deprecated_message);
        free(mismatched_message);
        free(noexist_message);
        free(changed_to);
        free(valid_api_version);
-       free(pkg_type);
-       __free_privilege_list(valid_privilege_list);
-       g_list_free(valid_privilege_list);
+       g_list_free_full(valid_privilege_list, __free_privilege_list);
        return ret_val;
 }
 
@@ -492,7 +505,7 @@ int privilege_manager_set_black_list(int uid, privilege_manager_package_type_e p
 {
        TryReturn(privilege_list != NULL, , PRVMGR_ERR_INVALID_PARAMETER, "[PRVMGR_ERR_INVALID_PARAMETER] privilege_list is NULL.");
        TryReturn(package_type == PRVMGR_PACKAGE_TYPE_WRT || package_type == PRVMGR_PACKAGE_TYPE_CORE, , PRVMGR_ERR_INVALID_PARAMETER, "[PRVMGR_ERR_INVALID_PARAMETER] Invalid package_type = %d.", package_type);
-       int ret = privilege_db_manager_set_black_list(PRIVILEGE_MANAGER_POLICY_TYPE_PREVENT, uid, package_type, privilege_list);
+       int ret = privilege_db_manager_set_black_list(PRVMGR_POLICY_TYPE_PREVENT, uid, package_type, privilege_list);
        if (ret != PRIVILEGE_DB_MANAGER_ERR_NONE)
                ret = PRVMGR_ERR_INTERNAL_ERROR;
        return ret;
@@ -502,7 +515,7 @@ int privilege_manager_unset_black_list(int uid, privilege_manager_package_type_e
 {
        TryReturn(privilege_list != NULL, , PRVMGR_ERR_INVALID_PARAMETER, "[PRVMGR_ERR_INVALID_PARAMETER] privilege_list is NULL.");
        TryReturn(package_type == PRVMGR_PACKAGE_TYPE_WRT || package_type == PRVMGR_PACKAGE_TYPE_CORE, , PRVMGR_ERR_INVALID_PARAMETER, "[PRVMGR_ERR_INVALID_PARAMETER] Invalid package_type = %d.", package_type);
-       int ret = privilege_db_manager_unset_black_list(PRIVILEGE_MANAGER_POLICY_TYPE_PREVENT, uid, package_type, privilege_list);
+       int ret = privilege_db_manager_unset_black_list(PRVMGR_POLICY_TYPE_PREVENT, uid, package_type, privilege_list);
        if (ret != PRIVILEGE_DB_MANAGER_ERR_NONE)
                ret = PRVMGR_ERR_INTERNAL_ERROR;
        return ret;
@@ -512,7 +525,7 @@ 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);
+       int ret = privilege_db_manager_set_black_list(PRVMGR_POLICY_TYPE_DISABLE, uid, PRVMGR_PACKAGE_TYPE_NONE, privilege_list);
        if (ret != PRIVILEGE_DB_MANAGER_ERR_NONE)
                ret = PRVMGR_ERR_INTERNAL_ERROR;
        return ret;
@@ -522,7 +535,7 @@ 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);
+       int ret = privilege_db_manager_unset_black_list(PRVMGR_POLICY_TYPE_DISABLE, uid, PRVMGR_PACKAGE_TYPE_NONE, privilege_list);
        if (ret != PRIVILEGE_DB_MANAGER_ERR_NONE)
                ret = PRVMGR_ERR_INTERNAL_ERROR;
        return ret;
index 8c8a20a..97eaadb 100755 (executable)
@@ -56,8 +56,8 @@ char* __get_result_string(char type, int ret)
        case 'd':
                if (ret == PRIVILEGE_DB_MANAGER_ERR_NONE)
                        return "PRIVILEGE_DB_MANAGER_ERR_NONE";
-               else if (ret == PRIVILEGE_DB_NO_EXIST_RESULT)
-                       return "PRIVILEGE_DB_NO_EXIST_RESULT";
+               else if (ret == PRIVILEGE_DB_MANAGER_ERR_NO_EXIST_RESULT)
+                       return "PRIVILEGE_DB_MANAGER_ERR_NO_EXIST_RESULT";
                else if (ret == PRIVILEGE_DB_MANAGER_ERR_CONNECTION_FAIL)
                        return "PRIVILEGE_DB_MANAGER_ERR_CONNECTION_FAIL";
                else if (ret == PRIVILEGE_DB_MANAGER_ERR_INVALID_QUERY)
index 885a6f6..81aaa40 100755 (executable)
@@ -34,7 +34,7 @@ static void __free_privilege_list(GList * privilege_list)
 void __test_privilege_db_manager_get_privilege_list()
 {
        GList *privilege_list = NULL;
-       int ret = privilege_db_manager_get_privilege_list("2.4", PRIVILEGE_DB_MANAGER_PACKAGE_TYPE_CORE, &privilege_list);
+       int ret = privilege_db_manager_get_privilege_list("2.4", PRVMGR_PACKAGE_TYPE_CORE, &privilege_list);
        if (ret != PRIVILEGE_DB_MANAGER_ERR_NONE) {
                printf("failed to call privilege_db_manager_get_privilege_list()\n");
                printf("error message = %s\n", __get_result_string('d', ret));
@@ -85,7 +85,7 @@ void __test_privilege_db_manager_get_mapped_privilege_list()
        printf("api_version : 2.4\n");
        printf("package type : wrt\n");
        privilege_list = g_list_append(privilege_list, "http://tizen.org/privilege/internal/default/public");
-       ret = privilege_db_manager_get_mapped_privilege_list("2.4", PRIVILEGE_DB_MANAGER_PACKAGE_TYPE_WRT, privilege_list, &mapped_privilege_list);
+       ret = privilege_db_manager_get_mapped_privilege_list("2.4", PRVMGR_PACKAGE_TYPE_WRT, privilege_list, &mapped_privilege_list);
        __print_mapped_privilege_list(ret, mapped_privilege_list);
 
        g_list_free(privilege_list);
@@ -98,7 +98,7 @@ void __test_privilege_db_manager_get_mapped_privilege_list()
        printf("api_version : 2.4\n");
        printf("package type : wrt\n");
        privilege_list = g_list_append(privilege_list, "http://tizen.org/privilege/mediacapture");
-       ret = privilege_db_manager_get_mapped_privilege_list("2.4", PRIVILEGE_DB_MANAGER_PACKAGE_TYPE_WRT, privilege_list, &mapped_privilege_list);
+       ret = privilege_db_manager_get_mapped_privilege_list("2.4", PRVMGR_PACKAGE_TYPE_WRT, privilege_list, &mapped_privilege_list);
        __print_mapped_privilege_list(ret, mapped_privilege_list);
 
        g_list_free(privilege_list);
@@ -113,7 +113,7 @@ void __test_privilege_db_manager_get_mapped_privilege_list()
        printf("package type : wrt\n");
        privilege_list = g_list_append(privilege_list, "http://tizen.org/privilege/internal/default/public");
        privilege_list = g_list_append(privilege_list, "http://tizen.org/privilege/mediacapture");
-       ret = privilege_db_manager_get_mapped_privilege_list("2.4", PRIVILEGE_DB_MANAGER_PACKAGE_TYPE_WRT, privilege_list, &mapped_privilege_list);
+       ret = privilege_db_manager_get_mapped_privilege_list("2.4", PRVMGR_PACKAGE_TYPE_WRT, privilege_list, &mapped_privilege_list);
        __print_mapped_privilege_list(ret, mapped_privilege_list);
 
        g_list_free(privilege_list);
@@ -126,7 +126,7 @@ void __test_privilege_db_manager_get_mapped_privilege_list()
        printf("api_version : 2.2.1\n");
        printf("package type : wrt\n");
        privilege_list = g_list_append(privilege_list, "http://tizen.org/privilege/internal/default/public");
-       ret = privilege_db_manager_get_mapped_privilege_list("2.2.1", PRIVILEGE_DB_MANAGER_PACKAGE_TYPE_WRT, privilege_list, &mapped_privilege_list);
+       ret = privilege_db_manager_get_mapped_privilege_list("2.2.1", PRVMGR_PACKAGE_TYPE_WRT, privilege_list, &mapped_privilege_list);
        __print_mapped_privilege_list(ret, mapped_privilege_list);
 
        g_list_free(privilege_list);
@@ -139,7 +139,7 @@ void __test_privilege_db_manager_get_mapped_privilege_list()
        printf("api_version : 2.2.1\n");
        printf("package type : wrt\n");
        privilege_list = g_list_append(privilege_list, "http://tizen.org/privilege/mediacapture");
-       ret = privilege_db_manager_get_mapped_privilege_list("2.2.1", PRIVILEGE_DB_MANAGER_PACKAGE_TYPE_WRT, privilege_list, &mapped_privilege_list);
+       ret = privilege_db_manager_get_mapped_privilege_list("2.2.1", PRVMGR_PACKAGE_TYPE_WRT, privilege_list, &mapped_privilege_list);
        __print_mapped_privilege_list(ret, mapped_privilege_list);
 
        g_list_free(privilege_list);
@@ -152,7 +152,7 @@ void __test_privilege_db_manager_get_mapped_privilege_list()
        printf("api_version : 2.2.1\n");
        printf("package type : wrt\n");
        privilege_list = g_list_append(privilege_list, "http://tizen.org/privilege/content.read");
-       ret = privilege_db_manager_get_mapped_privilege_list("2.2.1", PRIVILEGE_DB_MANAGER_PACKAGE_TYPE_WRT, privilege_list, &mapped_privilege_list);
+       ret = privilege_db_manager_get_mapped_privilege_list("2.2.1", PRVMGR_PACKAGE_TYPE_WRT, privilege_list, &mapped_privilege_list);
        __print_mapped_privilege_list(ret, mapped_privilege_list);
 
        g_list_free(privilege_list);
@@ -171,7 +171,7 @@ void __test_privilege_db_manager_get_mapped_privilege_list()
        privilege_list = g_list_append(privilege_list, "http://tizen.org/privilege/internal/default/public");
        privilege_list = g_list_append(privilege_list, "http://tizen.org/privilege/mediacapture");
        privilege_list = g_list_append(privilege_list, "http://tizen.org/privilege/content.read");
-       ret = privilege_db_manager_get_mapped_privilege_list("2.2.1", PRIVILEGE_DB_MANAGER_PACKAGE_TYPE_WRT, privilege_list, &mapped_privilege_list);
+       ret = privilege_db_manager_get_mapped_privilege_list("2.2.1", PRVMGR_PACKAGE_TYPE_WRT, privilege_list, &mapped_privilege_list);
        __print_mapped_privilege_list(ret, mapped_privilege_list);
 
        g_list_free(privilege_list);
@@ -217,7 +217,7 @@ void __test_privilege_db_manager_get_privilege_display()
                printf("privilege : http://tizen.org/privilege/location\n");
                printf("privilege_type : core\n");
                printf("expected result : PRIVILEGE_DB_MANAGER_ERR_NONE\n");
-               ret = privilege_db_manager_get_privilege_display(PRIVILEGE_DB_MANAGER_PACKAGE_TYPE_CORE, "http://tizen.org/privilege/location", "2.3", &privilege_display);
+               ret = privilege_db_manager_get_privilege_display(PRVMGR_PACKAGE_TYPE_CORE, "http://tizen.org/privilege/location", "2.3", &privilege_display);
                __check_get_privilege_display_result(PRIVILEGE_DB_MANAGER_ERR_NONE, ret, privilege_display);
                free(privilege_display);
        }
@@ -226,16 +226,16 @@ void __test_privilege_db_manager_get_privilege_display()
        printf("privilege_type : wrt\n");
        printf("expected result : PRIVILEGE_DB_MANAGER_ERR_NONE\n");
        privilege_display = NULL;
-       ret = privilege_db_manager_get_privilege_display(PRIVILEGE_DB_MANAGER_PACKAGE_TYPE_WRT, "http://tizen.org/privilege/internet", "2.3", &privilege_display);
+       ret = privilege_db_manager_get_privilege_display(PRVMGR_PACKAGE_TYPE_WRT, "http://tizen.org/privilege/internet", "2.3", &privilege_display);
        __check_get_privilege_display_result(PRIVILEGE_DB_MANAGER_ERR_NONE, ret, privilege_display);
        free(privilege_display);
 
        __print_line();
        printf("privilege : http://tizen.org/privilege/messasdfsfsdfsdfad\n");
-       printf("expected result : PRIVILEGE_DB_NO_EXIST_RESULT\n");
+       printf("expected result : PRIVILEGE_DB_MANAGER_ERR_NO_EXIST_RESULT\n");
        privilege_display = NULL;
-       ret = privilege_db_manager_get_privilege_display(PRIVILEGE_DB_MANAGER_PACKAGE_TYPE_CORE, "http://tizen.org/privilege/messasdfsfsdfsdfad", "2.3", &privilege_display);
-       __check_get_privilege_display_result(PRIVILEGE_DB_NO_EXIST_RESULT, ret, privilege_display);
+       ret = privilege_db_manager_get_privilege_display(PRVMGR_PACKAGE_TYPE_CORE, "http://tizen.org/privilege/messasdfsfsdfsdfad", "2.3", &privilege_display);
+       __check_get_privilege_display_result(PRIVILEGE_DB_MANAGER_ERR_NO_EXIST_RESULT, ret, privilege_display);
        free(privilege_display);
 
        __print_line();
@@ -244,17 +244,17 @@ void __test_privilege_db_manager_get_privilege_display()
        printf("privilege_type : wrt\n");
        printf("expected result : PRIVILEGE_DB_MANAGER_ERR_NONE\n");
        privilege_display = NULL;
-       ret = privilege_db_manager_get_privilege_display(PRIVILEGE_DB_MANAGER_PACKAGE_TYPE_WRT, "http://tizen.org/privilege/internet", NULL, &privilege_display);
+       ret = privilege_db_manager_get_privilege_display(PRVMGR_PACKAGE_TYPE_WRT, "http://tizen.org/privilege/internet", NULL, &privilege_display);
        __check_get_privilege_display_result(PRIVILEGE_DB_MANAGER_ERR_NONE, ret, privilege_display);
        free(privilege_display);
 
        __print_line();
        printf("api_version is NULL\n");
        printf("privilege : http://tizen.org/privilege/messasdfsfsdfsdfad\n");
-       printf("expected result : PRIVILEGE_DB_NO_EXIST_RESULT\n");
+       printf("expected result : PRIVILEGE_DB_MANAGER_ERR_NO_EXIST_RESULT\n");
        privilege_display = NULL;
-       ret = privilege_db_manager_get_privilege_display(PRIVILEGE_DB_MANAGER_PACKAGE_TYPE_CORE, "http://tizen.org/privilege/messasdfsfsdfsdfad", NULL, &privilege_display);
-       __check_get_privilege_display_result(PRIVILEGE_DB_NO_EXIST_RESULT, ret, privilege_display);
+       ret = privilege_db_manager_get_privilege_display(PRVMGR_PACKAGE_TYPE_CORE, "http://tizen.org/privilege/messasdfsfsdfsdfad", NULL, &privilege_display);
+       __check_get_privilege_display_result(PRIVILEGE_DB_MANAGER_ERR_NO_EXIST_RESULT, ret, privilege_display);
        free(privilege_display);
 
        __print_line();
@@ -294,7 +294,7 @@ void __test_privilege_db_manager_get_privilege_description()
                printf("privilege : http://tizen.org/privilege/location\n");
                printf("privilege_type : core\n");
                printf("expected result : PRIVILEGE_DB_MANAGER_ERR_NONE\n");
-               ret = privilege_db_manager_get_privilege_description(PRIVILEGE_DB_MANAGER_PACKAGE_TYPE_CORE, "http://tizen.org/privilege/location", "2.3", &privilege_description);
+               ret = privilege_db_manager_get_privilege_description(PRVMGR_PACKAGE_TYPE_CORE, "http://tizen.org/privilege/location", "2.3", &privilege_description);
                __check_get_privilege_description_result(PRIVILEGE_DB_MANAGER_ERR_NONE, ret, privilege_description);
 
                if (privilege_description != NULL) {
@@ -306,7 +306,7 @@ void __test_privilege_db_manager_get_privilege_description()
        printf("privilege : http://tizen.org/privilege/internet\n");
        printf("privilege_type : wrt\n");
        printf("expected result : PRIVILEGE_DB_MANAGER_ERR_NONE\n");
-       ret = privilege_db_manager_get_privilege_description(PRIVILEGE_DB_MANAGER_PACKAGE_TYPE_WRT, "http://tizen.org/privilege/internet", "2.3", &privilege_description);
+       ret = privilege_db_manager_get_privilege_description(PRVMGR_PACKAGE_TYPE_WRT, "http://tizen.org/privilege/internet", "2.3", &privilege_description);
        __check_get_privilege_description_result(PRIVILEGE_DB_MANAGER_ERR_NONE, ret, privilege_description);
 
        if (privilege_description != NULL) {
@@ -316,9 +316,9 @@ void __test_privilege_db_manager_get_privilege_description()
 
        __print_line();
        printf("privilege : http://tizen.org/privilege/messasdfsfsdfsdfad\n");
-       printf("expected result : PRIVILEGE_DB_NO_EXIST_RESULT\n");
-       ret = privilege_db_manager_get_privilege_description(PRIVILEGE_DB_MANAGER_PACKAGE_TYPE_CORE, "http://tizen.org/privilege/messasdfsfsdfsdfad", "2.3", &privilege_description);
-       __check_get_privilege_description_result(PRIVILEGE_DB_NO_EXIST_RESULT, ret, privilege_description);
+       printf("expected result : PRIVILEGE_DB_MANAGER_ERR_NO_EXIST_RESULT\n");
+       ret = privilege_db_manager_get_privilege_description(PRVMGR_PACKAGE_TYPE_CORE, "http://tizen.org/privilege/messasdfsfsdfsdfad", "2.3", &privilege_description);
+       __check_get_privilege_description_result(PRIVILEGE_DB_MANAGER_ERR_NO_EXIST_RESULT, ret, privilege_description);
 
        if (privilege_description != NULL) {
                free(privilege_description);
@@ -330,7 +330,7 @@ void __test_privilege_db_manager_get_privilege_description()
        printf("privilege : http://tizen.org/privilege/internet\n");
        printf("privilege_type : wrt\n");
        printf("expected result : PRIVILEGE_DB_MANAGER_ERR_NONE\n");
-       ret = privilege_db_manager_get_privilege_description(PRIVILEGE_DB_MANAGER_PACKAGE_TYPE_WRT, "http://tizen.org/privilege/internet", NULL, &privilege_description);
+       ret = privilege_db_manager_get_privilege_description(PRVMGR_PACKAGE_TYPE_WRT, "http://tizen.org/privilege/internet", NULL, &privilege_description);
        __check_get_privilege_description_result(PRIVILEGE_DB_MANAGER_ERR_NONE, ret, privilege_description);
 
        if (privilege_description != NULL) {
@@ -341,9 +341,9 @@ void __test_privilege_db_manager_get_privilege_description()
        __print_line();
        printf("api_version is NULL\n");
        printf("privilege : http://tizen.org/privilege/messasdfsfsdfsdfad\n");
-       printf("expected result : PRIVILEGE_DB_NO_EXIST_RESULT\n");
-       ret = privilege_db_manager_get_privilege_description(PRIVILEGE_DB_MANAGER_PACKAGE_TYPE_CORE, "http://tizen.org/privilege/messasdfsfsdfsdfad", NULL, &privilege_description);
-       __check_get_privilege_description_result(PRIVILEGE_DB_NO_EXIST_RESULT, ret, privilege_description);
+       printf("expected result : PRIVILEGE_DB_MANAGER_ERR_NO_EXIST_RESULT\n");
+       ret = privilege_db_manager_get_privilege_description(PRVMGR_PACKAGE_TYPE_CORE, "http://tizen.org/privilege/messasdfsfsdfsdfad", NULL, &privilege_description);
+       __check_get_privilege_description_result(PRIVILEGE_DB_MANAGER_ERR_NO_EXIST_RESULT, ret, privilege_description);
        __print_line();
 
        free(privilege_description);
@@ -597,7 +597,7 @@ void __test_privilege_db_manager_is_user_settable()
        printf("is user-settable\n");
        ret = privilege_db_manager_is_user_settable("org.tizen.xxxxxxx", "http://tizen.org/privacy/xxxxx");
        printf("ret = %d\n", ret);
-       if (ret == PRIVILEGE_DB_NO_EXIST_RESULT) {
+       if (ret == PRIVILEGE_DB_MANAGER_ERR_NO_EXIST_RESULT) {
                success_cnt++;
                __color_to_green();
                printf("success\n");
index 5b661cb..621c61b 100755 (executable)
@@ -688,63 +688,6 @@ void __test_privilege_info_is_user_settable()
        __print_line();
 }
 
-void __test_privilege_info_is_privacy_white_list_application()
-{
-       int ret = 0;
-       __print_line();
-       printf("pkgid = org.tizen.test\n");
-       ret = privilege_info_is_privacy_white_list_application("org.tizen.test");
-       printf("expect return value = 0, returned value = %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 = %d\n", ret);
-               __color_to_origin();
-       }
-       __print_line();
-
-       printf("pkgid = ise-default\n");
-       ret = privilege_info_is_privacy_white_list_application("ise-default");
-       printf("expect return value = 1, returned value = %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 = %d\n", ret);
-               __color_to_origin();
-       }
-
-       __print_line();
-
-       printf("pkgid = ise-defaulttt\n");
-       ret = privilege_info_is_privacy_white_list_application("ise-defaulttt");
-       printf("expect return value = 0, returned value = %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 = %d", ret);
-               __color_to_origin();
-       }
-
-}
-
-
 int main()
 {
        __tcinfo(function, "privilege_info_is_privacy");
@@ -783,9 +726,6 @@ int main()
        __tcinfo(function, "privilege_info_is_user_settable");
        __test_privilege_info_is_user_settable();
 
-       __tcinfo(function, "privilege_info_is_privacy_white_list_application");
-       __test_privilege_info_is_privacy_white_list_application();
-
        __color_to_green();
        printf("Test Complete\n");
        printf("success : %d, ", success_cnt);