diff options
author | Raman Tenneti <rtenneti@google.com> | 2020-02-13 03:50:42 +0100 |
---|---|---|
committer | Raman Tenneti <rtenneti@google.com> | 2020-02-13 04:03:36 +0100 |
commit | daaacea96ebfc55b47f44240e2082c820c8eb234 (patch) | |
tree | 990ff845639b8a7184fb678c53d69c0a2bf1dbae /install | |
parent | Force package installation with FUSE unless the package stores on device (diff) | |
download | android_bootable_recovery-daaacea96ebfc55b47f44240e2082c820c8eb234.tar android_bootable_recovery-daaacea96ebfc55b47f44240e2082c820c8eb234.tar.gz android_bootable_recovery-daaacea96ebfc55b47f44240e2082c820c8eb234.tar.bz2 android_bootable_recovery-daaacea96ebfc55b47f44240e2082c820c8eb234.tar.lz android_bootable_recovery-daaacea96ebfc55b47f44240e2082c820c8eb234.tar.xz android_bootable_recovery-daaacea96ebfc55b47f44240e2082c820c8eb234.tar.zst android_bootable_recovery-daaacea96ebfc55b47f44240e2082c820c8eb234.zip |
Diffstat (limited to 'install')
-rw-r--r-- | install/include/install/install.h | 4 | ||||
-rw-r--r-- | install/install.cpp | 47 |
2 files changed, 0 insertions, 51 deletions
diff --git a/install/include/install/install.h b/install/include/install/install.h index bef23e9ca..87d43ab09 100644 --- a/install/include/install/install.h +++ b/install/include/install/install.h @@ -63,7 +63,3 @@ bool ReadMetadataFromPackage(ZipArchiveHandle zip, std::map<std::string, std::st // pre-device and serial number (if presents). A/B OTA specific checks: pre-build version, // fingerprint, timestamp. bool CheckPackageMetadata(const std::map<std::string, std::string>& metadata, OtaType ota_type); - -// Ensures the path to the update package is mounted. Also set the |should_use_fuse| to true if the -// package stays on a removable media. -bool SetupPackageMount(const std::string& package_path, bool* should_use_fuse); diff --git a/install/install.cpp b/install/install.cpp index 1c9bf2fd2..4bb0903cc 100644 --- a/install/install.cpp +++ b/install/install.cpp @@ -30,7 +30,6 @@ #include <atomic> #include <chrono> #include <condition_variable> -#include <filesystem> #include <functional> #include <limits> #include <mutex> @@ -642,49 +641,3 @@ bool verify_package(Package* package, RecoveryUI* ui) { } return true; } - -bool SetupPackageMount(const std::string& package_path, bool* should_use_fuse) { - CHECK(should_use_fuse != nullptr); - - if (package_path.empty()) { - return false; - } - - *should_use_fuse = true; - if (package_path[0] == '@') { - auto block_map_path = package_path.substr(1); - if (ensure_path_mounted(block_map_path) != 0) { - LOG(ERROR) << "Failed to mount " << block_map_path; - return false; - } - // uncrypt only produces block map only if the package stays on /data. - *should_use_fuse = false; - return true; - } - - // Package is not a block map file. - if (ensure_path_mounted(package_path) != 0) { - LOG(ERROR) << "Failed to mount " << package_path; - return false; - } - - // Reject the package if the input path doesn't equal the canonicalized path. - // e.g. /cache/../sdcard/update_package. - std::error_code ec; - auto canonical_path = std::filesystem::canonical(package_path, ec); - if (ec) { - LOG(ERROR) << "Failed to get canonical of " << package_path << ", " << ec.message(); - return false; - } - if (canonical_path.string() != package_path) { - LOG(ERROR) << "Installation aborts. The canonical path " << canonical_path.string() - << " doesn't equal the original path " << package_path; - return false; - } - - constexpr const char* CACHE_ROOT = "/cache"; - if (android::base::StartsWith(package_path, CACHE_ROOT)) { - *should_use_fuse = false; - } - return true; -} |