From: jin-gyu.kim Date: Mon, 19 Dec 2016 02:03:57 +0000 (+0900) Subject: Add the functionality to disable askuser in run-time. X-Git-Tag: submit/tizen_3.0/20161219.020755^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=625a6fb57ba0c7b8de47cecf6dc5cef1e24c5c4f;p=platform%2Fcore%2Fsecurity%2Fprivilege-checker.git Add the functionality to disable askuser in run-time. Change-Id: I6f542060d29578757103a63f9835e12ba9245fa1 --- diff --git a/capi/CMakeLists.txt b/capi/CMakeLists.txt index dcfaeed..f6b8798 100644 --- a/capi/CMakeLists.txt +++ b/capi/CMakeLists.txt @@ -117,6 +117,7 @@ ADD_DEFINITIONS(-DPRIVILEGE_INFO_WRT_DB_PATH="${PRIVILEGE_DB_DIR}/.wrt_privilege ADD_DEFINITIONS(-DPRIVILEGE_MAPPING_CORE_DB_PATH="${PRIVILEGE_DB_DIR}/.core_privilege_mapping.db") ADD_DEFINITIONS(-DPRIVILEGE_MAPPING_WRT_DB_PATH="${PRIVILEGE_DB_DIR}/.wrt_privilege_mapping.db") ADD_DEFINITIONS(-DPRIVILEGE_POLICY_DB_PATH="${TZ_SYS_DB}/.policy.db") +ADD_DEFINITIONS(-DASKUSER_RUNTIME_DISABLE_PATH="${TZ_SYS_SHARE}/askuser_disable") SET(ROOT_DIR ${CMAKE_SOURCE_DIR}/cmake_build_tmp/output) SET(LOCALE_ROOT_PATH "${ROOT_DIR}/target/generic/root/usr/share/locale") diff --git a/capi/src/privilege_info.c b/capi/src/privilege_info.c index 02e7251..4f7ffc0 100755 --- a/capi/src/privilege_info.c +++ b/capi/src/privilege_info.c @@ -510,6 +510,10 @@ int privilege_info_is_privacy(const char* privilege) #ifdef DISABLE_ASKUSER return 0; #else + if (access(ASKUSER_RUNTIME_DISABLE_PATH, F_OK) == 0) { + LOGD("askuser is disabled in run-time."); + return 0; + } int ret = privilege_db_manager_is('p', privilege); LOGD("%s is privacy? %d", privilege, ret); if (ret != 0 && ret != 1) @@ -526,6 +530,10 @@ int privilege_info_is_privacy2(const char* label, const char* privilege) #ifdef DISABLE_ASKUSER return 0; #else + if (access(ASKUSER_RUNTIME_DISABLE_PATH, F_OK) == 0) { + LOGD("askuser is disabled in run-time."); + return 0; + } int ret = privilege_db_manager_is('p', privilege); TryReturn(ret >= 0, , -1, "privilege_db_manager_get_privacy_by_privilege failed. ret = %d", ret); if (ret == 0) { diff --git a/packaging/privilege-checker.spec b/packaging/privilege-checker.spec index 2d30039..0a21e90 100644 --- a/packaging/privilege-checker.spec +++ b/packaging/privilege-checker.spec @@ -98,7 +98,8 @@ echo cmake . -DPREFIX=%{_prefix} \ -DDATADIR=%{_datadir} \ -DPROFILE_TYPE="${__PROFILE_TYPE}" \ -DPROFILE=%{?profile} \ - -DTZ_SYS_DB=%TZ_SYS_DB + -DTZ_SYS_DB=%TZ_SYS_DB \ + -DTZ_SYS_SHARE=%TZ_SYS_SHARE cmake . -DPREFIX=%{_prefix} \ -DEXEC_PREFIX=%{_exec_prefix} \ @@ -110,7 +111,8 @@ cmake . -DPREFIX=%{_prefix} \ -DDATADIR=%{_datadir} \ -DPROFILE_TYPE="${__PROFILE_TYPE}" \ -DPROFILE=%{?profile} \ - -DTZ_SYS_DB=%TZ_SYS_DB + -DTZ_SYS_DB=%TZ_SYS_DB \ + -DTZ_SYS_SHARE=%TZ_SYS_SHARE make %{?jobs:-j%jobs}