Add the functionality to disable askuser in run-time. 26/105526/2 accepted/tizen/3.0/common/20161221.180417 accepted/tizen/3.0/ivi/20161221.005018 accepted/tizen/3.0/ivi/20161221.010104 accepted/tizen/3.0/mobile/20161221.005107 accepted/tizen/3.0/mobile/20161221.010257 accepted/tizen/3.0/tv/20161221.004822 accepted/tizen/3.0/tv/20161221.010052 accepted/tizen/3.0/wearable/20161221.004858 accepted/tizen/3.0/wearable/20161221.010059 accepted/tizen/common/20161220.190630 accepted/tizen/ivi/20161220.222653 accepted/tizen/mobile/20161220.222552 accepted/tizen/tv/20161220.222613 accepted/tizen/wearable/20161220.222629 submit/tizen/20161219.022527 submit/tizen_3.0/20161219.020755 submit/tizen_3.0/20161220.015046
authorjin-gyu.kim <jin-gyu.kim@samsung.com>
Mon, 19 Dec 2016 02:03:57 +0000 (11:03 +0900)
committerjin-gyu.kim <jin-gyu.kim@samsung.com>
Mon, 19 Dec 2016 03:49:50 +0000 (12:49 +0900)
Change-Id: I6f542060d29578757103a63f9835e12ba9245fa1

capi/CMakeLists.txt
capi/src/privilege_info.c
packaging/privilege-checker.spec

index dcfaeede0537e178ef2cee954597dc653b94c43d..f6b8798b03e6e8230994343a5dc69a6392756beb 100644 (file)
@@ -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")
 
index 02e725183deaa97e0281521e8a7f1a8f50dc4246..4f7ffc03a9d9c01168b634a1d4b01f1b9306378a 100755 (executable)
@@ -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) {
index 2d300394337cd4a7ca492c16be475c93df6f5bbd..0a21e9052c3cfbca7c4abfa162c1a5e0e733a035 100644 (file)
@@ -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}