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