[NBS] Privilege checks moved to JS.
authorPawel Andruszkiewicz <p.andruszkie@samsung.com>
Thu, 30 Apr 2015 13:28:01 +0000 (15:28 +0200)
committerPawel Andruszkiewicz <p.andruszkie@samsung.com>
Mon, 4 May 2015 08:21:52 +0000 (17:21 +0900)
Privileges need to be checked before validation of arguments.

Change-Id: I35b774057f75fa68082093445d3f5b52abea6666
Signed-off-by: Pawel Andruszkiewicz <p.andruszkie@samsung.com>
src/networkbearerselection/networkbearerselection_api.js
src/networkbearerselection/networkbearerselection_instance.cc

index d7374ce..e7cd226 100644 (file)
@@ -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},
index 5375113..a21fc7c 100644 (file)
 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<std::string> 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<double>();