check privacy by widget handle 2.1b_release accepted/tizen_2.1/20130425.022336 submit/tizen_2.1/20130424.235427
authorHyunwoo Kim <hwlove.kim@samsung.com>
Mon, 22 Apr 2013 12:03:33 +0000 (21:03 +0900)
committerHyunwoo Kim <hwlove.kim@samsung.com>
Mon, 22 Apr 2013 13:49:46 +0000 (22:49 +0900)
Change-Id: Ib19c2d9ac891d5ba00e2bdef231d6f987df9b430
Signed-off-by: Hyunwoo Kim <hwlove.kim@samsung.com>
ace_client/src/CMakeLists.txt
ace_client/src/ace_client.cpp
packaging/wrt-security.spec

index e4e32c3..e54eb73 100644 (file)
@@ -8,6 +8,7 @@ PKG_CHECK_MODULES(ACE_CLIENT_DEPS
     capi-appfw-app-manager
     capi-appfw-package-manager
     capi-security-privacy-manager
+    dpl-wrt-dao-ro
     REQUIRED
     )
 
index d43ccae..c496c86 100644 (file)
@@ -45,7 +45,7 @@
 #include <privacy_checker_client.h>
 #include <privacy_manager.h>
 #include <unistd.h>
-
+#include <dpl/wrt-dao-ro/widget_dao_read_only.h>
 // ACE tests need to use mock implementations
 #ifdef ACE_CLIENT_TESTS
 
@@ -206,29 +206,23 @@ bool AceThinClientImpl::checkPrivacy(const AceRequest& ace_request)
     pid_t pid;
     int res;
     char* app_id;
-    char* pkg_id;
 
     pid = getpid();
 
     LogInfo("pid : " << pid);
 
     res = app_manager_get_app_id(pid, &app_id);
-    if (res != APP_MANAGER_ERROR_NONE) {
-        LogError("Unknown app id : " << res);
-        return ACE_INTERNAL_ERROR;
+    if (res == APP_MANAGER_ERROR_NONE) {
+        LogInfo("Calling app_id : " << app_id);
     }
+    
+    WrtDB::WidgetDAOReadOnly dao(ace_request.widgetHandle);
+    std::string tzPkgId = DPL::ToUTF8String(dao.getTzPkgId());
 
-    LogInfo("app_id : " << app_id);
-    res = package_manager_get_package_id_by_app_id(app_id, &pkg_id);
-    if (res != PACKAGE_MANAGER_ERROR_NONE) {
-        LogError("Unknown package id : " << res);
-        return ACE_INTERNAL_ERROR;
-    }
+    LogInfo("Checking pkg_id : " << tzPkgId.c_str());
 
-    LogInfo("pkg_id : " << pkg_id);
-    for (size_t i = 0; i< ace_request.apiFeatures.count; ++i) {
-        res = privacy_checker_check_package_by_privilege(pkg_id, ace_request.apiFeatures.apiFeature[i]);
+    for (size_t i = 0; i < ace_request.apiFeatures.count; ++i) {
+        res = privacy_checker_check_package_by_privilege(tzPkgId.c_str(), ace_request.apiFeatures.apiFeature[i]);
         LogInfo(" privilege : " << ace_request.apiFeatures.apiFeature[i] << " : " << (res == PRIV_MGR_ERROR_SUCCESS) ? "true" : "false");
         if (res != PRIV_MGR_ERROR_SUCCESS)
             return false;
index 7ee3ff5..0332b20 100644 (file)
@@ -1,8 +1,8 @@
 #sbs-git:slp/pkgs/s/security-server security-server 0.0.37
 Name:       wrt-security
 Summary:    Wrt security daemon.
-Version:    0.0.61
-Release:    4
+Version:    0.0.62
+Release:    0
 Group:      TO_BE/FILLED_IN
 License:    Apache License, Version 2.0
 URL:        N/A
@@ -27,6 +27,7 @@ BuildRequires: pkgconfig(capi-appfw-app-manager)
 BuildRequires: pkgconfig(capi-appfw-package-manager)
 BuildRequires: pkgconfig(privacy-manager-client)
 BuildRequires: pkgconfig(capi-security-privacy-manager)
+BuildRequires: pkgconfig(dpl-wrt-dao-ro)
 
 %description
 Wrt security daemon and utilities.