From 9f6ec0d40ff4c76e68e23b789de42ae938e6d07d Mon Sep 17 00:00:00 2001 From: Piotr Kosko Date: Wed, 4 Nov 2015 14:31:24 +0100 Subject: [PATCH] Revert "[NBS] Privilege checks moved to JS." This reverts commit 802910c166d66be6857bec53983a47465f754e64. This also applies changes from 81a066f51f6f7b4d24b2986602375ce38293e2c3 [Verification] Code compiles without errors, unable to test on tizen3.0 Change-Id: Ia1cc247b2fd512ea3244f2b6be3353d3851f1502 Signed-off-by: Piotr Kosko --- .../networkbearerselection_api.js | 14 ++++++-------- .../networkbearerselection_instance.cc | 13 +++++++++++++ 2 files changed, 19 insertions(+), 8 deletions(-) diff --git a/src/networkbearerselection/networkbearerselection_api.js b/src/networkbearerselection/networkbearerselection_api.js index 7aec196d..379ea2aa 100644 --- a/src/networkbearerselection/networkbearerselection_api.js +++ b/src/networkbearerselection/networkbearerselection_api.js @@ -60,9 +60,6 @@ function _networkBearerSelectionCallback(result) { function NetworkBearerSelection() {} NetworkBearerSelection.prototype.requestRouteToHost = function(networkType, domainName, successCallback, errorCallback) { - xwalk.utils.checkPrivilegeAccess(xwalk.utils.privilege.NETWORKBEARERSELECTION); - xwalk.utils.checkPrivilegeAccess(xwalk.utils.privilege.INTERNET); - var args = validator_.validateArgs(arguments, [ {name: 'networkType', type: types_.ENUM, values: Object.keys(NetworkType)}, {name: 'domainName', type: types_.STRING}, @@ -88,14 +85,11 @@ NetworkBearerSelection.prototype.requestRouteToHost = function(networkType, doma var result = native_.callSync('NetworkBearerSelection_requestRouteToHost', nativeParam); if (native_.isFailure(result)) { - native_.callIfPossible(args.errorCallback, native_.getErrorObject(result)); + throw native_.getErrorObject(result); } }; NetworkBearerSelection.prototype.releaseRouteToHost = function(networkType, domainName, successCallback, errorCallback) { - xwalk.utils.checkPrivilegeAccess(xwalk.utils.privilege.NETWORKBEARERSELECTION); - xwalk.utils.checkPrivilegeAccess(xwalk.utils.privilege.INTERNET); - var args = validator_.validateArgs(arguments, [ {name: 'networkType', type: types_.ENUM, values: Object.keys(NetworkType)}, {name: 'domainName', type: types_.STRING}, @@ -112,7 +106,11 @@ NetworkBearerSelection.prototype.releaseRouteToHost = function(networkType, doma native_.callIfPossible(args.successCallback); }; - native_.call('NetworkBearerSelection_releaseRouteToHost', args, callback); + var result = native_.call('NetworkBearerSelection_releaseRouteToHost', args, callback); + + if (native_.isFailure(result)) { + throw native_.getErrorObject(result); + } }; diff --git a/src/networkbearerselection/networkbearerselection_instance.cc b/src/networkbearerselection/networkbearerselection_instance.cc index 2c13d3fb..809c8361 100644 --- a/src/networkbearerselection/networkbearerselection_instance.cc +++ b/src/networkbearerselection/networkbearerselection_instance.cc @@ -22,10 +22,19 @@ #include "common/logger.h" #include "common/platform_exception.h" #include "common/task-queue.h" +#include "common/tools.h" namespace extension { namespace networkbearerselection { +namespace { +// The privileges that required in NetworkBearerSelection API +const std::string kPrivilegeNetworkBearerSelection = "http://tizen.org/privilege/networkbearerselection"; +const std::string kPrivilegeInternet = "http://tizen.org/privilege/internet"; +const std::vector kNbsPrivileges{kPrivilegeNetworkBearerSelection, kPrivilegeInternet}; + +} // namespace + using namespace common; using namespace extension::networkbearerselection; @@ -66,6 +75,8 @@ void NetworkBearerSelectionInstance::NetworkBearerSelectionRequestRouteToHost( picojson::object& out) { LoggerD("enter"); + CHECK_PRIVILEGE_ACCESS(kNbsPrivileges, &out); + CHECK_EXIST(args, "domainName", out) CHECK_EXIST(args, "id", out) @@ -88,6 +99,8 @@ void NetworkBearerSelectionInstance::NetworkBearerSelectionReleaseRouteToHost( picojson::object& out) { LoggerD("enter"); + CHECK_PRIVILEGE_ACCESS(kNbsPrivileges, &out); + CHECK_EXIST(args, "callbackId", out) CHECK_EXIST(args, "domainName", out) const double callback_id = args.get("callbackId").get(); -- 2.34.1