[Archive] Synchronously checking access to file 92/167092/4
authorSzymon Jastrzebski <s.jastrzebsk@partner.samsung.com>
Mon, 15 Jan 2018 08:23:06 +0000 (09:23 +0100)
committerSzymon Jastrzebski <s.jastrzebsk@partner.samsung.com>
Fri, 2 Feb 2018 12:11:06 +0000 (12:11 +0000)
[Verification] p.r. is equal to 100% with:
1. commit https://review.tizen.org/gerrit/#/c/166000/
2. added storage privileges to config.xml file
3. allowed the permission request

Change-Id: Ia563e6d1cd9c0229ebe737917889ec0cae085e03
Signed-off-by: Szymon Jastrzebski <s.jastrzebsk@partner.samsung.com>
src/archive/archive_instance.cc

index e42a34c..cb28a2b 100644 (file)
@@ -101,9 +101,10 @@ void ArchiveInstance::Open(const picojson::value& args, picojson::object& out) {
   ScopeLogger("%s", args.serialize().c_str());
 
   CHECK_PRIVILEGE_ACCESS(kPrivilegeFilesystemWrite, &out);
-
   picojson::object data = args.get<picojson::object>();
   picojson::value v_file = data.at(PARAM_FILE);
+  CHECK_STORAGE_ACCESS(v_file.get<std::string>(), &out);
+
   picojson::value v_mode = data.at(PARAM_MODE);
   picojson::value v_op_id = data.at(PARAM_OPERATION_ID);
   picojson::object options = data.at(PARAM_OPTIONS).get<picojson::object>();
@@ -260,9 +261,10 @@ void ArchiveInstance::Add(const picojson::value& args, picojson::object& out) {
   ScopeLogger("%s", args.serialize().c_str());
 
   CHECK_PRIVILEGE_ACCESS(kPrivilegeFilesystemWrite, &out);
-
   picojson::object data = args.get<picojson::object>();
   picojson::value v_source = data.at(PARAM_SOURCE_FILE);
+  CHECK_STORAGE_ACCESS(v_source.get<std::string>(), &out);
+
   picojson::value v_options = data.at(PARAM_OPTIONS);
   picojson::value v_op_id = data.at(PARAM_OPERATION_ID);
   picojson::value v_handle = data.at(ARCHIVE_FILE_HANDLE);
@@ -347,9 +349,10 @@ void ArchiveInstance::ExtractAll(const picojson::value& args, picojson::object&
   ScopeLogger("%s", args.serialize().c_str());
 
   CHECK_PRIVILEGE_ACCESS(kPrivilegeFilesystemWrite, &out);
-
   picojson::object data = args.get<picojson::object>();
   picojson::value v_dest_dir = data.at(PARAM_DESTINATION_DIR);
+  CHECK_STORAGE_ACCESS(v_dest_dir.get<std::string>(), &out);
+
   picojson::value v_overwrite = data.at(PARAM_OVERWRITE);
   picojson::value v_op_id = data.at(PARAM_OPERATION_ID);
   picojson::value v_handle = data.at(ARCHIVE_FILE_HANDLE);
@@ -520,9 +523,10 @@ void ArchiveInstance::Extract(const picojson::value& args, picojson::object& out
   ScopeLogger("%s", args.serialize().c_str());
 
   CHECK_PRIVILEGE_ACCESS(kPrivilegeFilesystemWrite, &out);
-
   picojson::object data = args.get<picojson::object>();
   picojson::value v_dest_dir = data.at(PARAM_DESTINATION_DIR);
+  CHECK_STORAGE_ACCESS(v_dest_dir.get<std::string>(), &out);
+
   picojson::value v_strip_name = data.at(PARAM_STRIP_NAME);
   picojson::value v_overwrite = data.at(PARAM_OVERWRITE);
   picojson::value v_op_id = data.at(PARAM_OPERATION_ID);