From 514b364c346240509c025f559bdd1c7a128e2507 Mon Sep 17 00:00:00 2001 From: Yunjin Lee Date: Tue, 1 Dec 2015 19:50:10 +0900 Subject: [PATCH] Add privilege mapping api and DBs Change-Id: I79546dc9ccfc27804b0c8e56a212371b3b2fd9d2 Signed-off-by: Yunjin Lee --- capi/include/privilege_db_manager.h | 1 + capi/include/privilege_manager.h | 18 ++ capi/res/dbspace/core_mapping_db_generator.sh | 53 ++++ capi/res/dbspace/core_privilege_mapping.csv | 173 ++++++++++++ capi/res/dbspace/core_privilege_mapping.db | Bin 0 -> 22528 bytes capi/res/dbspace/tv_core_mapping_db_generator.sh | 57 ++++ capi/res/dbspace/tv_core_privilege_mapping.csv | 97 +++++++ capi/res/dbspace/tv_core_privilege_mapping.db | Bin 0 -> 13312 bytes capi/res/dbspace/tv_wrt_mapping_db_generator.sh | 56 ++++ capi/res/dbspace/tv_wrt_privilege_mapping.csv | 74 +++++ capi/res/dbspace/tv_wrt_privilege_mapping.db | Bin 0 -> 11264 bytes capi/res/dbspace/wrt_mapping_db_generator.sh | 53 ++++ capi/res/dbspace/wrt_privilege_mapping.csv | 161 +++++++++++ capi/res/dbspace/wrt_privilege_mapping.db | Bin 0 -> 20480 bytes capi/src/privilege_db_manager.c | 87 +++++- capi/src/privilege_manager.c | 82 ++++-- packaging/privilege-checker.spec | 13 +- test/CMakeLists.txt | 8 +- test/tc-privilege-db-manager.c | 169 +++++++++++- test/tc-privilege-manager.c | 331 ++++++++++++++++++++++- 20 files changed, 1389 insertions(+), 44 deletions(-) create mode 100755 capi/res/dbspace/core_mapping_db_generator.sh create mode 100644 capi/res/dbspace/core_privilege_mapping.csv create mode 100644 capi/res/dbspace/core_privilege_mapping.db create mode 100755 capi/res/dbspace/tv_core_mapping_db_generator.sh create mode 100644 capi/res/dbspace/tv_core_privilege_mapping.csv create mode 100644 capi/res/dbspace/tv_core_privilege_mapping.db create mode 100755 capi/res/dbspace/tv_wrt_mapping_db_generator.sh create mode 100644 capi/res/dbspace/tv_wrt_privilege_mapping.csv create mode 100644 capi/res/dbspace/tv_wrt_privilege_mapping.db create mode 100755 capi/res/dbspace/wrt_mapping_db_generator.sh create mode 100644 capi/res/dbspace/wrt_privilege_mapping.csv create mode 100644 capi/res/dbspace/wrt_privilege_mapping.db diff --git a/capi/include/privilege_db_manager.h b/capi/include/privilege_db_manager.h index 55099f7..f8f6aa8 100755 --- a/capi/include/privilege_db_manager.h +++ b/capi/include/privilege_db_manager.h @@ -63,6 +63,7 @@ typedef enum 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_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_privilege_display(privilege_db_manager_package_type_e package_type, const char* privilege_name, const char* api_version, char** privilege_display); diff --git a/capi/include/privilege_manager.h b/capi/include/privilege_manager.h index 5c10f8c..86ddd12 100755 --- a/capi/include/privilege_manager.h +++ b/capi/include/privilege_manager.h @@ -61,6 +61,24 @@ typedef enum */ EXPORT_API int privilege_manager_verify_privilege(const char* api_version, privilege_manager_package_type_e package_type, GList* privilege_list, privilege_manager_visibility_e visibility, char **error_message); + +/** + * @brief get mapped privilege list of input privilege list according to the given package type, api version, and profile. + * @remarks @a privilege_list must be released with free() by you. + * @remarks @a mapped_privilege_list must be released with free() by you. + * @param [in] api_version The api version of the application + * @param [in] privilege_manager_package_type_e The privilege_manager_package_type_e + * @param [in] privilege_list The privilege_list + * @param [out] mapped_privilege_list The mapped_privilege_list is assigned when privileges mapped to the given privilege list are exist. Else, mapped_privilege_list is NULL. Mapped privileges are listed according to the given the privilege_list, package_type, api_version, and profile. + * @return 0 on success, otherwise a negative error value. + * @retval #PRVMGR_ERR_NONE Successful + * @retval #PRVMGR_ERR_OUT_OF_MEMORY Out of memory + * @retval #PRVMGR_ERR_INVALID_PARAMETER Invalid parameter + * @retval #PRVMGR_ERR_INTERNAL_ERROR Internal error + */ +EXPORT_API int privilege_manager_get_mapped_privilege_list(const char* api_version, privilege_manager_package_type_e package_type, GList* privilege_list, GList** mapped_privilege_list); + + #ifdef __cplusplus } #endif diff --git a/capi/res/dbspace/core_mapping_db_generator.sh b/capi/res/dbspace/core_mapping_db_generator.sh new file mode 100755 index 0000000..a5fab85 --- /dev/null +++ b/capi/res/dbspace/core_mapping_db_generator.sh @@ -0,0 +1,53 @@ +#!/bin/bash + +DB_NAME="core_privilege_mapping.db" + +rm $DB_NAME 2> /dev/null +echo "Creating $DB_NAME ..." +touch $DB_NAME + +echo "Creating PRIVILEGE_MAPPING table ..." +sqlite3 $DB_NAME "CREATE TABLE PRIVILEGE_MAPPING (PROFILE_ID NUMERIC, PROFILE TEXT, PRIVILEGE_NAME TEXT, FROM_API_VERSION TEXT, TO_API_VERSION TEXT, MAPPED_PRIVILEGE_NAME TEXT);" + +echo "Inserting data ..." +IFS=$'\n' +for i in `cat core_privilege_mapping.csv` +do + temp=`echo $i | awk '/^#/'` + if [ ! "$temp" = "" ] + then + continue + fi + + PROFILE=`echo $i | cut -d "," -f 1` + #echo PROFILE = $PROFILE + + if [ "$PROFILE" = "common" ] + then + PROFILE_ID=0 + + elif [ "$PROFILE" = "mobile" ] + then + PROFILE_ID=1 + + elif [ "$PROFILE" = "wearable" ] + then + PROFILE_ID=2 + + else + echo "Fail to create table : PROFILE must be common, mobile or wearable" + exit + fi + + PRIVILEGE_NAME=`echo $i | cut -d "," -f 2` + FROM_API_VERSION=`echo $i | cut -d "," -f 3` + TO_API_VERSION=`echo $i | cut -d "," -f 4` + MAPPED_PRIVILEGE_NAME=`echo $i | cut -d "," -f 5` + + echo "Inserting $PRIVILEGE_NAME $MAPPED_PRIVILEGE_NAME..." + + sqlite3 $DB_NAME "insert into privilege_mapping values ( $PROFILE_ID, '$PROFILE', '$PRIVILEGE_NAME','$FROM_API_VERSION', '$TO_API_VERSION', '$MAPPED_PRIVILEGE_NAME')" +done + +echo "Check inserted data" +sqlite3 $DB_NAME "select * from privilege_mapping" diff --git a/capi/res/dbspace/core_privilege_mapping.csv b/capi/res/dbspace/core_privilege_mapping.csv new file mode 100644 index 0000000..65a3715 --- /dev/null +++ b/capi/res/dbspace/core_privilege_mapping.csv @@ -0,0 +1,173 @@ +#PROFILE,#PRIVILEGE_NAME,#FROM,#TO,#MAPPED_PRIVILEGE_NAME +mobile,http://tizen.org/privilege/account.read,2.3,9.9,http://tizen.org/privilege/account.read +mobile,http://tizen.org/privilege/account.read,2.3,9.9,http://tizen.org/privilege/internal/buxton/account.read +wearable,http://tizen.org/privilege/account.read,2.4,9.9,http://tizen.org/privilege/account.read +wearable,http://tizen.org/privilege/account.read,2.4,9.9,http://tizen.org/privilege/internal/buxton/account.read +mobile,http://tizen.org/privilege/account.write,2.3,9.9,http://tizen.org/privilege/account.write +mobile,http://tizen.org/privilege/account.write,2.3,9.9,http://tizen.org/privilege/internal/buxton/account.read +wearable,http://tizen.org/privilege/account.write,2.4,9.9,http://tizen.org/privilege/account.write +wearable,http://tizen.org/privilege/account.write,2.4,9.9,http://tizen.org/privilege/internal/buxton/account.read +mobile,http://tizen.org/privilege/alarm.get,2.3,9.9,http://tizen.org/privilege/alarm.get +wearable,http://tizen.org/privilege/alarm.get,2.3.1,9.9,http://tizen.org/privilege/alarm.get +mobile,http://tizen.org/privilege/alarm.set,2.3,9.9,http://tizen.org/privilege/alarm.set +wearable,http://tizen.org/privilege/alarm.set,2.3.1,9.9,http://tizen.org/privilege/alarm.set +mobile,http://tizen.org/privilege/antivirus,2.3,9.9,http://tizen.org/privilege/antivirus +wearable,http://tizen.org/privilege/antivirus,2.3.1,9.9,http://tizen.org/privilege/antivirus +mobile,http://tizen.org/privilege/apphistory.read,2.4,9.9,http://tizen.org/privilege/apphistory.read +mobile,http://tizen.org/privilege/appmanager.kill,2.3,9.9,http://tizen.org/privilege/appmanager.kill +wearable,http://tizen.org/privilege/appmanager.kill,2.3.1,9.9,http://tizen.org/privilege/appmanager.kill +common,http://tizen.org/privilege/appmanager.kill.bgapp,2.4,9.9,http://tizen.org/privilege/appmanager.kill.bgapp +mobile,http://tizen.org/privilege/appmanager.launch,2.3,9.9,http://tizen.org/privilege/appmanager.launch +wearable,http://tizen.org/privilege/appmanager.launch,2.3.1,9.9,http://tizen.org/privilege/appmanager.launch +mobile,http://tizen.org/privilege/bluetooth,2.3,9.9,http://tizen.org/privilege/bluetooth +wearable,http://tizen.org/privilege/bluetooth,2.3.1,9.9,http://tizen.org/privilege/bluetooth +mobile,http://tizen.org/privilege/bluetooth.admin,2.3,9.9,http://tizen.org/privilege/bluetooth.admin +wearable,http://tizen.org/privilege/bluetooth.admin,2.3.1,9.9,http://tizen.org/privilege/bluetooth.admin +mobile,http://tizen.org/privilege/bookmark.admin,2.3,9.9,http://tizen.org/privilege/bookmark.admin +mobile,http://tizen.org/privilege/calendar.read,2.3,9.9,http://tizen.org/privilege/calendar.read +mobile,http://tizen.org/privilege/calendar.write,2.3,9.9,http://tizen.org/privilege/calendar.write +mobile,http://tizen.org/privilege/call,2.3,9.9,http://tizen.org/privilege/call +wearable,http://tizen.org/privilege/call,2.3.1,9.9,http://tizen.org/privilege/call +mobile,http://tizen.org/privilege/callhistory.read,2.3,9.9,http://tizen.org/privilege/callhistory.read +wearable,http://tizen.org/privilege/callhistory.read,2.3.1,9.9,http://tizen.org/privilege/callhistory.read +mobile,http://tizen.org/privilege/callhistory.write,2.3,9.9,http://tizen.org/privilege/callhistory.write +wearable,http://tizen.org/privilege/callhistory.write,2.3.1,9.9,http://tizen.org/privilege/callhistory.write +mobile,http://tizen.org/privilege/camera,2.3,9.9,http://tizen.org/privilege/camera +mobile,http://tizen.org/privilege/camera,2.3,9.9,http://tizen.org/privilege/internal/buxton/camcorder +wearable,http://tizen.org/privilege/camera,2.3.1,9.9,http://tizen.org/privilege/camera +wearable,http://tizen.org/privilege/camera,2.3.1,9.9,http://tizen.org/privilege/internal/buxton/camcorder +mobile,http://tizen.org/privilege/contact.read,2.3,9.9,http://tizen.org/privilege/contact.read +mobile,http://tizen.org/privilege/contact.read,2.3,9.9,http://tizen.org/privilege/internal/buxton/contact.read +wearable,http://tizen.org/privilege/contact.read,2.4,9.9,http://tizen.org/privilege/contact.read +wearable,http://tizen.org/privilege/contact.read,2.4,9.9,http://tizen.org/privilege/internal/buxton/contact.read +mobile,http://tizen.org/privilege/contact.write,2.3,9.9,http://tizen.org/privilege/contact.write +mobile,http://tizen.org/privilege/contact.write,2.3,9.9,http://tizen.org/privilege/internal/buxton/contact.read +wearable,http://tizen.org/privilege/contact.write,2.4,9.9,http://tizen.org/privilege/contact.write +wearable,http://tizen.org/privilege/contact.write,2.4,9.9,http://tizen.org/privilege/internal/buxton/contact.read +mobile,http://tizen.org/privilege/content.write,2.3,9.9,http://tizen.org/privilege/content.write +wearable,http://tizen.org/privilege/content.write,2.3.1,9.9,http://tizen.org/privilege/content.write +mobile,http://tizen.org/privilege/datasharing,2.3,9.9,http://tizen.org/privilege/datasharing +wearable,http://tizen.org/privilege/datasharing,2.3.1,9.9,http://tizen.org/privilege/datasharing +mobile,http://tizen.org/privilege/display,2.3,9.9,http://tizen.org/privilege/display +wearable,http://tizen.org/privilege/display,2.3.1,9.9,http://tizen.org/privilege/display +mobile,http://tizen.org/privilege/download,2.3,9.9,http://tizen.org/privilege/download +wearable,http://tizen.org/privilege/download,2.3.1,9.9,http://tizen.org/privilege/download +mobile,http://tizen.org/privilege/email,2.3,9.9,http://tizen.org/privilege/email +mobile,http://tizen.org/privilege/email.admin,2.3,9.9,http://tizen.org/privilege/email.admin +mobile,http://tizen.org/privilege/externalstorage,2.3,9.9,http://tizen.org/privilege/externalstorage +wearable,http://tizen.org/privilege/externalstorage,2.3.1,9.9,http://tizen.org/privilege/externalstorage +mobile,http://tizen.org/privilege/externalstorage.appdata,2.3,9.9,http://tizen.org/privilege/externalstorage.appdata +wearable,http://tizen.org/privilege/externalstorage.appdata,2.3.1,9.9,http://tizen.org/privilege/externalstorage.appdata +mobile,http://tizen.org/privilege/haptic,2.3,9.9,http://tizen.org/privilege/haptic +wearable,http://tizen.org/privilege/haptic,2.3.1,9.9,http://tizen.org/privilege/haptic +common,http://tizen.org/privilege/healthinfo,2.3.1,9.9,http://tizen.org/privilege/healthinfo +common,http://tizen.org/privilege/ime,2.4,9.9,http://tizen.org/privilege/ime +common,http://tizen.org/privilege/imemanager,2.4,9.9,http://tizen.org/privilege/imemanager +common,http://tizen.org/privilege/inputgenerator,2.4,9.9,http://tizen.org/privilege/inputgenerator +mobile,http://tizen.org/privilege/internet,2.3,9.9,http://tizen.org/privilege/internet +wearable,http://tizen.org/privilege/internet,2.3.1,9.9,http://tizen.org/privilege/internet +common,http://tizen.org/privilege/keygrab,2.4,9.9,http://tizen.org/privilege/keygrab +mobile,http://tizen.org/privilege/keymanager,2.3,9.9,http://tizen.org/privilege/keymanager +wearable,http://tizen.org/privilege/keymanager,2.3.1,9.9,http://tizen.org/privilege/keymanager +mobile,http://tizen.org/privilege/led,2.3,9.9,http://tizen.org/privilege/led +wearable,http://tizen.org/privilege/led,2.3.1,9.9,http://tizen.org/privilege/led +mobile,http://tizen.org/privilege/location,2.3,9.9,http://tizen.org/privilege/location +mobile,http://tizen.org/privilege/location,2.4,9.9,http://tizen.org/privilege/internal/buxton/location +wearable,http://tizen.org/privilege/location,2.3.1,9.9,http://tizen.org/privilege/location +wearable,http://tizen.org/privilege/location,2.4,9.9,http://tizen.org/privilege/internal/buxton/location +mobile,http://tizen.org/privilege/location.enable,2.3,9.9,http://tizen.org/privilege/location.enable +mobile,http://tizen.org/privilege/location.enable,2.4,9.9,http://tizen.org/privilege/internal/buxton/location +wearable,http://tizen.org/privilege/location.enable,2.3.1,9.9,http://tizen.org/privilege/location.enable +wearable,http://tizen.org/privilege/location.enable,2.4,9.9,http://tizen.org/privilege/internal/buxton/location +common,http://tizen.org/privilege/mapservice,2.4,9.9,http://tizen.org/privilege/mapservice +common,http://tizen.org/privilege/mediacontroller.client,2.4,9.9,http://tizen.org/privilege/mediacontroller.client +common,http://tizen.org/privilege/mediacontroller.server,2.4,9.9,http://tizen.org/privilege/mediacontroller.server +mobile,http://tizen.org/privilege/mediahistory.read,2.4,9.9,http://tizen.org/privilege/mediahistory.read +mobile,http://tizen.org/privilege/mediastorage,2.3,9.9,http://tizen.org/privilege/mediastorage +wearable,http://tizen.org/privilege/mediastorage,2.3.1,9.9,http://tizen.org/privilege/mediastorage +mobile,http://tizen.org/privilege/message.read,2.3,9.9,http://tizen.org/privilege/message.read +mobile,http://tizen.org/privilege/message.read,2.3,9.9,http://tizen.org/privilege/internal/buxton/message.read +wearable,http://tizen.org/privilege/message.read,2.3.1,9.9,http://tizen.org/privilege/message.read +wearable,http://tizen.org/privilege/message.read,2.3.1,9.9,http://tizen.org/privilege/internal/buxton/message.read +mobile,http://tizen.org/privilege/message.write,2.3,9.9,http://tizen.org/privilege/message.write +wearable,http://tizen.org/privilege/message.write,2.3.1,9.9,http://tizen.org/privilege/message.write +common,http://tizen.org/privilege/minicontrol.provider,2.4,9.9,http://tizen.org/privilege/minicontrol.provider +mobile,http://tizen.org/privilege/network.get,2.3,9.9,http://tizen.org/privilege/network.get +mobile,http://tizen.org/privilege/network.get,2.3,9.9,http://tizen.org/privilege/internal/buxton/network.get +wearable,http://tizen.org/privilege/network.get,2.3.1,9.9,http://tizen.org/privilege/network.get +wearable,http://tizen.org/privilege/network.get,2.3.1,9.9,http://tizen.org/privilege/internal/buxton/network.get +mobile,http://tizen.org/privilege/network.profile,2.3,9.9,http://tizen.org/privilege/network.profile +wearable,http://tizen.org/privilege/network.profile,2.3.1,9.9,http://tizen.org/privilege/network.profile +mobile,http://tizen.org/privilege/network.set,2.3,9.9,http://tizen.org/privilege/network.set +mobile,http://tizen.org/privilege/network.set,2.3,9.9,http://tizen.org/privilege/internal/buxton/network.get +wearable,http://tizen.org/privilege/network.set,2.3.1,9.9,http://tizen.org/privilege/network.set +wearable,http://tizen.org/privilege/network.set,2.3.1,9.9,http://tizen.org/privilege/internal/buxton/network.get +mobile,http://tizen.org/privilege/nfc,2.3,9.9,http://tizen.org/privilege/nfc +mobile,http://tizen.org/privilege/nfc,2.3,9.9,http://tizen.org/privilege/internal/buxton/nfc +wearable,http://tizen.org/privilege/nfc,2.3.1,9.9,http://tizen.org/privilege/nfc +wearable,http://tizen.org/privilege/nfc,2.3.1,9.9,http://tizen.org/privilege/internal/buxton/nfc +mobile,http://tizen.org/privilege/nfc.admin,2.3,9.9,http://tizen.org/privilege/nfc.admin +mobile,http://tizen.org/privilege/nfc.admin,2.3,9.9,http://tizen.org/privilege/internal/buxton/nfc +mobile,http://tizen.org/privilege/nfc.admin,2.3,9.9,http://tizen.org/privilege/internal/buxton/nfc.cardemulation +wearable,http://tizen.org/privilege/nfc.admin,2.3.1,9.9,http://tizen.org/privilege/nfc.admin +wearable,http://tizen.org/privilege/nfc.admin,2.3.1,9.9,http://tizen.org/privilege/internal/buxton/nfc +wearable,http://tizen.org/privilege/nfc.admin,2.3.1,9.9,http://tizen.org/privilege/internal/buxton/nfc.cardemulation +mobile,http://tizen.org/privilege/nfc.cardemulation,2.3,9.9,http://tizen.org/privilege/nfc.cardemulation +mobile,http://tizen.org/privilege/nfc.cardemulation,2.3,9.9,http://tizen.org/privilege/internal/buxton/nfc.cardemulation +wearable,http://tizen.org/privilege/nfc.cardemulation,2.3.1,9.9,http://tizen.org/privilege/nfc.cardemulation +wearable,http://tizen.org/privilege/nfc.cardemulation,2.3.1,9.9,http://tizen.org/privilege/internal/buxton/nfc.cardemulation +mobile,http://tizen.org/privilege/notification,2.3,9.9,http://tizen.org/privilege/notification +wearable,http://tizen.org/privilege/notification,2.3.1,9.9,http://tizen.org/privilege/notification +mobile,http://tizen.org/privilege/packagemanager.admin,2.3,9.9,http://tizen.org/privilege/packagemanager.admin +wearable,http://tizen.org/privilege/packagemanager.admin,2.3.1,9.9,http://tizen.org/privilege/packagemanager.admin +common,http://tizen.org/privilege/packagemanager.clearcache,2.4,9.9,http://tizen.org/privilege/packagemanager.clearcache +mobile,http://tizen.org/privilege/packagemanager.info,2.3,9.9,http://tizen.org/privilege/packagemanager.info +wearable,http://tizen.org/privilege/packagemanager.info,2.3.1,9.9,http://tizen.org/privilege/packagemanager.info +mobile,http://tizen.org/privilege/power,2.3,9.9,http://tizen.org/privilege/power +wearable,http://tizen.org/privilege/power,2.3.1,9.9,http://tizen.org/privilege/power +mobile,http://tizen.org/privilege/push,2.3,9.9,http://tizen.org/privilege/push +wearable,http://tizen.org/privilege/push,2.3.1,9.9,http://tizen.org/privilege/push +common,http://tizen.org/privilege/reboot,2.3.1,9.9,http://tizen.org/privilege/reboot +mobile,http://tizen.org/privilege/recorder,2.3,9.9,http://tizen.org/privilege/recorder +mobile,http://tizen.org/privilege/recorder,2.3,9.9,http://tizen.org/privilege/internal/buxton/camcorder +wearable,http://tizen.org/privilege/recorder,2.3.1,9.9,http://tizen.org/privilege/recorder +wearable,http://tizen.org/privilege/recorder,2.3.1,9.9,http://tizen.org/privilege/internal/buxton/camcorder +mobile,http://tizen.org/privilege/screenshot,2.3,9.9,http://tizen.org/privilege/screenshot +wearable,http://tizen.org/privilege/screenshot,2.3.1,9.9,http://tizen.org/privilege/screenshot +common,http://tizen.org/privilege/secureelement,2.3.1,9.9,http://tizen.org/privilege/secureelement +mobile,http://tizen.org/privilege/shortcut,2.3,9.9,http://tizen.org/privilege/shortcut +common,http://tizen.org/privilege/systemmonitor,2.4,9.9,http://tizen.org/privilege/systemmonitor +mobile,http://tizen.org/privilege/systemsettings.admin,2.3,9.9,http://tizen.org/privilege/systemsettings.admin +wearable,http://tizen.org/privilege/systemsettings.admin,2.3.1,9.9,http://tizen.org/privilege/systemsettings.admin +mobile,http://tizen.org/privilege/telephony,2.3,9.9,http://tizen.org/privilege/telephony +wearable,http://tizen.org/privilege/telephony,2.3.1,9.9,http://tizen.org/privilege/telephony +mobile,http://tizen.org/privilege/telephony.admin,2.3,9.9,http://tizen.org/privilege/telephony.admin +mobile,http://tizen.org/privilege/telephony.admin,2.3,9.9,http://tizen.org/privilege/internal/buxton/telephony +wearable,http://tizen.org/privilege/telephony.admin,2.3.1,9.9,http://tizen.org/privilege/telephony.admin +wearable,http://tizen.org/privilege/telephony.admin,2.3.1,9.9,http://tizen.org/privilege/internal/buxton/telephony +mobile,http://tizen.org/privilege/tethering.admin,2.3,9.9,http://tizen.org/privilege/tethering.admin +mobile,http://tizen.org/privilege/volume.set,2.3,9.9,http://tizen.org/privilege/volume.set +wearable,http://tizen.org/privilege/volume.set,2.3.1,9.9,http://tizen.org/privilege/volume.set +mobile,http://tizen.org/privilege/web-history.admin,2.3,9.9,http://tizen.org/privilege/web-history.admin +common,http://tizen.org/privilege/widget.viewer,2.3.1,9.9,http://tizen.org/privilege/widget.viewer +mobile,http://tizen.org/privilege/wifidirect,2.3,9.9,http://tizen.org/privilege/wifidirect +mobile,http://tizen.org/privilege/window.priority.set,2.3,9.9,http://tizen.org/privilege/window.priority.set +wearable,http://tizen.org/privilege/window.priority.set,2.3.1,9.9,http://tizen.org/privilege/window.priority.set +mobile,http://tizen.org/privilege/internal/default/public,2.3,9.9,http://tizen.org/privilege/internal/default/public +mobile,http://tizen.org/privilege/internal/default/public,2.3,2.3.1,http://tizen.org/privilege/internal/buxton/location +mobile,http://tizen.org/privilege/internal/default/partner,2.3,9.9,http://tizen.org/privilege/internal/default/public +mobile,http://tizen.org/privilege/internal/default/partner,2.3,9.9,http://tizen.org/privilege/internal/default/partner +mobile,http://tizen.org/privilege/internal/default/partner,2.3,2.3.1,http://tizen.org/privilege/internal/buxton/location +mobile,http://tizen.org/privilege/internal/default/platform,2.3,9.9,http://tizen.org/privilege/internal/default/public +mobile,http://tizen.org/privilege/internal/default/platform,2.3,9.9,http://tizen.org/privilege/internal/default/partner +mobile,http://tizen.org/privilege/internal/default/platform,2.3,9.9,http://tizen.org/privilege/internal/default/platform +mobile,http://tizen.org/privilege/internal/default/platform,2.3,2.3.1,http://tizen.org/privilege/internal/buxton/location +wearable,http://tizen.org/privilege/internal/default/public,2.3.1,9.9,http://tizen.org/privilege/internal/default/public +wearable,http://tizen.org/privilege/internal/default/public,2.3.1,2.3.1,http://tizen.org/privilege/internal/buxton/location +wearable,http://tizen.org/privilege/internal/default/partner,2.3.1,9.9,http://tizen.org/privilege/internal/default/public +wearable,http://tizen.org/privilege/internal/default/partner,2.3.1,9.9,http://tizen.org/privilege/internal/default/partner +wearable,http://tizen.org/privilege/internal/default/partner,2.3.1,2.3.1,http://tizen.org/privilege/internal/buxton/location +wearable,http://tizen.org/privilege/internal/default/platform,2.3.1,9.9,http://tizen.org/privilege/internal/default/public +wearable,http://tizen.org/privilege/internal/default/platform,2.3.1,9.9,http://tizen.org/privilege/internal/default/partner +wearable,http://tizen.org/privilege/internal/default/platform,2.3.1,9.9,http://tizen.org/privilege/internal/default/platform +wearable,http://tizen.org/privilege/internal/default/platform,2.3.1,2.3.1,http://tizen.org/privilege/internal/buxton/location diff --git a/capi/res/dbspace/core_privilege_mapping.db b/capi/res/dbspace/core_privilege_mapping.db new file mode 100644 index 0000000000000000000000000000000000000000..f05c6d2dda7da923c85cfba8479e2f093975c561 GIT binary patch literal 22528 zcmeGkTWlOx_0CLEJ86@)nI@aQ-8M~{v{@%|Jl!?&n2?=FY+dUl9YV}zOH_*YT!ey0XiUcrFwg%=Q5r)XBj6(GAA>~`;Yd| z4D_8ikr_N1c_AMj>F*os?-}cR@_2tw$=!e>bSDC-6fe(uY zw$eSo>P_?>c&hYPcy6Iv;CUn60M8pP!sGe{cx<-evB`kPbS4bo`6U9 z!|>?Z3y*7dz+*idXB`_x*}&%J4df6}zN+kz-;f8Tze!bT6L|q%#eb$YbZxkKTvf-5 z&YWo(dCx07+S}`y%Z8nH++1(TH5cH0&gj)F%`K*LhIb(S;Gy&(3}m&tOS*kpRnN^VWd^rxMzYX?{&+%PO4eR1&kHsQSV&;Ia$~ zWU`?Z$VsfhW}3uFPF-G-VX1ih7l`tT(kH(yKPUG{uStXCPoxkZ{vG_bvZbs0=Ax<= zb*ET#?6`<7m5Q3JQ%J`_gBm9prU#s)Gm*p%}MdYW*K%?bN%^SkT09T^;>`p%%tL3Ex58Kb2GTLJwd9Pv#N&YI9@&=B{F#nMlJrRq4_H^i$aa8Y^)6J#jn9Uz>psyf0-5n}P4(Msy%?I7B* zlzI#+8p^3HYxp)0;h3r(Ly3Sg36K9>MESgumVYddOK(fd(lz82va2cRt9wBr?1o%- zY){iW-H`j(%x3csaI&ZkxsQme12jRq_k&_l8}cSJp@t(Vqpleyo4$wBL@ZsJ^(k5) zg`vIOpg`<~+?S09Si(9=7&&_%r;6H;hY^K)yfAQi7bp<5ArE7%$!6M4PEx!fPed{d zT)Y=_2UB7dmphPCV#E>sxr@dBM)D+4URL(Yzmm_&H%i}^PLY3;Z^BE|XXath$)u`I z3X_si)J!W_ug0g;5bWqdATXe+12_Ug1J{N=^AS+yNtQ6bYlhLCR`@Rmiv zLIZT@aTq?Msu|4im~m$wWBjHN{N@eK^75uV?;!lO0et%7;7!;KP+lu}rj8lE1~~pP z@E_O!iMJ)e!1001!B##BESFPi8576GIeyy03Xo9GO~d|^#T`P1RWKJH1)<8SS{A0K zRR$1-$0~T%ArKo|NNyP;xwyGUKulD1CQ2&ah%NAZ{vRjGmzBrlKgyqycS=8%%F?am zCuF?i@Hd|Z?qTw)2#sVpy5^Y?)71kx|uuA9V6btoQjCLaq3KMjz;e70`t`G3`>- z%NaHl#~{lJRnrU}?Ek;69FX6XC*b_wleR|p|D(W-qpFUOo1&35HMYcX9m|3Pyo%v2 z7-Fv4qg6*bC97K|ETn|WXeGKr1KMR08P{6S00aN*gxo zgAhu@{io62;Nx3Ej41LT)JF=43UfsZMrjZNgNZ0i7%hk$%aN(;Po zoaK~+*6UcTGshBSFrQPzdcz0h@qd_||Lv21CL7Xw(x;^@(EEEBJ^SaM0T!`4qM}i$ zu!SJDM%@IjPl1h5JEA5uVa{!WUN{ZnOr>zWM?NMmnF*t$H8{iQ^OKw|s%REQL|8iv zUOoj%M3v3LSVA4fiKb0(lH#&iB9dX?`ICvX2XjfVMX32L3Ddi6c#94ki1V(B z_{D6i3;DRvrZAJ`1jR*09|=P+1Z(NwKiKKf$1AzcJoGpsT&M*jHwWUNws$RvLPu(W z_cRa-if&7orG}4-YaxlTR(6(CMV0!JQ4K*mGfAD03)Z<4o=NJ27=j^*%G0p!EU0Qh zyvjChv%bhqgBLECa11S6V?awv1c}H03Q=BCcF1qZu6&#HLurz{M^@tE|ML9Kv%713 z8+5%mjm+!FgM)}$0;aCPF@3RW)k+OU5v&N^BIcDPI%RP(;{IqGEn5JYEkJ-lX~IN> z^*p9#*hX(-XE_yA0R(u%~`g;20f3jn$tEQR18g0oVAdgc?&L>6}4=QFfNSp2*y$w>DStnWDBKp`2$+U{@fG&Aq|A)dA&M zhtooJUo$0Pr3_&C{C|`vUsCRsFUk9)*QE^k2YHDcO_TtJFM{z=ok^u?g>^;7I~xN! zbpd1_NT~yu2rfB`Yyl+PfY;zgp9N-74F&$N0&W>`Zw1&jk#14a^a4~t{ObzHW5YIB z&Up~U#7w4bki}+*vUz?PmZ(+esuV6!TL|hF+~m?VJufa{u8O&^1UfFH)B?&SnwiH& zMho#8TKODknXSu(OU8ECN!45p%7FZ?{JeaR z^j&F~yhEOcm!Z!jW%vD14K0Q58|_w zckCtfa-`K-!3Y*ja(^#CLlbVnDAW1{KCvgZU?z6R06$03cliRGK)(2eNelceO>&tp zKt|+_0CtL^Z}SB>Le&M33zS{w!!7_SOBK&3!j9O3F2YKnGEr2tLn~8u%MY~zXooJ8 zupN?4H?mm~?zRb&2}g%JwI-$kpb47C|06_sK{+V@TGpix;Qr5U@;&lMIR2yGFH&~F z57mej1b5b$*Q%D+TdK}kwLZ3Z?_CAYqql$)U{~6UrVV|wP$M-R`11fu^>YZ3546E@ zD7yuST57k!7J5J%oN2lpD56#pi%=%XnlKHC7hMfdgQl>{u0=Bo6{+-sY2db5P4ES} z4dg&o1{RIEz5aQYzhIAdk_g5e-3so3UF0n|R<&p#y`lj;O>e@Qrhz2%fd*)fvO9pN z10v7x@&@aZ4ia3v!dl>2{CAV>MERuBEq_+tEPVmGe_kZpS17waS5;Hu4vuJ?LZO}g zK`{^*zS8?+Zu$qf^}oj9wqaKVIq2MY;#FbTx(Rfs0zZ z5#pk$Jc`S$b%C<0aliqpk3BldS~#c~jS|YP$yHJ*R3BiJgTU+3`#ZJ%1-h%oLZ@a3 zvCvuAJxh0T20FCD8W^Y<;UZ<%?aCe7zz@I9O|U}Q9eC`0il`SfI7n)N8YYW>S^gJM uR^V~ /dev/null +echo "Creating $DB_NAME ..." +touch $DB_NAME + +echo "Creating PRIVILEGE_MAPPING table ..." +sqlite3 $DB_NAME "CREATE TABLE PRIVILEGE_MAPPING (PROFILE_ID NUMERIC, PROFILE TEXT, PRIVILEGE_NAME TEXT, FROM_API_VERSION TEXT, TO_API_VERSION TEXT, MAPPED_PRIVILEGE_NAME TEXT);" + +echo "Inserting data ..." +IFS=$'\n' +for i in `cat tv_core_privilege_mapping.csv` +do + temp=`echo $i | awk '/^#/'` + if [ ! "$temp" = "" ] + then + continue + fi + + PROFILE=`echo $i | cut -d "," -f 1` + #echo PROFILE = $PROFILE + + if [ "$PROFILE" = "common" ] + then + PROFILE_ID=0 + + elif [ "$PROFILE" = "mobile" ] + then + PROFILE_ID=1 + + elif [ "$PROFILE" = "wearable" ] + then + PROFILE_ID=2 + + elif [ "$PROFILE" = "tv" ] + then + PROFILE_ID=3 + + else + echo "Fail to create table : PROFILE must be common, mobile, wearable or tv" + exit + fi + + PRIVILEGE_NAME=`echo $i | cut -d "," -f 2` + FROM_API_VERSION=`echo $i | cut -d "," -f 3` + TO_API_VERSION=`echo $i | cut -d "," -f 4` + MAPPED_PRIVILEGE_NAME=`echo $i | cut -d "," -f 5` + + echo "Inserting $PRIVILEGE_NAME $MAPPED_PRIVILEGE_NAME..." + + sqlite3 $DB_NAME "insert into privilege_mapping values ( $PROFILE_ID, '$PROFILE', '$PRIVILEGE_NAME','$FROM_API_VERSION', '$TO_API_VERSION', '$MAPPED_PRIVILEGE_NAME')" +done + +echo "Check inserted data" +sqlite3 $DB_NAME "select * from privilege_mapping" diff --git a/capi/res/dbspace/tv_core_privilege_mapping.csv b/capi/res/dbspace/tv_core_privilege_mapping.csv new file mode 100644 index 0000000..01fd88d --- /dev/null +++ b/capi/res/dbspace/tv_core_privilege_mapping.csv @@ -0,0 +1,97 @@ +#PROFILE,#PRIVILEGE_NAME,#FROM,#TO,#MAPPED_PRIVILEGE_NAME +tv,http://tizen.org/privilege/account.read,2.4,9.9,http://tizen.org/privilege/account.read +tv,http://tizen.org/privilege/account.read,2.4,9.9,http://tizen.org/privilege/internal/buxton/account.read +tv,http://tizen.org/privilege/account.write,2.4,9.9,http://tizen.org/privilege/account.write +tv,http://tizen.org/privilege/account.write,2.4,9.9,http://tizen.org/privilege/internal/buxton/account.read +tv,http://tizen.org/privilege/alarm.get,2.4,9.9,http://tizen.org/privilege/alarm.get +tv,http://tizen.org/privilege/alarm.set,2.4,9.9,http://tizen.org/privilege/alarm.set +tv,http://tizen.org/privilege/antivirus,2.4,9.9,http://tizen.org/privilege/antivirus +tv,http://tizen.org/privilege/apphistory.read,2.4,9.9,http://tizen.org/privilege/apphistory.read +tv,http://tizen.org/privilege/appmanager.kill,2.4,9.9,http://tizen.org/privilege/appmanager.kill +tv,http://tizen.org/privilege/appmanager.kill.bgapp,2.4,9.9,http://tizen.org/privilege/appmanager.kill.bgapp +tv,http://tizen.org/privilege/appmanager.launch,2.4,9.9,http://tizen.org/privilege/appmanager.launch +tv,http://tizen.org/privilege/bluetooth,2.4,9.9,http://tizen.org/privilege/bluetooth +tv,http://tizen.org/privilege/bluetooth.admin,2.4,9.9,http://tizen.org/privilege/bluetooth.admin +tv,http://tizen.org/privilege/bookmark.admin,2.4,9.9,http://tizen.org/privilege/bookmark.admin +tv,http://tizen.org/privilege/calendar.read,2.4,9.9,http://tizen.org/privilege/calendar.read +tv,http://tizen.org/privilege/calendar.write,2.4,9.9,http://tizen.org/privilege/calendar.write +tv,http://tizen.org/privilege/call,2.4,9.9,http://tizen.org/privilege/call +tv,http://tizen.org/privilege/callhistory.read,2.4,9.9,http://tizen.org/privilege/callhistory.read +tv,http://tizen.org/privilege/callhistory.write,2.4,9.9,http://tizen.org/privilege/callhistory.write +tv,http://tizen.org/privilege/camera,2.4,9.9,http://tizen.org/privilege/camera +tv,http://tizen.org/privilege/camera,2.4,9.9,http://tizen.org/privilege/internal/buxton/camcorder +tv,http://tizen.org/privilege/contact.read,2.4,9.9,http://tizen.org/privilege/contact.read +tv,http://tizen.org/privilege/contact.read,2.4,9.9,http://tizen.org/privilege/internal/buxton/contact.read +tv,http://tizen.org/privilege/contact.write,2.4,9.9,http://tizen.org/privilege/contact.write +tv,http://tizen.org/privilege/contact.write,2.4,9.9,http://tizen.org/privilege/internal/buxton/contact.read +tv,http://tizen.org/privilege/content.write,2.4,9.9,http://tizen.org/privilege/content.write +tv,http://tizen.org/privilege/datasharing,2.4,9.9,http://tizen.org/privilege/datasharing +tv,http://tizen.org/privilege/display,2.4,9.9,http://tizen.org/privilege/display +tv,http://tizen.org/privilege/download,2.4,9.9,http://tizen.org/privilege/download +tv,http://tizen.org/privilege/email,2.4,9.9,http://tizen.org/privilege/email +tv,http://tizen.org/privilege/email.admin,2.4,9.9,http://tizen.org/privilege/email.admin +tv,http://tizen.org/privilege/externalstorage,2.4,9.9,http://tizen.org/privilege/externalstorage +tv,http://tizen.org/privilege/externalstorage.appdata,2.4,9.9,http://tizen.org/privilege/externalstorage.appdata +tv,http://tizen.org/privilege/haptic,2.4,9.9,http://tizen.org/privilege/haptic +tv,http://tizen.org/privilege/healthinfo,2.4,9.9,http://tizen.org/privilege/healthinfo +tv,http://tizen.org/privilege/ime,2.4,9.9,http://tizen.org/privilege/ime +tv,http://tizen.org/privilege/imemanager,2.4,9.9,http://tizen.org/privilege/imemanager +tv,http://tizen.org/privilege/inputgenerator,2.4,9.9,http://tizen.org/privilege/inputgenerator +tv,http://tizen.org/privilege/internet,2.4,9.9,http://tizen.org/privilege/internet +tv,http://tizen.org/privilege/keygrab,2.4,9.9,http://tizen.org/privilege/keygrab +tv,http://tizen.org/privilege/keymanager,2.4,9.9,http://tizen.org/privilege/keymanager +tv,http://tizen.org/privilege/led,2.4,9.9,http://tizen.org/privilege/led +tv,http://tizen.org/privilege/location,2.4,9.9,http://tizen.org/privilege/location +tv,http://tizen.org/privilege/location,2.4,9.9,http://tizen.org/privilege/internal/buxton/location +tv,http://tizen.org/privilege/location.enable,2.4,9.9,http://tizen.org/privilege/location.enable +tv,http://tizen.org/privilege/location.enable,2.4,9.9,http://tizen.org/privilege/internal/buxton/location +tv,http://tizen.org/privilege/mapservice,2.4,9.9,http://tizen.org/privilege/mapservice +tv,http://tizen.org/privilege/mediacontroller.client,2.4,9.9,http://tizen.org/privilege/mediacontroller.client +tv,http://tizen.org/privilege/mediacontroller.server,2.4,9.9,http://tizen.org/privilege/mediacontroller.server +tv,http://tizen.org/privilege/mediahistory.read,2.4,9.9,http://tizen.org/privilege/mediahistory.read +tv,http://tizen.org/privilege/mediastorage,2.4,9.9,http://tizen.org/privilege/mediastorage +tv,http://tizen.org/privilege/message.read,2.4,9.9,http://tizen.org/privilege/message.read +tv,http://tizen.org/privilege/message.read,2.4,9.9,http://tizen.org/privilege/internal/buxton/message.read +tv,http://tizen.org/privilege/message.write,2.4,9.9,http://tizen.org/privilege/message.write +tv,http://tizen.org/privilege/minicontrol.provider,2.4,9.9,http://tizen.org/privilege/minicontrol.provider +tv,http://tizen.org/privilege/network.get,2.4,9.9,http://tizen.org/privilege/network.get +tv,http://tizen.org/privilege/network.get,2.4,9.9,http://tizen.org/privilege/internal/buxton/network.get +tv,http://tizen.org/privilege/network.profile,2.4,9.9,http://tizen.org/privilege/network.profile +tv,http://tizen.org/privilege/network.set,2.4,9.9,http://tizen.org/privilege/network.set +tv,http://tizen.org/privilege/network.set,2.4,9.9,http://tizen.org/privilege/internal/buxton/network.get +tv,http://tizen.org/privilege/nfc,2.4,9.9,http://tizen.org/privilege/nfc +tv,http://tizen.org/privilege/nfc,2.4,9.9,http://tizen.org/privilege/internal/buxton/nfc +tv,http://tizen.org/privilege/nfc.admin,2.4,9.9,http://tizen.org/privilege/nfc.admin +tv,http://tizen.org/privilege/nfc.admin,2.4,9.9,http://tizen.org/privilege/internal/buxton/nfc +tv,http://tizen.org/privilege/nfc.admin,2.4,9.9,http://tizen.org/privilege/internal/buxton/nfc.cardemulation +tv,http://tizen.org/privilege/nfc.cardemulation,2.4,9.9,http://tizen.org/privilege/nfc.cardemulation +tv,http://tizen.org/privilege/nfc.cardemulation,2.4,9.9,http://tizen.org/privilege/internal/buxton/nfc.cardemulation +tv,http://tizen.org/privilege/notification,2.4,9.9,http://tizen.org/privilege/notification +tv,http://tizen.org/privilege/packagemanager.admin,2.4,9.9,http://tizen.org/privilege/packagemanager.admin +tv,http://tizen.org/privilege/packagemanager.clearcache,2.4,9.9,http://tizen.org/privilege/packagemanager.clearcache +tv,http://tizen.org/privilege/packagemanager.info,2.4,9.9,http://tizen.org/privilege/packagemanager.info +tv,http://tizen.org/privilege/power,2.4,9.9,http://tizen.org/privilege/power +tv,http://tizen.org/privilege/push,2.4,9.9,http://tizen.org/privilege/push +tv,http://tizen.org/privilege/reboot,2.4,9.9,http://tizen.org/privilege/reboot +tv,http://tizen.org/privilege/recorder,2.4,9.9,http://tizen.org/privilege/recorder +tv,http://tizen.org/privilege/recorder,2.4,9.9,http://tizen.org/privilege/internal/buxton/camcorder +tv,http://tizen.org/privilege/screenshot,2.4,9.9,http://tizen.org/privilege/screenshot +tv,http://tizen.org/privilege/secureelement,2.4,9.9,http://tizen.org/privilege/secureelement +tv,http://tizen.org/privilege/shortcut,2.4,9.9,http://tizen.org/privilege/shortcut +tv,http://tizen.org/privilege/systemmonitor,2.4,9.9,http://tizen.org/privilege/systemmonitor +tv,http://tizen.org/privilege/systemsettings.admin,2.4,9.9,http://tizen.org/privilege/systemsettings.admin +tv,http://tizen.org/privilege/telephony,2.4,9.9,http://tizen.org/privilege/telephony +tv,http://tizen.org/privilege/telephony.admin,2.4,9.9,http://tizen.org/privilege/telephony.admin +tv,http://tizen.org/privilege/telephony.admin,2.4,9.9,http://tizen.org/privilege/internal/buxton/telephony +tv,http://tizen.org/privilege/tethering.admin,2.4,9.9,http://tizen.org/privilege/tethering.admin +tv,http://tizen.org/privilege/volume.set,2.4,9.9,http://tizen.org/privilege/volume.set +tv,http://tizen.org/privilege/web-history.admin,2.4,9.9,http://tizen.org/privilege/web-history.admin +tv,http://tizen.org/privilege/widget.viewer,2.4,9.9,http://tizen.org/privilege/widget.viewer +tv,http://tizen.org/privilege/wifidirect,2.4,9.9,http://tizen.org/privilege/wifidirect +tv,http://tizen.org/privilege/window.priority.set,2.4,9.9,http://tizen.org/privilege/window.priority.set +tv,http://tizen.org/privilege/internal/default/public,2.4,9.9,http://tizen.org/privilege/internal/default/public +tv,http://tizen.org/privilege/internal/default/partner,2.4,9.9,http://tizen.org/privilege/internal/default/public +tv,http://tizen.org/privilege/internal/default/partner,2.4,9.9,http://tizen.org/privilege/internal/default/partner +tv,http://tizen.org/privilege/internal/default/platform,2.4,9.9,http://tizen.org/privilege/internal/default/public +tv,http://tizen.org/privilege/internal/default/platform,2.4,9.9,http://tizen.org/privilege/internal/default/partner +tv,http://tizen.org/privilege/internal/default/platform,2.4,9.9,http://tizen.org/privilege/internal/default/platform diff --git a/capi/res/dbspace/tv_core_privilege_mapping.db b/capi/res/dbspace/tv_core_privilege_mapping.db new file mode 100644 index 0000000000000000000000000000000000000000..ed4672189a3d66aa8a82ec8d33c4153d005e30d8 GIT binary patch literal 13312 zcmeHOON?7r8NQFCc{P;wK+7YvCbXrcjUCbgO;SoH6DOF=!|`|~lgT`MeD4|iYVO0i zz8=qzMM)}D76_qA1*r?vWx8Tjb-}JHghV$W9ztwb@DdU#iwcPi-}UjeJ+|xrj0r&% zVfe-Zv+?>`AJe0}kw{j6LyCPr6E##)M7qe^A6Zw2@ z=HkE&W3rH)C}vZ|iE~rg)WDBZPvi@;7eKL=JD-}FpUxI?lTQQIx|b?u7mM+CiO9^v zG?-d9FBE2{*Cz70wS{b9E;l>VzFnLhax?ZVdwy*Q&y)M{G!C2Z#?R!a`7iT*^F8x# z=AXU+=Qxa>cM z%f1J2F%QMH`H=RqX1-ybG~P8<3{!topVj_?TX*YYA3C7l&l%%pv{{X!+L=rya=t12 zbP!fDwb0pgTu~7jUaNWB=M@pAHyqbJm45bg`m{RUKB%fvb?Q+NZl^=RZ55SX{Ne$q z%riDm#NtN?D{Rzh{sg&rj~cVfLoZzy5zU++7x(XixuVPrWUvp+D~#PBM#Hj#h99My zA-1BV-;N)N(C2QZ+}Mf&Kf~MB@#89)QgG!?3MK+A_k05i*OWt2%Arvat?E+mnp#9k zdPzVrSkC`jn)yBRQR8QZZD{(B^fTIDwOe;<`maBL2rb5}(GgnQb$e$TnJ4`QGxtO1 z5@VNW9VPDaN5Qwo*c!n|K;=NFzm)?#F9Yn%kJpyLIm>B(}dkU1x8@^Q~ z6$UJ7hoR&#<|!-1r7&HtfN3{sU8{KhAJ&d*<`2ws#_x<9#u3#2=d@pGTe#W!6pz8D z%Zyzf?UU`)YcAg=y=dc>KMmHaj9n#IdBp2g9y)%7X6|B3p8~tWya`ZClnam5iw-_1 z6^POn+i+{#(w11q)4KEt<&e|`69HM;9)bd0+7cV3wWhzc^%}1}DD{Za)@wrMKrdK) z9Q?D4HAbhH#XS*nl6fE!?pZ--i?Hx9DKmRVWTZD$22Og#=`C?;o2LN_IsaER^R~HQ z{L^^VIHvzpclC$0ceK_2di8N^ACf4 znz3nO=dwMoVK zAD)D30b{{v*F0f6JYJu}z;$tmw_FFcmyCY6*-{3Y^rZKAtuDe%$D)swU8t7^HxjTu zIvzK$c;p0rTKI7%m<*)9fF$6O?Objt>qr6<8gr_YAiR;?LbXz>Yf)B9x@R6<@R2cV5x_`K4%$|O_h(Ih~5 z{x53gcg^F*J4RXmhyHy%h3X%75Xbzur{OEs*6q;~$QMyFz>!j=rPM!pdTf`UlWN3C zqQ`<9^B%1K6|iqGwlO*u9EzRx+Lo?`!KQJ^U z0=>;oY{uH=_ZqK0EA@zNey<5Va_#VA=T@Il^*dR95y7D|<@^^F7r!Poh!+p)QFV~Z zFMt`9m-e1~7(+&C>Z_8SIAOsXk{uZLd9bNh9+lT513q`F*78}YrdWAY)RM{rtbGRT z^f@T8K-F2ti!yqY+Wxoka{j-hncp@aGu|@J>Oa?S=uc_C)?ONKBJa{_;Sz$Rk2Rr? zy%sXM1X%b6ca*T=tE*HXezAkEtGo^j1D} z#1_U6B4^!^r$RDQd%@e2s7csjsMMt0mA`@2tG_mN=Kl}Pv&L_Yo5myhkM()&?{{hb z`$dc_7CE9v8wpp`s)4^fW=ZbY+jCNnIBa+Dih6zc#R635S5X}+GFduE|1y~A%&%|P zBjKTlM0jyhR}5m9Q7I2S`Zyv@y})-=`nNmK3$sw5D?q&(gpt*t*XjgVno;vySdCC1 zy*!m>RJ|9yGz|s1iBPw|@53zx-#gIClpGaeUL@s?OrZXC0IwNjMV0d({lC}E7mQyT zq4A)8TR)}!M7jH?X`3tXwNAE{Ixg5^oj2SlQ{!QTmcP31eTI!?sY|q{@1Sm@>^fF- z4YG7sd{DM!Jw~)GJ9i1HbZKuoK03Q-K{x?^nPyw*7lDS@EM0{fo!U*5JKI4L(y85r zmKMQHFDXsOMq?t@59IQ-!xv+%eDBS!6g<=q4 /dev/null +echo "Creating $DB_NAME ..." +touch $DB_NAME + +echo "Creating PRIVILEGE_MAPPING table ..." +sqlite3 $DB_NAME "CREATE TABLE PRIVILEGE_MAPPING (PROFILE_ID NUMERIC, PROFILE TEXT, PRIVILEGE_NAME TEXT, FROM_API_VERSION TEXT, TO_API_VERSION TEXT, MAPPED_PRIVILEGE_NAME TEXT);" + +echo "Inserting data ..." +IFS=$'\n' +for i in `cat tv_wrt_privilege_mapping.csv` +do + temp=`echo $i | awk '/^#/'` + if [ ! "$temp" = "" ] + then + continue + fi + + PROFILE=`echo $i | cut -d "," -f 1` + #echo PROFILE = $PROFILE + + if [ "$PROFILE" = "common" ] + then + PROFILE_ID=0 + + elif [ "$PROFILE" = "mobile" ] + then + PROFILE_ID=1 + + elif [ "$PROFILE" = "wearable" ] + then + PROFILE_ID=2 + + elif [ "$PROFILE" = "tv" ] + then + PROFILE_ID=3 + else + echo "Fail to create table : PROFILE must be common, mobile, wearable or tv" + exit + fi + + PRIVILEGE_NAME=`echo $i | cut -d "," -f 2` + FROM_API_VERSION=`echo $i | cut -d "," -f 3` + TO_API_VERSION=`echo $i | cut -d "," -f 4` + MAPPED_PRIVILEGE_NAME=`echo $i | cut -d "," -f 5` + + echo "Inserting $PRIVILEGE_NAME $MAPPED_PRIVILEGE_NAME..." + + sqlite3 $DB_NAME "insert into privilege_mapping values ( $PROFILE_ID, '$PROFILE', '$PRIVILEGE_NAME','$FROM_API_VERSION', '$TO_API_VERSION', '$MAPPED_PRIVILEGE_NAME')" +done + +echo "Check inserted data" +sqlite3 $DB_NAME "select * from privilege_mapping" diff --git a/capi/res/dbspace/tv_wrt_privilege_mapping.csv b/capi/res/dbspace/tv_wrt_privilege_mapping.csv new file mode 100644 index 0000000..293fe57 --- /dev/null +++ b/capi/res/dbspace/tv_wrt_privilege_mapping.csv @@ -0,0 +1,74 @@ +#PROFILE,#PRIVILEGE_NAME,#FROM,#TO,#MAPPED_PRIVILEGE_NAME +tv,http://tizen.org/privilege/alarm,2.3,9.9,http://tizen.org/privilege/alarm.get +tv,http://tizen.org/privilege/alarm,2.3,9.9,http://tizen.org/privilege/alarm.set +tv,http://tizen.org/privilege/application.info,2.3,9.9,http://tizen.org/privilege/packagemanager.info +tv,http://tizen.org/privilege/application.launch,2.3,9.9,http://tizen.org/privilege/appmanager.launch +tv,http://tizen.org/privilege/appmanager.certificate,2.3,9.9,http://tizen.org/privilege/notexist +tv,http://tizen.org/privilege/appmanager.kill,2.3,9.9,http://tizen.org/privilege/appmanager.kill +tv,http://tizen.org/privilege/content.read,2.3,9.9,http://tizen.org/privilege/content.write +tv,http://tizen.org/privilege/content.write,2.3,9.9,http://tizen.org/privilege/content.write +tv,http://tizen.org/privilege/datacontrol.consumer,2.4,9.9,http://tizen.org/privilege/appmanager.launch +tv,http://tizen.org/privilege/datacontrol.consumer,2.4,9.9,http://tizen.org/privilege/datasharing +tv,http://tizen.org/privilege/download,2.3,9.9,http://tizen.org/privilege/download +tv,http://tizen.org/privilege/filesystem.read,2.3,9.9,http://tizen.org/privilege/systemsettings.admin +tv,http://tizen.org/privilege/filesystem.write,2.3,9.9,http://tizen.org/privilege/systemsettings.admin +tv,http://tizen.org/privilege/fullscreen,2.3,9.9,http://tizen.org/privilege/notexist +tv,http://tizen.org/privilege/internet,2.3,9.9,http://tizen.org/privilege/internet +tv,http://tizen.org/privilege/keymanager,2.4,9.9,http://tizen.org/privilege/keymanager +tv,http://tizen.org/privilege/mediacapture,2.3,9.9,http://tizen.org/privilege/camera +tv,http://tizen.org/privilege/mediacapture,2.3,9.9,http://tizen.org/privilege/internal/buxton/camcorder +tv,http://tizen.org/privilege/mediacapture,2.3,9.9,http://tizen.org/privilege/recorder +tv,http://tizen.org/privilege/package.info,2.3,9.9,http://tizen.org/privilege/packagemanager.info +tv,http://tizen.org/privilege/packagemanager.install,2.3,9.9,http://tizen.org/privilege/packagemanager.admin +tv,http://tizen.org/privilege/system,2.3,9.9,http://tizen.org/privilege/telephony +tv,http://tizen.org/privilege/systemmanager,2.3,2.3,http://tizen.org/privilege/telephony +tv,http://tizen.org/privilege/telephony,2.4,9.9,http://tizen.org/privilege/telephony +tv,http://tizen.org/privilege/tv.audio,2.3,9.9,http://tizen.org/privilege/notexist +tv,http://tizen.org/privilege/tv.channel,2.3,9.9,http://tizen.org/privilege/notexist +tv,http://tizen.org/privilege/tv.display,2.3,9.9,http://tizen.org/privilege/notexist +tv,http://tizen.org/privilege/tv.inputdevice,2.3,9.9,http://tizen.org/privilege/notexist +tv,http://tizen.org/privilege/tv.window,2.3,9.9,http://tizen.org/privilege/notexist +tv,http://tizen.org/privilege/unlimitedstorage,2.3,9.9,http://tizen.org/privilege/notexist +tv,http://tizen.org/privilege/websetting,2.3,2.3,http://tizen.org/privilege/notexist +tv,http://tizen.org/privilege/internal/default/public,2.3,2.3,http://tizen.org/privilege/internal/buxton/location +tv,http://tizen.org/privilege/internal/default/public,2.3,9.9,http://tizen.org/privilege/internal/default/public +tv,http://tizen.org/privilege/internal/default/public,2.3,2.3,http://tizen.org/privilege/call +tv,http://tizen.org/privilege/internal/default/public,2.3,2.3,http://tizen.org/privilege/internet +tv,http://tizen.org/privilege/internal/default/public,2.3,2.3,http://tizen.org/privilege/recorder +tv,http://tizen.org/privilege/internal/default/public,2.3,2.3,http://tizen.org/privilege/camera +tv,http://tizen.org/privilege/internal/default/public,2.3,9.9,http://tizen.org/privilege/appmanager.launch +tv,http://tizen.org/privilege/internal/default/public,2.3,9.9,http://tizen.org/privilege/haptic +tv,http://tizen.org/privilege/internal/default/public,2.3,9.9,http://tizen.org/privilege/internal/buxton/network.get +tv,http://tizen.org/privilege/internal/default/public,2.3,9.9,http://tizen.org/privilege/internal/buxton/telephony +tv,http://tizen.org/privilege/internal/default/public,2.3,9.9,http://tizen.org/privilege/network.get +tv,http://tizen.org/privilege/internal/default/public,2.3,9.9,http://tizen.org/privilege/notification +tv,http://tizen.org/privilege/internal/default/public,2.3,9.9,http://tizen.org/privilege/packagemanager.info +tv,http://tizen.org/privilege/internal/default/partner,2.3,2.3,http://tizen.org/privilege/internal/buxton/location +tv,http://tizen.org/privilege/internal/default/partner,2.3,9.9,http://tizen.org/privilege/internal/default/public +tv,http://tizen.org/privilege/internal/default/partner,2.3,9.9,http://tizen.org/privilege/internal/default/partner +tv,http://tizen.org/privilege/internal/default/partner,2.3,2.3,http://tizen.org/privilege/call +tv,http://tizen.org/privilege/internal/default/partner,2.3,2.3,http://tizen.org/privilege/internet +tv,http://tizen.org/privilege/internal/default/partner,2.3,2.3,http://tizen.org/privilege/recorder +tv,http://tizen.org/privilege/internal/default/partner,2.3,2.3,http://tizen.org/privilege/camera +tv,http://tizen.org/privilege/internal/default/partner,2.3,9.9,http://tizen.org/privilege/appmanager.launch +tv,http://tizen.org/privilege/internal/default/partner,2.3,9.9,http://tizen.org/privilege/haptic +tv,http://tizen.org/privilege/internal/default/partner,2.3,9.9,http://tizen.org/privilege/internal/buxton/network.get +tv,http://tizen.org/privilege/internal/default/partner,2.3,9.9,http://tizen.org/privilege/internal/buxton/telephony +tv,http://tizen.org/privilege/internal/default/partner,2.3,9.9,http://tizen.org/privilege/network.get +tv,http://tizen.org/privilege/internal/default/partner,2.3,9.9,http://tizen.org/privilege/notification +tv,http://tizen.org/privilege/internal/default/partner,2.3,9.9,http://tizen.org/privilege/packagemanager.info +tv,http://tizen.org/privilege/internal/default/platform,2.3,2.3,http://tizen.org/privilege/internal/buxton/location +tv,http://tizen.org/privilege/internal/default/platform,2.3,9.9,http://tizen.org/privilege/internal/default/public +tv,http://tizen.org/privilege/internal/default/platform,2.3,9.9,http://tizen.org/privilege/internal/default/partner +tv,http://tizen.org/privilege/internal/default/platform,2.3,9.9,http://tizen.org/privilege/internal/default/platform +tv,http://tizen.org/privilege/internal/default/platform,2.3,2.3,http://tizen.org/privilege/call +tv,http://tizen.org/privilege/internal/default/platform,2.3,2.3,http://tizen.org/privilege/internet +tv,http://tizen.org/privilege/internal/default/platform,2.3,2.3,http://tizen.org/privilege/recorder +tv,http://tizen.org/privilege/internal/default/platform,2.3,2.3,http://tizen.org/privilege/camera +tv,http://tizen.org/privilege/internal/default/platform,2.3,9.9,http://tizen.org/privilege/appmanager.launch +tv,http://tizen.org/privilege/internal/default/platform,2.3,9.9,http://tizen.org/privilege/haptic +tv,http://tizen.org/privilege/internal/default/platform,2.3,9.9,http://tizen.org/privilege/internal/buxton/network.get +tv,http://tizen.org/privilege/internal/default/platform,2.3,9.9,http://tizen.org/privilege/internal/buxton/telephony +tv,http://tizen.org/privilege/internal/default/platform,2.3,9.9,http://tizen.org/privilege/network.get +tv,http://tizen.org/privilege/internal/default/platform,2.3,9.9,http://tizen.org/privilege/notification +tv,http://tizen.org/privilege/internal/default/platform,2.3,9.9,http://tizen.org/privilege/packagemanager.info diff --git a/capi/res/dbspace/tv_wrt_privilege_mapping.db b/capi/res/dbspace/tv_wrt_privilege_mapping.db new file mode 100644 index 0000000000000000000000000000000000000000..7e6a63cbc2e10b7ce3dbf8ed22c7b5a23edcb8a6 GIT binary patch literal 11264 zcmeI2O>Epm6vxMQ+9dse76UCGrCVD10j;+*g_1%^x9z6glCLJa>Gq3dV$be6>$SJu z@orKHBzoddiBp9T9Js=P0|&%`0}?_UK?or(TsVM02*jmA;=*%g?WCJ@#@;rdidc!0 zc*pNI@6EjT{!?}0%#cY*qUg9)OcQ;m3rP|>nn)moPQ&+F_zo@!e(4JSfS>-~qU$u; z_mjLHMoG$k1YaxHN(Aoe2)sTlb#F>0rK=f=rz|oyo|()HrB9{{!>O^c%*e?_59H(H z=~OnI$fk}Br4x%jPV62V9~}e}h0KY>NNzYio;ki3hRr=oWYhVq|5pGRNezRgxrc+} zqr-*NSf((U9-qjJjNrBgY=@E=vrf$} zpp=Ab4|B78!=_`m)-jGdY~@V_P`av`LWe?>X%`(KsD||lY_MRP`R`<9Kn<&EPJpto zTNT>J{wS?ZXjZ!8R!fBX`M(DBBjs%+C4VPR%NwLmq>GY_uERs#bzX((z&;mjkSZ}u ztm7K>TyY|~M0Z?+xRv{uZI2(oShh{bXxGM8a>|>bj-AwTmBI2G8Eo_p!oWCj@%as4 z`K+p*sA-q#8aAq?ZLR|r)X31-+j1h* z`d}bg19qV;p5uqBqqgY3R4-!}0><(`=jZ<}`D@vQ{{NX&l-8jSQI41X+|SN#fw|{| zo0B%QrfGx2k@wKWN5OC*ieb~PdDI{cQx}(=V29=(0qc;jg1ryZHq3g>!n2X*oqss0 zWxb4Tn~2+WFz3mKz_Pdwz?`vXnBsO8*v)SSyRd|U9!7~pYGucUPza=0IP&5qunZDR zV43AwSQz^t)*PW1TF*TQ)<+{+7p`Auw)Oy+1vw-rD2v2Eo#F`EtL?S95=QO^BJ@{* zUTM9mb*fdE{+~d~d&;2vm3&URA-yT>MxUbzZie$dw0FYHFAGIo*pLlU#GXZyHE#-} zmvBuM2vw%+^d}fk(7zMt7E|*Qj9TxM%HIniwIw1ghn-6DTLCNX98EIS(kX!9lY%<@@?&5bRFh!e zdA4O%;jC)ZspG8oO>Z%%hXJD7w z{-IysTDV9z7na68hK;>7LM(s9LTuaKsO<$VltV!w4`07|)RfLZ?X} z+&b)>56AKHlME$Lshv7!6WVm#iUtSO#vVozoC!N6h3~aiFYNp?yBT+Od4k!_UEs04 zi;+9-Yy4#_!=c>NS^wXTlsA+e@~3iE`dxZe+JxRk+rt9TJOuNAe2pFXFmd=3X%9gd z`q^h0ICkhe1TToa@eD)9j(tQl3%+xZQ3U_=83rgU4G}4eq>|BhyKeDoAk#|41B@c* zSsb_clt3&MpI%-Ln;@Z6`xz&;S_+qm?~gB+8cD|JygNlqvbH_M`hOKE*Ofi;$MO;B z3uy>_gQ{Wn-^pL}0dUe&)!2cwF!le30)$Z<$(a`!BzC!)hr|tK>&@m7MvlFPos-!P zYrMd~u@zP4;JLF}^ZDC$n7^K3iD=VQmk$FNT2gFH6=o!ViI)&n)BOw?TU13vf*=o7 zmH8ZF#a2~OS@W`r_5ZC%c}vmcFXbHce;56QuA!}SiC;OzRyelTQFqotx2I1sSZuc= z!{+^-8Dy;GuM+Ko@=BVKW2>5|UbZLA0$D>&Fm`NN6P3+$P3<_t#MU)YF^hx^IdBDQ{QQ@cYY4tpu9XO^MBqP+fSX}SA6wPTSC`nb F<{wOB6H@>H literal 0 HcmV?d00001 diff --git a/capi/res/dbspace/wrt_mapping_db_generator.sh b/capi/res/dbspace/wrt_mapping_db_generator.sh new file mode 100755 index 0000000..16f0cca --- /dev/null +++ b/capi/res/dbspace/wrt_mapping_db_generator.sh @@ -0,0 +1,53 @@ +#!/bin/bash + +DB_NAME="wrt_privilege_mapping.db" + +rm $DB_NAME 2> /dev/null +echo "Creating $DB_NAME ..." +touch $DB_NAME + +echo "Creating PRIVILEGE_MAPPING table ..." +sqlite3 $DB_NAME "CREATE TABLE PRIVILEGE_MAPPING (PROFILE_ID NUMERIC, PROFILE TEXT, PRIVILEGE_NAME TEXT, FROM_API_VERSION TEXT, TO_API_VERSION TEXT, MAPPED_PRIVILEGE_NAME TEXT);" + +echo "Inserting data ..." +IFS=$'\n' +for i in `cat wrt_privilege_mapping.csv` +do + temp=`echo $i | awk '/^#/'` + if [ ! "$temp" = "" ] + then + continue + fi + + PROFILE=`echo $i | cut -d "," -f 1` + #echo PROFILE = $PROFILE + + if [ "$PROFILE" = "common" ] + then + PROFILE_ID=0 + + elif [ "$PROFILE" = "mobile" ] + then + PROFILE_ID=1 + + elif [ "$PROFILE" = "wearable" ] + then + PROFILE_ID=2 + + else + echo "Fail to create table : PROFILE must be common, mobile or wearable" + exit + fi + + PRIVILEGE_NAME=`echo $i | cut -d "," -f 2` + FROM_API_VERSION=`echo $i | cut -d "," -f 3` + TO_API_VERSION=`echo $i | cut -d "," -f 4` + MAPPED_PRIVILEGE_NAME=`echo $i | cut -d "," -f 5` + + echo "Inserting $PRIVILEGE_NAME $MAPPED_PRIVILEGE_NAME..." + + sqlite3 $DB_NAME "insert into privilege_mapping values ( $PROFILE_ID, '$PROFILE', '$PRIVILEGE_NAME','$FROM_API_VERSION', '$TO_API_VERSION', '$MAPPED_PRIVILEGE_NAME')" +done + +echo "Check inserted data" +sqlite3 $DB_NAME "select * from privilege_mapping" diff --git a/capi/res/dbspace/wrt_privilege_mapping.csv b/capi/res/dbspace/wrt_privilege_mapping.csv new file mode 100644 index 0000000..86e6ef5 --- /dev/null +++ b/capi/res/dbspace/wrt_privilege_mapping.csv @@ -0,0 +1,161 @@ +#PROFILE,#PRIVILEGE_NAME,#FROM,#TO,#MAPPED_PRIVILEGE_NAME, +mobile,http://tizen.org/privilege/account.read,2.3,9.9,http://tizen.org/privilege/account.read, +mobile,http://tizen.org/privilege/account.read,2.3,9.9,http://tizen.org/privilege/internal/buxton/account.read, +mobile,http://tizen.org/privilege/account.write,2.3,9.9,http://tizen.org/privilege/account.write, +mobile,http://tizen.org/privilege/account.write,2.3,9.9,http://tizen.org/privilege/internal/buxton/account.read, +common,http://tizen.org/privilege/alarm,1,9.9,http://tizen.org/privilege/alarm.get, +common,http://tizen.org/privilege/alarm,1,9.9,http://tizen.org/privilege/alarm.set, +common,http://tizen.org/privilege/application.info,2.2,9.9,http://tizen.org/privilege/packagemanager.info, +common,http://tizen.org/privilege/application.launch,1,9.9,http://tizen.org/privilege/appmanager.launch, +common,http://tizen.org/privilege/appmanager.certificate,2.1,9.9,http://tizen.org/privilege/notexist, +common,http://tizen.org/privilege/appmanager.kill,2.1,9.9,http://tizen.org/privilege/appmanager.kill, +wearable,http://tizen.org/privilege/audiorecorder,2.3,9.9,http://tizen.org/privilege/recorder, +wearable,http://tizen.org/privilege/audiorecorder,2.3,9.9,http://tizen.org/privilege/internal/buxton/camcorder, +common,http://tizen.org/privilege/bluetooth,2.4,9.9,http://tizen.org/privilege/bluetooth, +mobile,http://tizen.org/privilege/bluetooth.admin,1,2.3.1,http://tizen.org/privilege/bluetooth,Bluetooth.* was changed to bluetooth +wearable,http://tizen.org/privilege/bluetooth.admin,2.3.1,2.3.1,http://tizen.org/privilege/bluetooth,Bluetooth.* was changed to bluetooth +mobile,http://tizen.org/privilege/bluetooth.gap,1,2.3.1,http://tizen.org/privilege/bluetooth,Bluetooth.* was changed to bluetooth +wearable,http://tizen.org/privilege/bluetooth.gap,2.3.1,2.3.1,http://tizen.org/privilege/bluetooth,Bluetooth.* was changed to bluetooth +mobile,http://tizen.org/privilege/bluetooth.health,2.2,2.3.1,http://tizen.org/privilege/bluetooth,Bluetooth.* was changed to bluetooth +wearable,http://tizen.org/privilege/bluetooth.health,2.3.1,2.3.1,http://tizen.org/privilege/bluetooth,Bluetooth.* was changed to bluetooth +mobile,http://tizen.org/privilege/bluetooth.spp,1,2.3.1,http://tizen.org/privilege/bluetooth,Bluetooth.* was changed to bluetooth +wearable,http://tizen.org/privilege/bluetooth.spp,2.3.1,2.3.1,http://tizen.org/privilege/bluetooth,Bluetooth.* was changed to bluetooth +mobile,http://tizen.org/privilege/bluetoothmanager,2.1,9.9,http://tizen.org/privilege/bluetooth.admin, +wearable,http://tizen.org/privilege/bluetoothmanager,2.3.1,9.9,http://tizen.org/privilege/bluetooth.admin, +mobile,http://tizen.org/privilege/bookmark.read,2.1,9.9,http://tizen.org/privilege/bookmark.admin, +mobile,http://tizen.org/privilege/bookmark.write,2.1,9.9,http://tizen.org/privilege/bookmark.admin, +mobile,http://tizen.org/privilege/calendar.read,1,9.9,http://tizen.org/privilege/calendar.read, +mobile,http://tizen.org/privilege/calendar.write,1,9.9,http://tizen.org/privilege/calendar.write, +mobile,http://tizen.org/privilege/calendar.write,1,9.9,http://tizen.org/privilege/calendar.read, +common,http://tizen.org/privilege/call,2.3,9.9,http://tizen.org/privilege/call, +mobile,http://tizen.org/privilege/callhistory.read,2,9.9,http://tizen.org/privilege/callhistory.read, +mobile,http://tizen.org/privilege/callhistory.read,2,9.9,http://tizen.org/privilege/contact.read, +mobile,http://tizen.org/privilege/callhistory.read,2,9.9,http://tizen.org/privilege/telephony, +mobile,http://tizen.org/privilege/callhistory.write,2,9.9,http://tizen.org/privilege/callhistory.read, +mobile,http://tizen.org/privilege/callhistory.write,2,9.9,http://tizen.org/privilege/callhistory.write, +mobile,http://tizen.org/privilege/callhistory.write,2,9.9,http://tizen.org/privilege/contact.read, +mobile,http://tizen.org/privilege/callhistory.write,2,9.9,http://tizen.org/privilege/contact.write, +wearable,http://tizen.org/privilege/camera,2.3,9.9,http://tizen.org/privilege/camera, +wearable,http://tizen.org/privilege/camera,2.3,9.9,http://tizen.org/privilege/recorder, +wearable,http://tizen.org/privilege/camera,2.3,9.9,http://tizen.org/privilege/internal/buxton/camcorder, +mobile,http://tizen.org/privilege/contact.read,1,9.9,http://tizen.org/privilege/contact.read, +mobile,http://tizen.org/privilege/contact.write,1,9.9,http://tizen.org/privilege/contact.write, +common,http://tizen.org/privilege/content.read,2,9.9,http://tizen.org/privilege/content.write, +common,http://tizen.org/privilege/content.write,2,9.9,http://tizen.org/privilege/content.write, +mobile,http://tizen.org/privilege/datacontrol.consumer,2.1,9.9,http://tizen.org/privilege/appmanager.launch, +mobile,http://tizen.org/privilege/datacontrol.consumer,2.1,9.9,http://tizen.org/privilege/datasharing, +mobile,http://tizen.org/privilege/datasync,2.1,9.9,http://tizen.org/privilege/notexist, +common,http://tizen.org/privilege/download,2,9.9,http://tizen.org/privilege/download, +common,http://tizen.org/privilege/filesystem.read,1,9.9,http://tizen.org/privilege/systemsettings.admin, +common,http://tizen.org/privilege/filesystem.write,1,9.9,http://tizen.org/privilege/systemsettings.admin, +mobile,http://tizen.org/privilege/fullscreen,2.1,9.9,http://tizen.org/privilege/notexist, +common,http://tizen.org/privilege/healthinfo,2.3,9.9,http://tizen.org/privilege/healthinfo, +common,http://tizen.org/privilege/internet,2.3,9.9,http://tizen.org/privilege/internet, +common,http://tizen.org/privilege/ime,2.4,9.9,http://tizen.org/privilege/ime, +mobile,http://tizen.org/privilege/led,2.4,9.9,http://tizen.org/privilege/led, +common,http://tizen.org/privilege/location,2.1,9.9,http://tizen.org/privilege/location, +common,http://tizen.org/privilege/location,2.4,9.9,http://tizen.org/privilege/internal/buxton/location, +common,http://tizen.org/privilege/mediacapture,2.1,9.9,http://tizen.org/privilege/camera, +common,http://tizen.org/privilege/mediacapture,2.1,9.9,http://tizen.org/privilege/internal/buxton/camcorder, +common,http://tizen.org/privilege/mediacapture,2.1,9.9,http://tizen.org/privilege/recorder, +common,http://tizen.org/privilege/mediacontroller.client,2.4,9.9,http://tizen.org/privilege/mediacontroller.client, +common,http://tizen.org/privilege/mediacontroller.server,2.4,9.9,http://tizen.org/privilege/mediacontroller.server, +mobile,http://tizen.org/privilege/messaging.read,1,9.9,http://tizen.org/privilege/email, +mobile,http://tizen.org/privilege/messaging.read,1,9.9,http://tizen.org/privilege/internal/buxton/message.read, +mobile,http://tizen.org/privilege/messaging.read,1,9.9,http://tizen.org/privilege/mediastorage, +mobile,http://tizen.org/privilege/messaging.read,1,9.9,http://tizen.org/privilege/message.read, +mobile,http://tizen.org/privilege/messaging.write,1,9.9,http://tizen.org/privilege/email,"may requires http://tizen.org/privilege/callhistory.read, http://tizen.org/privilege/callhistory.write, http://tizen.org/privilege/contact.read, or http://tizen.org/privilege/contact.write" +mobile,http://tizen.org/privilege/messaging.write,1,9.9,http://tizen.org/privilege/telephony, +mobile,http://tizen.org/privilege/messaging.write,1,9.9,http://tizen.org/privilege/message.read, +mobile,http://tizen.org/privilege/messaging.write,1,9.9,http://tizen.org/privilege/message.write, +mobile,http://tizen.org/privilege/messaging.write,1,9.9,http://tizen.org/privilege/mediastorage, +mobile,http://tizen.org/privilege/messaging.write,1,9.9,http://tizen.org/privilege/internal/buxton/message.read, +mobile,http://tizen.org/privilege/networkbearerselection,2.1,9.9,http://tizen.org/privilege/network.set, +mobile,http://tizen.org/privilege/nfc.admin,2,9.9,http://tizen.org/privilege/internal/buxton/nfc, +mobile,http://tizen.org/privilege/nfc.admin,2,9.9,http://tizen.org/privilege/internal/buxton/nfc.cardemulation, +mobile,http://tizen.org/privilege/nfc.admin,2,9.9,http://tizen.org/privilege/nfc.admin, +mobile,http://tizen.org/privilege/nfc.admin,2,9.9,http://tizen.org/privilege/secureelement, +wearable,http://tizen.org/privilege/nfc.admin,2.3.1,9.9,http://tizen.org/privilege/internal/buxton/nfc, +wearable,http://tizen.org/privilege/nfc.admin,2.3.1,9.9,http://tizen.org/privilege/internal/buxton/nfc.cardemulation, +wearable,http://tizen.org/privilege/nfc.admin,2.3.1,9.9,http://tizen.org/privilege/nfc.admin, +wearable,http://tizen.org/privilege/nfc.admin,2.3.1,9.9,http://tizen.org/privilege/secureelement, +mobile,http://tizen.org/privilege/nfc.cardemulation,2.3,9.9,http://tizen.org/privilege/internal/buxton/nfc.cardemulation, +mobile,http://tizen.org/privilege/nfc.cardemulation,2.3,9.9,http://tizen.org/privilege/nfc.cardemulation, +wearable,http://tizen.org/privilege/nfc.cardemulation,2.3.1,9.9,http://tizen.org/privilege/internal/buxton/nfc.cardemulation, +wearable,http://tizen.org/privilege/nfc.cardemulation,2.3.1,9.9,http://tizen.org/privilege/nfc.cardemulation, +mobile,http://tizen.org/privilege/nfc.common,2,9.9,http://tizen.org/privilege/internal/buxton/nfc, +mobile,http://tizen.org/privilege/nfc.common,2,9.9,http://tizen.org/privilege/nfc, +mobile,http://tizen.org/privilege/nfc.common,2,9.9,http://tizen.org/privilege/secureelement, +wearable,http://tizen.org/privilege/nfc.common,2.3.1,9.9,http://tizen.org/privilege/internal/buxton/nfc, +wearable,http://tizen.org/privilege/nfc.common,2.3.1,9.9,http://tizen.org/privilege/nfc, +wearable,http://tizen.org/privilege/nfc.common,2.3.1,9.9,http://tizen.org/privilege/secureelement, +mobile,http://tizen.org/privilege/nfc.p2p,1,9.9,http://tizen.org/privilege/internal/buxton/nfc, +mobile,http://tizen.org/privilege/nfc.p2p,1,9.9,http://tizen.org/privilege/nfc, +mobile,http://tizen.org/privilege/nfc.p2p,1,9.9,http://tizen.org/privilege/secureelement, +wearable,http://tizen.org/privilege/nfc.p2p,2.3.1,9.9,http://tizen.org/privilege/internal/buxton/nfc, +wearable,http://tizen.org/privilege/nfc.p2p,2.3.1,9.9,http://tizen.org/privilege/nfc, +wearable,http://tizen.org/privilege/nfc.p2p,2.3.1,9.9,http://tizen.org/privilege/secureelement, +mobile,http://tizen.org/privilege/nfc.tag,1,9.9,http://tizen.org/privilege/internal/buxton/nfc, +mobile,http://tizen.org/privilege/nfc.tag,1,9.9,http://tizen.org/privilege/nfc, +mobile,http://tizen.org/privilege/nfc.tag,1,9.9,http://tizen.org/privilege/secureelement, +wearable,http://tizen.org/privilege/nfc.tag,2.3.1,9.9,http://tizen.org/privilege/internal/buxton/nfc, +wearable,http://tizen.org/privilege/nfc.tag,2.3.1,9.9,http://tizen.org/privilege/nfc, +wearable,http://tizen.org/privilege/nfc.tag,2.3.1,9.9,http://tizen.org/privilege/secureelement, +common,http://tizen.org/privilege/notification,2.1,9.9,http://tizen.org/privilege/notification, +common,http://tizen.org/privilege/notification,2.1,9.9,http://tizen.org/privilege/packagemanager.info, +common,http://tizen.org/privilege/package.info,2.1,9.9,http://tizen.org/privilege/packagemanager.info, +common,http://tizen.org/privilege/packagemanager.install,2.1,9.9,http://tizen.org/privilege/packagemanager.admin, +common,http://tizen.org/privilege/power,2,9.9,http://tizen.org/privilege/display, +mobile,http://tizen.org/privilege/push,2.1,9.9,http://tizen.org/privilege/push, +wearable,http://tizen.org/privilege/push,2.3.1,9.9,http://tizen.org/privilege/push, +mobile,http://tizen.org/privilege/secureelement,2.1,9.9,http://tizen.org/privilege/secureelement, +wearable,http://tizen.org/privilege/secureelement,2.3.1,9.9,http://tizen.org/privilege/secureelement, +common,http://tizen.org/privilege/setting,2,9.9,http://tizen.org/privilege/systemsettings.admin, +common,http://tizen.org/privilege/system,2.1,9.9,http://tizen.org/privilege/telephony, +common,http://tizen.org/privilege/systemmanager,2.1,2.3,http://tizen.org/privilege/telephony, +common,http://tizen.org/privilege/telephony,2.3.1,9.9,http://tizen.org/privilege/telephony, +common,http://tizen.org/privilege/unlimitedstorage,2.1,9.9,http://tizen.org/privilege/notexist, +common,http://tizen.org/privilege/volume.set,2.3,9.9,http://tizen.org/privilege/volume.set, +mobile,http://tizen.org/privilege/websetting,2.2,2.3.1,http://tizen.org/privilege/notexist, +common,http://tizen.org/privilege/internal/default/public,2.2.1,2.3.1,http://tizen.org/privilege/internal/buxton/location, +common,http://tizen.org/privilege/internal/default/public,2.2.1,9.9,http://tizen.org/privilege/internal/default/public, +common,http://tizen.org/privilege/internal/default/public,2.2.1,2.2.1,http://tizen.org/privilege/call, +common,http://tizen.org/privilege/internal/default/public,2.2.1,2.2.1,http://tizen.org/privilege/internet, +common,http://tizen.org/privilege/internal/default/public,2.2.1,2.2.1,http://tizen.org/privilege/recorder, +wearable,http://tizen.org/privilege/internal/default/public,2.2.1,2.2.1,http://tizen.org/privilege/camera, +common,http://tizen.org/privilege/internal/default/public,2.2.1,9.9,http://tizen.org/privilege/appmanager.launch, +common,http://tizen.org/privilege/internal/default/public,2.2.1,9.9,http://tizen.org/privilege/haptic, +common,http://tizen.org/privilege/internal/default/public,2.2.1,9.9,http://tizen.org/privilege/internal/buxton/network.get, +common,http://tizen.org/privilege/internal/default/public,2.2.1,9.9,http://tizen.org/privilege/internal/buxton/telephony, +common,http://tizen.org/privilege/internal/default/public,2.2.1,9.9,http://tizen.org/privilege/network.get, +common,http://tizen.org/privilege/internal/default/public,2.2.1,9.9,http://tizen.org/privilege/notification, +common,http://tizen.org/privilege/internal/default/public,2.2.1,9.9,http://tizen.org/privilege/packagemanager.info, +common,http://tizen.org/privilege/internal/default/partner,2.2.1,2.3.1,http://tizen.org/privilege/internal/buxton/location, +common,http://tizen.org/privilege/internal/default/partner,2.2.1,9.9,http://tizen.org/privilege/internal/default/public, +common,http://tizen.org/privilege/internal/default/partner,2.2.1,9.9,http://tizen.org/privilege/internal/default/partner, +common,http://tizen.org/privilege/internal/default/partner,2.2.1,2.2.1,http://tizen.org/privilege/call, +common,http://tizen.org/privilege/internal/default/partner,2.2.1,2.2.1,http://tizen.org/privilege/internet, +common,http://tizen.org/privilege/internal/default/partner,2.2.1,2.2.1,http://tizen.org/privilege/recorder, +wearable,http://tizen.org/privilege/internal/default/partner,2.2.1,2.2.1,http://tizen.org/privilege/camera, +common,http://tizen.org/privilege/internal/default/partner,2.2.1,9.9,http://tizen.org/privilege/appmanager.launch, +common,http://tizen.org/privilege/internal/default/partner,2.2.1,9.9,http://tizen.org/privilege/haptic, +common,http://tizen.org/privilege/internal/default/partner,2.2.1,9.9,http://tizen.org/privilege/internal/buxton/network.get, +common,http://tizen.org/privilege/internal/default/partner,2.2.1,9.9,http://tizen.org/privilege/internal/buxton/telephony, +common,http://tizen.org/privilege/internal/default/partner,2.2.1,9.9,http://tizen.org/privilege/network.get, +common,http://tizen.org/privilege/internal/default/partner,2.2.1,9.9,http://tizen.org/privilege/notification, +common,http://tizen.org/privilege/internal/default/partner,2.2.1,9.9,http://tizen.org/privilege/packagemanager.info, +common,http://tizen.org/privilege/internal/default/platform,2.2.1,2.3.1,http://tizen.org/privilege/internal/buxton/location, +common,http://tizen.org/privilege/internal/default/platform,2.2.1,9.9,http://tizen.org/privilege/internal/default/public, +common,http://tizen.org/privilege/internal/default/platform,2.2.1,9.9,http://tizen.org/privilege/internal/default/partner, +common,http://tizen.org/privilege/internal/default/platform,2.2.1,9.9,http://tizen.org/privilege/internal/default/platform, +common,http://tizen.org/privilege/internal/default/platform,2.2.1,2.2.1,http://tizen.org/privilege/call, +common,http://tizen.org/privilege/internal/default/platform,2.2.1,2.2.1,http://tizen.org/privilege/internet, +common,http://tizen.org/privilege/internal/default/platform,2.2.1,2.2.1,http://tizen.org/privilege/recorder, +wearable,http://tizen.org/privilege/internal/default/platform,2.2.1,2.2.1,http://tizen.org/privilege/camera, +common,http://tizen.org/privilege/internal/default/platform,2.2.1,9.9,http://tizen.org/privilege/appmanager.launch, +common,http://tizen.org/privilege/internal/default/platform,2.2.1,9.9,http://tizen.org/privilege/haptic, +common,http://tizen.org/privilege/internal/default/platform,2.2.1,9.9,http://tizen.org/privilege/internal/buxton/network.get, +common,http://tizen.org/privilege/internal/default/platform,2.2.1,9.9,http://tizen.org/privilege/internal/buxton/telephony, +common,http://tizen.org/privilege/internal/default/platform,2.2.1,9.9,http://tizen.org/privilege/network.get, +common,http://tizen.org/privilege/internal/default/platform,2.2.1,9.9,http://tizen.org/privilege/notification, +common,http://tizen.org/privilege/internal/default/platform,2.2.1,9.9,http://tizen.org/privilege/packagemanager.info, diff --git a/capi/res/dbspace/wrt_privilege_mapping.db b/capi/res/dbspace/wrt_privilege_mapping.db new file mode 100644 index 0000000000000000000000000000000000000000..9e8dcd9e9ed1ee31e158b16c71cbd8253dad8558 GIT binary patch literal 20480 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 literal 0 HcmV?d00001 diff --git a/capi/src/privilege_db_manager.c b/capi/src/privilege_db_manager.c index 70ee4bd..acad59c 100755 --- a/capi/src/privilege_db_manager.c +++ b/capi/src/privilege_db_manager.c @@ -5,6 +5,8 @@ #include #define PRIVILEGE_INFO_CORE_DB_PATH "/usr/share/privilege-manager/.core_privilege_info.db" #define PRIVILEGE_INFO_WRT_DB_PATH "/usr/share/privilege-manager/.wrt_privilege_info.db" +#define PRIVILEGE_MAPPING_CORE_DB_PATH "/usr/share/privilege-manager/.core_privilege_mapping.db" +#define PRIVILEGE_MAPPING_WRT_DB_PATH "/usr/share/privilege-manager/.wrt_privilege_mapping.db" #ifdef LOG_TAG #undef LOG_TAG @@ -56,6 +58,27 @@ int __initialize_db(sqlite3** db, privilege_db_manager_package_type_e package_ty } return PRIVILEGE_DB_MANAGER_ERR_NONE; } + +int __initialize_mapping_db(sqlite3** db, privilege_db_manager_package_type_e package_type) +{ + char* db_path = NULL; + + if(package_type == PRIVILEGE_DB_MANAGER_PACKAGE_TYPE_CORE){ + db_path = PRIVILEGE_MAPPING_CORE_DB_PATH; + }else{ + db_path = PRIVILEGE_MAPPING_WRT_DB_PATH; + } + + int ret = sqlite3_open_v2(db_path, db, SQLITE_OPEN_READONLY, NULL); + if(ret != SQLITE_OK) + { + LOGE("[DB_FAIL] Can't open database %s : %s", db_path, sqlite3_errmsg(*db)); + sqlite3_close(*db); + return PRIVILEGE_DB_MANAGER_ERR_CONNECTION_FAIL; + } + return PRIVILEGE_DB_MANAGER_ERR_NONE; +} + void __finalize_db(sqlite3* db, sqlite3_stmt* stmt) { if(stmt != NULL) @@ -111,7 +134,7 @@ int privilege_db_manager_get_privilege_list(const char* api_version, privilege_d if(ret == SQLITE_ROW) { privilege_info_db_row_s* privilege_info_db_row = (privilege_info_db_row_s*)malloc(sizeof(privilege_info_db_row_s)); - TryReturn(privilege_info_db_row != NULL, free(privilege_info_db_row), PRIVILEGE_DB_MANAGER_ERR_OUT_OF_MEMORY, "[PRIVILEGE_DB_MANAGER_ERR_OUT_OF_MEMORY] privilege_name's strdup is failed."); + TryReturn(privilege_info_db_row != NULL, free(privilege_info_db_row), PRIVILEGE_DB_MANAGER_ERR_OUT_OF_MEMORY, "[PRIVILEGE_DB_MANAGER_ERR_OUT_OF_MEMORY] privilege_info_db_row's malloc is failed."); privilege_info_db_row->profile = NULL; privilege_info_db_row->package_type = NULL; @@ -150,6 +173,68 @@ 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) +{ + sqlite3* db = NULL; + sqlite3_stmt* stmt = NULL; + int ret; + + ret = __initialize_mapping_db(&db, package_type); + if(ret != PRIVILEGE_DB_MANAGER_ERR_NONE) + return ret; + + GList* temp_privilege_list = NULL; + + char* privilege_list_str = NULL; + GList* l; + for (l = privilege_list; l != NULL; l = l->next) { + char* privilege_name = (char*)l->data; + if (privilege_list_str == NULL) { + size_t size = snprintf(0, 0, "'%s'", privilege_name) + 1; + privilege_list_str = (char*)malloc(size*sizeof(char)); + TryReturn(privilege_list_str != NULL,, PRIVILEGE_DB_MANAGER_ERR_OUT_OF_MEMORY, "[PRIVILEGE_DB_MANAGER_ERR_OUT_OF_MEMORY] privilege_list_str's malloc is failed."); + snprintf(privilege_list_str, size, "'%s'", privilege_name); + LOGD("privilege_list_str = %s", privilege_list_str); + } else { + size_t new_size = snprintf(0, 0, "%s, '%s'", privilege_list_str, privilege_name) + 1; + privilege_list_str = realloc(privilege_list_str, new_size*sizeof(char)); + TryReturn(privilege_list_str != NULL, free(privilege_list_str), PRIVILEGE_DB_MANAGER_ERR_OUT_OF_MEMORY, "[PRIVILEGE_DB_MANAGER_ERR_OUT_OF_MEMORY] privilege_list_str's realloc is failed."); + strncat(privilege_list_str, ", '", strlen(", '")); + strncat(privilege_list_str, privilege_name, strlen(privilege_name)); + strncat(privilege_list_str, "'", strlen("'")); + LOGD("privilege_list_str = %s", privilege_list_str); + } + } + + char* sql = sqlite3_mprintf("select distinct mapped_privilege_name from privilege_mapping where privilege_name in (%s) and (profile_id=%d or profile_id=%d) and from_api_version<=%Q and to_api_version>=%Q", privilege_list_str, PRIVILEGE_DB_MANAGER_PROFILE_TYPE_COMMON, g_privilege_db_manager_profile_type, api_version, api_version); + free(privilege_list_str); + + ret = sqlite3_prepare_v2(db, sql, strlen(sql), &stmt, NULL); + if(ret != SQLITE_OK) + { + LOGE("[DB_FAIL] fail to prepare database : %s", sqlite3_errmsg(db)); + sqlite3_close(db); + return PRIVILEGE_DB_MANAGER_ERR_INVALID_QUERY; + } + + do{ + ret = sqlite3_step(stmt); + if(ret == SQLITE_ROW) + { + char* privilege_name = strdup((char*)sqlite3_column_text(stmt,0)); + temp_privilege_list = g_list_append(temp_privilege_list, privilege_name); + } + }while (ret == SQLITE_ROW); + + *mapped_privilege_list = temp_privilege_list; + + __finalize_db(db, stmt); + + return PRIVILEGE_DB_MANAGER_ERR_NONE; +} + + 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) { sqlite3* db = NULL; diff --git a/capi/src/privilege_manager.c b/capi/src/privilege_manager.c index 7ee796c..0fe8fe2 100755 --- a/capi/src/privilege_manager.c +++ b/capi/src/privilege_manager.c @@ -165,6 +165,33 @@ const char* __get_privilege_level_string(privilege_db_manager_privilege_level_e } } +int __check_api_version_validity(const char* api_version) { + + int i; + int is_vaild_version_type = 1; + int api_version_size = strlen(api_version); + if( api_version_size % 2 == 1 && (3 <= api_version_size && api_version_size <= 7) ){ + for(i=0; i #include +#include #define BRIGHTNESS 0 #define RED 31 @@ -100,6 +101,161 @@ void __test_privilege_db_manager_get_privilege_list(){ success_cnt++; } +void __test_privilege_db_manager_get_mapped_privilege_list(){ + GList* privilege_list; + GList* mapped_privilege_list; + GList* l; + int ret; + + printf("-----------------------------------------------------------\n"); + printf("privilege : http://tizen.org/privilege/internal/default/public\n"); + 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); + + for (l = mapped_privilege_list; l != NULL; l = l->next) { + char* privilege_name = (char*)l->data; + printf("mapped_privilege_name = %s\n", privilege_name); + } + + g_list_free(privilege_list); + privilege_list = NULL; + g_list_free(mapped_privilege_list); + mapped_privilege_list = NULL; + + printf("-----------------------------------------------------------\n"); + printf("privilege : http://tizen.org/privilege/mediacapture\n"); + 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); + for (l = mapped_privilege_list; l != NULL; l = l->next) { + char* privilege_name = (char*)l->data; + printf("mapped_privilege_name = %s\n", privilege_name); + } + + g_list_free(privilege_list); + privilege_list = NULL; + g_list_free(mapped_privilege_list); + mapped_privilege_list = NULL; + + printf("-----------------------------------------------------------\n"); + printf("privilege : http://tizen.org/privilege/internal/default/public\n"); + printf("privilege : http://tizen.org/privilege/mediacapture\n"); + 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"); + 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); + + for (l = mapped_privilege_list; l != NULL; l = l->next) { + char* privilege_name = (char*)l->data; + printf("mapped_privilege_name = %s\n", privilege_name); + } + + g_list_free(privilege_list); + privilege_list = NULL; + g_list_free(mapped_privilege_list); + mapped_privilege_list = NULL; + + printf("-----------------------------------------------------------\n"); + printf("privilege : http://tizen.org/privilege/internal/default/public\n"); + 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); + + for (l = mapped_privilege_list; l != NULL; l = l->next) { + char* privilege_name = (char*)l->data; + printf("mapped_privilege_name = %s\n", privilege_name); + } + + g_list_free(privilege_list); + privilege_list = NULL; + g_list_free(mapped_privilege_list); + mapped_privilege_list = NULL; + + printf("-----------------------------------------------------------\n"); + printf("privilege : http://tizen.org/privilege/mediacapture\n"); + 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); + for (l = mapped_privilege_list; l != NULL; l = l->next) { + char* privilege_name = (char*)l->data; + printf("mapped_privilege_name = %s\n", privilege_name); + } + + g_list_free(privilege_list); + privilege_list = NULL; + g_list_free(mapped_privilege_list); + mapped_privilege_list = NULL; + + printf("-----------------------------------------------------------\n"); + printf("privilege : http://tizen.org/privilege/content.read\n"); + 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); + for (l = mapped_privilege_list; l != NULL; l = l->next) { + char* privilege_name = (char*)l->data; + printf("mapped_privilege_name = %s\n", privilege_name); + } + + g_list_free(privilege_list); + privilege_list = NULL; + g_list_free(mapped_privilege_list); + mapped_privilege_list = NULL; + + printf("-----------------------------------------------------------\n"); + printf("privilege : http://tizen.org/privilege/internal/webappdefault\n"); + printf("privilege : http://tizen.org/privilege/internal/default/public\n"); + printf("privilege : http://tizen.org/privilege/mediacapture\n"); + printf("privilege : http://tizen.org/privilege/content.read\n"); + printf("api_version : 2.2.1\n"); + printf("package type : wrt\n"); + privilege_list = g_list_append(privilege_list, "http://tizen.org/privilege/internal/webappdefault"); + 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); + + for (l = mapped_privilege_list; l != NULL; l = l->next) { + char* privilege_name = (char*)l->data; + printf("mapped_privilege_name = %s\n", privilege_name); + } + + printf("-----------------------------------------------------------\n"); + printf("Compare with security_manager_get_privileges_mapping(const char *from_version, const char *to_version, char const * const *privileges, size_t privileges_count, char ***privileges_mappings, size_t *mappings_count)\n"); + + printf("privilege : http://tizen.org/privilege/internal/default/public\n"); + printf("privilege : http://tizen.org/privilege/mediacapture\n"); + printf("privilege : http://tizen.org/privilege/content.read\n"); + printf("privilege : http://tizen.org/privilege/internal/webappdefault\n"); + + char** input_privileges = (char**)malloc(sizeof(char*)*20); + size_t input_size = 0; + input_privileges[input_size++] = strdup("http://tizen.org/privilege/internal/webappdefault"); + input_privileges[input_size++] = strdup("http://tizen.org/privilege/internal/default/public"); + input_privileges[input_size++] = strdup("http://tizen.org/privilege/mediacapture"); + input_privileges[input_size++] = strdup("http://tizen.org/privilege/content.read"); + char** output_privileges = NULL; + size_t output_size; + ret = security_manager_get_privileges_mapping("2.2.1", "3.0", input_privileges, input_size, &output_privileges, &output_size); + int i; + printf("output_size = %d\n", output_size); + for (i = 0; i < output_size; i++) { + printf("mapped_privilege_name = %s\n", output_privileges[i]); + } + + + __change_color_to_green(); + printf("test success\n"); + __change_color_to_origin(); + success_cnt++; +} + void __check_get_privilege_display_result(privilege_db_manager_error_e expected_result, privilege_db_manager_error_e result, char* privilege_display) { printf("expected result = %s, result = %s\n", __get_result_string(expected_result), __get_result_string(result)); @@ -270,12 +426,17 @@ void __test_privilege_db_manager_get_privilege_description(){ int main() { - __change_color_to_yellow(); +/* __change_color_to_yellow(); printf("Test function : privilege_db_manager_get_privilege_list\n"); __change_color_to_origin(); - __test_privilege_db_manager_get_privilege_list(); + __test_privilege_db_manager_get_privilege_list();*/ - __change_color_to_yellow(); + __change_color_to_yellow(); + printf("Test function : privilege_db_manager_get_mapped_privilege_list\n"); + __change_color_to_origin(); + __test_privilege_db_manager_get_mapped_privilege_list(); + +/* __change_color_to_yellow(); printf("Test function : privilege_db_manager_get_privilege_display\n"); __change_color_to_origin(); __test_privilege_db_manager_get_privilege_display(); @@ -290,7 +451,7 @@ int main() printf("success : %d, ", success_cnt); __change_color_to_red(); printf("fail : %d\n", fail_cnt); - __change_color_to_origin(); + __change_color_to_origin();*/ return 0; } diff --git a/test/tc-privilege-manager.c b/test/tc-privilege-manager.c index 777cca3..c6979cb 100755 --- a/test/tc-privilege-manager.c +++ b/test/tc-privilege-manager.c @@ -90,6 +90,9 @@ static void __print_error_message(char* error_message) if (strstr(error_message, "MISMATCHED") != NULL) { strncat(err_type, "PRVMGR_ERR_MISMACHED_PRIVILEGE_LEVEL ", strlen("PRVMGR_ERR_MISMACHED_PRIVILEGE_LEVEL ")); } + if (strstr(error_message, "INVALID_PARAMETER") != NULL) { + strncat(err_type, "PRVMGR_ERR_INVALID_PARAMETER ", strlen("PRVMGR_ERR_INVALID_PARAMETER ")); + } if (strlen(err_type) == 0) { fail_cnt++; @@ -111,17 +114,15 @@ static void __print_error_message(char* error_message) } static const char* __get_result_string(privilege_manager_error_e ret){ - if(ret == PRVMGR_ERR_NONE){ + if (ret == PRVMGR_ERR_NONE) { return "PRVMGR_ERR_NONE"; - } - else if(ret == PRVMGR_ERR_INTERNAL_ERROR){ + } else if (ret == PRVMGR_ERR_INTERNAL_ERROR) { return "PRVMGR_ERR_INTERNAL_ERROR"; - } - else if(ret == PRVMGR_ERR_INVALID_PRIVILEGE){ + } else if (ret == PRVMGR_ERR_INVALID_PRIVILEGE) { return "PRVMGR_ERR_INVALID_PRIVILEGE"; - } - else - { + } else if (ret == PRVMGR_ERR_INVALID_PARAMETER) { + return "PRVMGR_ERR_INVALID_PARAMETER"; + } else { return "FAIL"; } } @@ -183,6 +184,16 @@ static void __print_dline() printf("===================================================================\n"); } +static void __print_privilege_list(GList* privilege_list) +{ + GList* l; + printf("Print mapped privilege list: \n"); + for (l = privilege_list; l != NULL; l = l->next){ + char* privilege_name = (char*)l->data; + printf("%s\n", privilege_name); + } +} + static void __check_verify_result(privilege_manager_error_e expected_result, privilege_manager_error_e result) { if(expected_result != result) @@ -198,11 +209,308 @@ static void __check_verify_result(privilege_manager_error_e expected_result, pri __change_color_to_origin(); } +static void __test_privilege_manager_get_mapped_privilege_list() +{ + int ret = 0; + GList* mapped_privilege_list; + + __tcinfo(goal, "api_version == NULL"); + __privinfo("http://tizen.org/privilege/internal/default/public", NULL, NULL); + __privinfo("http://tizen.org/privilege/account.read", NULL, NULL); + __privinfo("http://tizen.org/privilege/camera", NULL, NULL); + __tcinfo(expect, "PRVMGR_ERR_INVALID_PARAMETER"); + ret = privilege_manager_get_mapped_privilege_list(NULL, PRVMGR_PACKAGE_TYPE_CORE, privilege_list, &mapped_privilege_list); + __print_result(__get_result_string(ret)); + __check_verify_result(PRVMGR_ERR_INVALID_PARAMETER, ret); + __print_line(); + + g_list_free(privilege_list); + privilege_list = NULL; + __tcinfo(goal, "api_version == 2.3.4.5.1"); + __privinfo("http://tizen.org/privilege/internal/default/public", NULL, NULL); + __privinfo("http://tizen.org/privilege/account.read", NULL, NULL); + __privinfo("http://tizen.org/privilege/camera", NULL, NULL); + __tcinfo(expect, "PRVMGR_ERR_INVALID_PARAMETER"); + ret = privilege_manager_get_mapped_privilege_list("2.3.4.5.1", PRVMGR_PACKAGE_TYPE_CORE, privilege_list, &mapped_privilege_list); + __print_result(__get_result_string(ret)); + __check_verify_result(PRVMGR_ERR_INVALID_PARAMETER, ret); + __print_line(); + + g_list_free(privilege_list); + privilege_list = NULL; + + + g_list_free(privilege_list); + privilege_list = NULL; + __tcinfo(goal, "api_version == 2.3"); + __privinfo("http://tizen.org/privilege/wrong-privilege-name", NULL, NULL); + __tcinfo(expect, "PRVMGR_ERR_NONE"); + ret = privilege_manager_get_mapped_privilege_list("2.3", PRVMGR_PACKAGE_TYPE_CORE, privilege_list, &mapped_privilege_list); + __print_result(__get_result_string(ret)); + __check_verify_result(PRVMGR_ERR_NONE, ret); + if (mapped_privilege_list == NULL) printf("it's null\n"); + else printf("it's NOT null\n"); + __print_privilege_list(mapped_privilege_list); + __print_line(); + + g_list_free(privilege_list); + privilege_list = NULL; + +#ifdef PROFILE_TYPE_MOBILE + + /* 2.3 core - mobile */ + __print_dline(); + __change_to_bold_yellow(); + __tcinfo(api_version, "2.3"); + __tcinfo(pkg_type, "core"); + __change_color_to_origin(); + __print_dline(); + + __tcinfo(goal, "normal mapping"); + __privinfo("http://tizen.org/privilege/internal/default/public", NULL, NULL); + __privinfo("http://tizen.org/privilege/account.read", NULL, NULL); + __privinfo("http://tizen.org/privilege/camera", NULL, NULL); + __tcinfo(expect, "PRVMGR_ERR_NONE"); + ret = privilege_manager_get_mapped_privilege_list("2.3", PRVMGR_PACKAGE_TYPE_CORE, privilege_list, &mapped_privilege_list); + __print_result(__get_result_string(ret)); + __check_verify_result(PRVMGR_ERR_NONE, ret); + __print_privilege_list(mapped_privilege_list); + __print_line(); + + g_list_free(privilege_list); + privilege_list = NULL; + + __tcinfo(goal, "normal mapping"); + __privinfo("http://tizen.org/privilege/internal/default/public", NULL, NULL); + __privinfo("http://tizen.org/privilege/account.write", NULL, NULL); + __privinfo("http://tizen.org/privilege/nfc.admin", NULL, NULL); + __privinfo("http://tizen.org/privilege/contact.read", NULL, NULL); + __privinfo("http://tizen.org/privilege/calendar.read", NULL, NULL); + __tcinfo(expect, "PRVMGR_ERR_NONE"); + ret = privilege_manager_get_mapped_privilege_list("2.3", PRVMGR_PACKAGE_TYPE_CORE, privilege_list, &mapped_privilege_list); + __print_result(__get_result_string(ret)); + __check_verify_result(PRVMGR_ERR_NONE, ret); + __print_privilege_list(mapped_privilege_list); + __print_line(); + + g_list_free(privilege_list); + privilege_list = NULL; + + /* 2.2.1 wrt - mobile */ + __print_dline(); + __change_to_bold_yellow(); + __tcinfo(api_version, "2.2.1"); + __tcinfo(pkg_type, "wrt"); + __change_color_to_origin(); + __print_dline(); + + __tcinfo(goal, "normal mapping"); + __privinfo("http://tizen.org/privilege/internal/default/public", NULL, NULL); + __privinfo("http://tizen.org/privilege/account.write", NULL, NULL); + __privinfo("http://tizen.org/privilege/nfc.admin", NULL, NULL); + __privinfo("http://tizen.org/privilege/contact.read", NULL, NULL); + __privinfo("http://tizen.org/privilege/calendar.read", NULL, NULL); + __tcinfo(expect, "PRVMGR_ERR_NONE"); + ret = privilege_manager_get_mapped_privilege_list("2.2.1", PRVMGR_PACKAGE_TYPE_WRT, privilege_list, &mapped_privilege_list); + __print_result(__get_result_string(ret)); + __check_verify_result(PRVMGR_ERR_NONE, ret); + __print_privilege_list(mapped_privilege_list); + __print_line(); + + g_list_free(privilege_list); + privilege_list = NULL; + + + __tcinfo(goal, "normal mapping"); + __privinfo("http://tizen.org/privilege/internal/default/platform", NULL, NULL); + __privinfo("http://tizen.org/privilege/account.read", NULL, NULL); + __privinfo("http://tizen.org/privilege/nfc.admin", NULL, NULL); + __privinfo("http://tizen.org/privilege/contact.write", NULL, NULL); + __privinfo("http://tizen.org/privilege/datasync", NULL, NULL); + __tcinfo(expect, "PRVMGR_ERR_NONE"); + ret = privilege_manager_get_mapped_privilege_list("2.2.1", PRVMGR_PACKAGE_TYPE_WRT, privilege_list, &mapped_privilege_list); + __print_result(__get_result_string(ret)); + __check_verify_result(PRVMGR_ERR_NONE, ret); + __print_privilege_list(mapped_privilege_list); + __print_line(); + + g_list_free(privilege_list); + privilege_list = NULL; + + + __tcinfo(goal, "normal mapping"); + __privinfo("http://tizen.org/privilege/internal/default/public", NULL, NULL); + __privinfo("http://tizen.org/privilege/content.read", NULL, NULL); + __privinfo("http://tizen.org/privilege/nfc.p2p", NULL, NULL); + __privinfo("http://tizen.org/privilege/call", NULL, NULL); + __privinfo("http://tizen.org/privilege/internet", NULL, NULL); + __tcinfo(expect, "PRVMGR_ERR_NONE"); + ret = privilege_manager_get_mapped_privilege_list("2.2.1", PRVMGR_PACKAGE_TYPE_WRT, privilege_list, &mapped_privilege_list); + __print_result(__get_result_string(ret)); + __check_verify_result(PRVMGR_ERR_NONE, ret); + __print_privilege_list(mapped_privilege_list); + __print_line(); + + g_list_free(privilege_list); + privilege_list = NULL; + + /* 2.3 wrt - mobile */ + __print_dline(); + __change_to_bold_yellow(); + __tcinfo(api_version, "2.3"); + __tcinfo(pkg_type, "wrt"); + __change_color_to_origin(); + __print_dline(); + + __tcinfo(goal, "normal mapping"); + __privinfo("http://tizen.org/privilege/internal/default/public", NULL, NULL); + __privinfo("http://tizen.org/privilege/account.write", NULL, NULL); + __privinfo("http://tizen.org/privilege/nfc.admin", NULL, NULL); + __privinfo("http://tizen.org/privilege/contact.read", NULL, NULL); + __privinfo("http://tizen.org/privilege/calendar.read", NULL, NULL); + __tcinfo(expect, "PRVMGR_ERR_NONE"); + ret = privilege_manager_get_mapped_privilege_list("2.3", PRVMGR_PACKAGE_TYPE_WRT, privilege_list, &mapped_privilege_list); + __print_result(__get_result_string(ret)); + __check_verify_result(PRVMGR_ERR_NONE, ret); + __print_privilege_list(mapped_privilege_list); + __print_line(); + + g_list_free(privilege_list); + privilege_list = NULL; + + + __tcinfo(goal, "normal mapping"); + __privinfo("http://tizen.org/privilege/internal/default/platform", NULL, NULL); + __privinfo("http://tizen.org/privilege/account.read", NULL, NULL); + __privinfo("http://tizen.org/privilege/nfc.admin", NULL, NULL); + __privinfo("http://tizen.org/privilege/contact.write", NULL, NULL); + __privinfo("http://tizen.org/privilege/datasync", NULL, NULL); + __tcinfo(expect, "PRVMGR_ERR_NONE"); + ret = privilege_manager_get_mapped_privilege_list("2.3", PRVMGR_PACKAGE_TYPE_WRT, privilege_list, &mapped_privilege_list); + __print_result(__get_result_string(ret)); + __check_verify_result(PRVMGR_ERR_NONE, ret); + __print_privilege_list(mapped_privilege_list); + __print_line(); + + g_list_free(privilege_list); + privilege_list = NULL; + + + __tcinfo(goal, "normal mapping"); + __privinfo("http://tizen.org/privilege/internal/default/public", NULL, NULL); + __privinfo("http://tizen.org/privilege/content.read", NULL, NULL); + __privinfo("http://tizen.org/privilege/nfc.p2p", NULL, NULL); + __privinfo("http://tizen.org/privilege/call", NULL, NULL); + __privinfo("http://tizen.org/privilege/internet", NULL, NULL); + __tcinfo(expect, "PRVMGR_ERR_NONE"); + ret = privilege_manager_get_mapped_privilege_list("2.3", PRVMGR_PACKAGE_TYPE_WRT, privilege_list, &mapped_privilege_list); + __print_result(__get_result_string(ret)); + __check_verify_result(PRVMGR_ERR_NONE, ret); + __print_privilege_list(mapped_privilege_list); + __print_line(); + + g_list_free(privilege_list); + privilege_list = NULL; + + __tcinfo(goal, "normal mapping"); + __privinfo("http://tizen.org/privilege/location", NULL, NULL); + __tcinfo(expect, "PRVMGR_ERR_NONE"); + ret = privilege_manager_get_mapped_privilege_list("2.3", PRVMGR_PACKAGE_TYPE_WRT, privilege_list, &mapped_privilege_list); + __print_result(__get_result_string(ret)); + __check_verify_result(PRVMGR_ERR_NONE, ret); + __print_privilege_list(mapped_privilege_list); + __print_line(); + + g_list_free(privilege_list); + privilege_list = NULL; + + __tcinfo(goal, "normal mapping"); + __privinfo("http://tizen.org/privilege/internal/default/platform", NULL, NULL); + __tcinfo(expect, "PRVMGR_ERR_NONE"); + ret = privilege_manager_get_mapped_privilege_list("2.3", PRVMGR_PACKAGE_TYPE_WRT, privilege_list, &mapped_privilege_list); + __print_result(__get_result_string(ret)); + __check_verify_result(PRVMGR_ERR_NONE, ret); + __print_privilege_list(mapped_privilege_list); + __print_line(); + + g_list_free(privilege_list); + privilege_list = NULL; + + + /* 2.4 wrt - mobile */ + __print_dline(); + __change_to_bold_yellow(); + __tcinfo(api_version, "2.4"); + __tcinfo(pkg_type, "wrt"); + __change_color_to_origin(); + __print_dline(); + + __tcinfo(goal, "normal mapping"); + __privinfo("http://tizen.org/privilege/location", NULL, NULL); + __tcinfo(expect, "PRVMGR_ERR_NONE"); + ret = privilege_manager_get_mapped_privilege_list("2.4", PRVMGR_PACKAGE_TYPE_WRT, privilege_list, &mapped_privilege_list); + __print_result(__get_result_string(ret)); + __check_verify_result(PRVMGR_ERR_NONE, ret); + __print_privilege_list(mapped_privilege_list); + __print_line(); + + g_list_free(privilege_list); + privilege_list = NULL; + + __tcinfo(goal, "normal mapping"); + __privinfo("http://tizen.org/privilege/internal/default/platform", NULL, NULL); + __tcinfo(expect, "PRVMGR_ERR_NONE"); + ret = privilege_manager_get_mapped_privilege_list("2.4", PRVMGR_PACKAGE_TYPE_WRT, privilege_list, &mapped_privilege_list); + __print_result(__get_result_string(ret)); + __check_verify_result(PRVMGR_ERR_NONE, ret); + __print_privilege_list(mapped_privilege_list); + __print_line(); + + g_list_free(privilege_list); + privilege_list = NULL; + +#endif +} + static void __test_privilege_manager_verify_privilege() { char* error_message = NULL; int ret = 0; + __tcinfo(goal, "api_version == NULL"); + __privinfo("http://tizen.org/privilege/account.read", "Public", NULL); + __privinfo("http://tizen.org/privilege/account.write", "Public", NULL); + __privinfo("http://tizen.org/privilege/alarm.get", "Public", NULL); + __privinfo("http://tizen.org/privilege/bluetooth", "Public", NULL); + __privinfo("http://tizen.org/privilege/calendar.read", "Public", NULL); + __privinfo("http://tizen.org/privilege/systemsettings", "Public", NULL); + __tcinfo(cert_level, "public"); + __tcinfo(expect, "PRVMGR_ERR_INVALID_PARAMETER"); + ret = privilege_manager_verify_privilege(NULL, PRVMGR_PACKAGE_TYPE_CORE, privilege_list, PRVMGR_PACKAGE_VISIBILITY_PUBLIC, &error_message); + ShowErrorMsg(error_message != NULL, error_message, ret); + __check_verify_result(PRVMGR_ERR_INVALID_PARAMETER, ret); + __print_line(); + + g_list_free(privilege_list); + privilege_list = NULL; + + __tcinfo(goal, "invalid api_version == 2.3.4.2.1"); + __privinfo("http://tizen.org/privilege/account.read", "Public", NULL); + __privinfo("http://tizen.org/privilege/account.write", "Public", NULL); + __privinfo("http://tizen.org/privilege/alarm.get", "Public", NULL); + __privinfo("http://tizen.org/privilege/bluetooth", "Public", NULL); + __privinfo("http://tizen.org/privilege/calendar.read", "Public", NULL); + __privinfo("http://tizen.org/privilege/systemsettings", "Public", NULL); + __tcinfo(cert_level, "public"); + __tcinfo(expect, "PRVMGR_ERR_INVALID_PARAMETER"); + ret = privilege_manager_verify_privilege("2.3.4.2.1", PRVMGR_PACKAGE_TYPE_CORE, privilege_list, PRVMGR_PACKAGE_VISIBILITY_PUBLIC, &error_message); + ShowErrorMsg(error_message != NULL, error_message, ret); + __check_verify_result(PRVMGR_ERR_INVALID_PARAMETER, ret); + __print_line(); + + g_list_free(privilege_list); + privilege_list = NULL; + #ifdef PROFILE_TYPE_MOBILE /* 2.3 core - mobile */ @@ -1501,6 +1809,8 @@ static void __test_privilege_manager_verify_privilege() __check_verify_result(PRVMGR_ERR_INVALID_PRIVILEGE, ret); __print_line(); #endif + g_list_free(privilege_list); + privilege_list = NULL; } int main() @@ -1510,6 +1820,11 @@ int main() __change_color_to_origin(); __test_privilege_manager_verify_privilege(); + __change_color_to_yellow(); + printf("Test function : privilege_manager_get_mapped_privilege_list\n"); + __change_color_to_origin(); + __test_privilege_manager_get_mapped_privilege_list(); + __change_color_to_green(); printf("Test Complete\n"); printf("success : %d, ", success_cnt); -- 2.7.4