From: Pawel Andruszkiewicz Date: Wed, 18 Mar 2015 15:00:55 +0000 (+0100) Subject: [Archive] Added privilege checks. X-Git-Tag: submit/tizen_tv/20150603.064601~1^2~240 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=ec8e65c2ada20c82be4b59fd9d10aedcc50fbf45;p=platform%2Fcore%2Fapi%2Fwebapi-plugins.git [Archive] Added privilege checks. Change-Id: I8f0896718cc232e4d709774d801330c058096b0b --- diff --git a/src/archive/archive_instance.cc b/src/archive/archive_instance.cc index 529da62b..fb9874c6 100644 --- a/src/archive/archive_instance.cc +++ b/src/archive/archive_instance.cc @@ -22,6 +22,11 @@ namespace archive { using namespace common; +namespace { +const std::string kPrivilegeFilesystemRead = "http://tizen.org/privilege/filesystem.read"; +const std::string kPrivilegeFilesystemWrite = "http://tizen.org/privilege/filesystem.write"; +} // namespace + ArchiveInstance& ArchiveInstance::getInstance() { static ArchiveInstance instance; @@ -79,6 +84,8 @@ void ArchiveInstance::Open(const picojson::value& args, picojson::object& out) { LoggerD("Entered"); LoggerD("%s", args.serialize().c_str()); + CHECK_PRIVILEGE_ACCESS(kPrivilegeFilesystemWrite, &out); + picojson::object data = args.get(JSON_DATA).get(); picojson::value v_file = data.at(PARAM_FILE); picojson::value v_mode = data.at(PARAM_MODE); @@ -221,6 +228,8 @@ void ArchiveInstance::Add(const picojson::value& args, picojson::object& out) LoggerD("Entered"); LoggerD("%s", args.serialize().c_str()); + CHECK_PRIVILEGE_ACCESS(kPrivilegeFilesystemWrite, &out); + picojson::object data = args.get(JSON_DATA).get(); picojson::value v_source = data.at(PARAM_SOURCE_FILE); //picojson::value v_options = data.at(PARAM_OPTIONS); @@ -284,6 +293,8 @@ void ArchiveInstance::ExtractAll(const picojson::value& args, picojson::object& LoggerD("Entered"); LoggerD("%s", args.serialize().c_str()); + CHECK_PRIVILEGE_ACCESS(kPrivilegeFilesystemWrite, &out); + picojson::object data = args.get(JSON_DATA).get(); picojson::value v_dest_dir = data.at(PARAM_DESTINATION_DIR); picojson::value v_overwrite = data.at(PARAM_OVERWRITE); @@ -346,6 +357,8 @@ void ArchiveInstance::GetEntries(const picojson::value& args, picojson::object& LoggerD("Entered"); LoggerD("%s", args.serialize().c_str()); + CHECK_PRIVILEGE_ACCESS(kPrivilegeFilesystemRead, &out); + picojson::object data = args.get(JSON_DATA).get(); picojson::value v_op_id = data.at(PARAM_OPERATION_ID); picojson::value v_handle = data.at(ARCHIVE_FILE_HANDLE); @@ -390,6 +403,8 @@ void ArchiveInstance::GetEntryByName(const picojson::value& args, picojson::obje LoggerD("Entered"); LoggerD("%s", args.serialize().c_str()); + CHECK_PRIVILEGE_ACCESS(kPrivilegeFilesystemRead, &out); + picojson::object data = args.get(JSON_DATA).get(); picojson::value v_op_id = data.at(PARAM_OPERATION_ID); picojson::value v_handle = data.at(ARCHIVE_FILE_HANDLE); @@ -459,6 +474,8 @@ void ArchiveInstance::Extract(const picojson::value& args, picojson::object& out LoggerD("Entered"); LoggerD("%s", args.serialize().c_str()); + CHECK_PRIVILEGE_ACCESS(kPrivilegeFilesystemWrite, &out); + picojson::object data = args.get(JSON_DATA).get(); picojson::value v_dest_dir = data.at(PARAM_DESTINATION_DIR); picojson::value v_strip_name = data.at(PARAM_STRIP_NAME);