From: Yunjin Lee Date: Tue, 1 Dec 2015 10:50:10 +0000 (+0900) Subject: Add privilege mapping api and DBs X-Git-Tag: accepted/tizen/mobile/20151204.061847^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=514b364c346240509c025f559bdd1c7a128e2507;p=platform%2Fcore%2Fsecurity%2Fprivilege-checker.git Add privilege mapping api and DBs Change-Id: I79546dc9ccfc27804b0c8e56a212371b3b2fd9d2 Signed-off-by: Yunjin Lee --- 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 0000000..f05c6d2 Binary files /dev/null and b/capi/res/dbspace/core_privilege_mapping.db differ diff --git a/capi/res/dbspace/tv_core_mapping_db_generator.sh b/capi/res/dbspace/tv_core_mapping_db_generator.sh new file mode 100755 index 0000000..dcdf212 --- /dev/null +++ b/capi/res/dbspace/tv_core_mapping_db_generator.sh @@ -0,0 +1,57 @@ +#!/bin/bash + +DB_NAME="tv_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 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 0000000..ed46721 Binary files /dev/null and b/capi/res/dbspace/tv_core_privilege_mapping.db differ diff --git a/capi/res/dbspace/tv_wrt_mapping_db_generator.sh b/capi/res/dbspace/tv_wrt_mapping_db_generator.sh new file mode 100755 index 0000000..507fd6a --- /dev/null +++ b/capi/res/dbspace/tv_wrt_mapping_db_generator.sh @@ -0,0 +1,56 @@ +#!/bin/bash + +DB_NAME="tv_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 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 0000000..7e6a63c Binary files /dev/null and b/capi/res/dbspace/tv_wrt_privilege_mapping.db differ 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 0000000..9e8dcd9 Binary files /dev/null and b/capi/res/dbspace/wrt_privilege_mapping.db differ 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);