From: Tomasz Marciniak Date: Fri, 20 Mar 2015 07:59:48 +0000 (+0100) Subject: [Package] Added privilege checks. X-Git-Tag: submit/tizen_tv/20150603.064601~1^2~224 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=400f63770f0267a07c3267911a9658961117fcb6;p=platform%2Fcore%2Fapi%2Fwebapi-plugins.git [Package] Added privilege checks. [Verification] Code compiles without errors. Change-Id: I8ccea8e8aa32cb73a6a3d29d56b7bea477eb4f73 Signed-off-by: Tomasz Marciniak --- diff --git a/src/package/package_instance.cc b/src/package/package_instance.cc index 20c5767d..710021a1 100644 --- a/src/package/package_instance.cc +++ b/src/package/package_instance.cc @@ -24,10 +24,8 @@ using common::SecurityException; namespace { // The privileges that required in Package API -const std::string kPrivilegePackageInstall = - "http://tizen.org/privilege/packagemanager.install"; -const std::string kPrivilegePackageInfo = - "http://tizen.org/privilege/package.info"; +const std::string kPrivilegePackageInstall = "http://tizen.org/privilege/packagemanager.install"; +const std::string kPrivilegePackageInfo = "http://tizen.org/privilege/package.info"; } // namespace typedef enum _PackageThreadWorkType { @@ -281,6 +279,8 @@ void PackageInstance::PackageManagerInstall( const picojson::value& args, picojson::object& out) { LoggerD("Enter"); + CHECK_PRIVILEGE_ACCESS(kPrivilegePackageInstall, &out); + CHECK_EXIST(args, "callbackId", out) CHECK_EXIST(args, "packageFileURI", out) @@ -289,14 +289,6 @@ void PackageInstance::PackageManagerInstall( const std::string& packageFileURI = convertUriToPath(args.get("packageFileURI").get()); - /* Need to check privilege - ReportError( - SecurityException("This application does not have " \ - "the privilege to call this method"), - out); - return; - */ - if ( !request_ ) { LoggerE("package_manager_request_h is NULL"); InvokeErrorCallbackAsync(callback_id, @@ -332,6 +324,8 @@ void PackageInstance::PackageManagerUninstall( const picojson::value& args, picojson::object& out) { LoggerD("Enter"); + CHECK_PRIVILEGE_ACCESS(kPrivilegePackageInstall, &out); + CHECK_EXIST(args, "callbackId", out) CHECK_EXIST(args, "id", out) @@ -339,14 +333,6 @@ void PackageInstance::PackageManagerUninstall( static_cast(args.get("callbackId").get()); const std::string& id = args.get("id").get(); - /* Need to check privilege - ReportError( - SecurityException("This application does not have " \ - "the privilege to call this method"), - out); - return; - */ - if ( !request_ ) { LoggerE("package_manager_request_h is NULL"); InvokeErrorCallbackAsync(callback_id, @@ -380,18 +366,12 @@ void PackageInstance::PackageManagerGetpackagesinfo( const picojson::value& args, picojson::object& out) { LoggerD("Enter"); + CHECK_PRIVILEGE_ACCESS(kPrivilegePackageInfo, &out); + CHECK_EXIST(args, "callbackId", out) int callback_id = static_cast(args.get("callbackId").get()); - /* Need to check privilege - ReportError( - SecurityException("This application does not have " \ - "the privilege to call this method"), - out); - return; - */ - PackageUserDataPtr userData(new PackageUserData( this, callback_id, PackageThreadWorkGetPackagesInfo)); TaskQueue::GetInstance().Queue( @@ -402,13 +382,7 @@ void PackageInstance::PackageManagerGetpackageinfo( const picojson::value& args, picojson::object& out) { LoggerD("Enter"); - /* Need to check privilege - ReportError( - SecurityException("This application does not have " \ - "the privilege to call this method"), - out); - return; - */ + CHECK_PRIVILEGE_ACCESS(kPrivilegePackageInfo, &out); if ( args.contains("id") ) { std::string id = args.get("id").get(); @@ -429,18 +403,12 @@ void PackageInstance:: const picojson::value& args, picojson::object& out) { LoggerD("Enter"); + CHECK_PRIVILEGE_ACCESS(kPrivilegePackageInfo, &out); + CHECK_EXIST(args, "callbackId", out) int callback_id = static_cast(args.get("callbackId").get()); - /* Need to check privilege - ReportError( - SecurityException("This application does not have " \ - "the privilege to call this method"), - out); - return; - */ - if ( is_package_info_listener_set_ ) { LoggerD("Already set"); ReportSuccess(out); @@ -476,13 +444,7 @@ void PackageInstance:: const picojson::value& args, picojson::object& out) { LoggerD("Enter"); - /* Need to check privilege - ReportError( - SecurityException("This application does not have " \ - "the privilege to call this method"), - out); - return; - */ + CHECK_PRIVILEGE_ACCESS(kPrivilegePackageInfo, &out); if ( !is_package_info_listener_set_ ) { LoggerD("Listener is not set");