From 802910c166d66be6857bec53983a47465f754e64 Mon Sep 17 00:00:00 2001 From: Pawel Andruszkiewicz Date: Thu, 30 Apr 2015 15:28:01 +0200 Subject: [PATCH] [NBS] Privilege checks moved to JS. Privileges need to be checked before validation of arguments. Change-Id: I35b774057f75fa68082093445d3f5b52abea6666 Signed-off-by: Pawel Andruszkiewicz --- src/networkbearerselection/networkbearerselection_api.js | 6 ++++++ .../networkbearerselection_instance.cc | 12 ------------ 2 files changed, 6 insertions(+), 12 deletions(-) diff --git a/src/networkbearerselection/networkbearerselection_api.js b/src/networkbearerselection/networkbearerselection_api.js index d7374ce..e7cd226 100644 --- a/src/networkbearerselection/networkbearerselection_api.js +++ b/src/networkbearerselection/networkbearerselection_api.js @@ -48,6 +48,9 @@ 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}, @@ -78,6 +81,9 @@ NetworkBearerSelection.prototype.requestRouteToHost = function(networkType, doma }; 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}, diff --git a/src/networkbearerselection/networkbearerselection_instance.cc b/src/networkbearerselection/networkbearerselection_instance.cc index 5375113..a21fc7c 100644 --- a/src/networkbearerselection/networkbearerselection_instance.cc +++ b/src/networkbearerselection/networkbearerselection_instance.cc @@ -14,14 +14,6 @@ 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; @@ -60,8 +52,6 @@ void NetworkBearerSelectionInstance::NetworkBearerSelectionRequestRouteToHost( picojson::object& out) { LoggerD("enter"); - CHECK_PRIVILEGE_ACCESS(kNbsPrivileges, &out); - CHECK_EXIST(args, "domainName", out) CHECK_EXIST(args, "id", out) @@ -84,8 +74,6 @@ 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.7.4