diff options
author | Tianjie Xu <xunchang@google.com> | 2016-09-29 21:44:26 +0200 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2016-09-29 21:44:26 +0200 |
commit | c8fbbc786cde896a321c98ea27f307a9b070e8b5 (patch) | |
tree | ee5fcc02ba9bc3b7429210016471242df9c3f53d | |
parent | DO NOT MERGE Report uncrypt errors in details am: 37d7d67ca2 am: 4c53af080d -s ours (diff) | |
parent | Report uncrypt errors in details (diff) | |
download | android_bootable_recovery-c8fbbc786cde896a321c98ea27f307a9b070e8b5.tar android_bootable_recovery-c8fbbc786cde896a321c98ea27f307a9b070e8b5.tar.gz android_bootable_recovery-c8fbbc786cde896a321c98ea27f307a9b070e8b5.tar.bz2 android_bootable_recovery-c8fbbc786cde896a321c98ea27f307a9b070e8b5.tar.lz android_bootable_recovery-c8fbbc786cde896a321c98ea27f307a9b070e8b5.tar.xz android_bootable_recovery-c8fbbc786cde896a321c98ea27f307a9b070e8b5.tar.zst android_bootable_recovery-c8fbbc786cde896a321c98ea27f307a9b070e8b5.zip |
-rw-r--r-- | error_code.h | 2 | ||||
-rw-r--r-- | install.cpp | 2 | ||||
-rw-r--r-- | uncrypt/uncrypt.cpp | 35 |
3 files changed, 14 insertions, 25 deletions
diff --git a/error_code.h b/error_code.h index 92e93bdea..dfea0eb38 100644 --- a/error_code.h +++ b/error_code.h @@ -46,7 +46,7 @@ enum CauseCode { enum UncryptErrorCode { kUncryptNoError = -1, - kUncryptErrorHolder = 50, + kUncryptErrorPlaceholder = 50, kUncryptTimeoutError = 100, kUncryptFileRemoveError, kUncryptFileOpenError, diff --git a/install.cpp b/install.cpp index 63ee299a2..83ddc4b0c 100644 --- a/install.cpp +++ b/install.cpp @@ -536,7 +536,7 @@ install_package(const char* path, bool* wipe_cache, const char* install_file, std::string uncrypt_status; if (!android::base::ReadFileToString(UNCRYPT_STATUS, &uncrypt_status)) { PLOG(WARNING) << "failed to read uncrypt status"; - } else if (!android::base::StartsWith(uncrypt_status, "uncrypt_:")) { + } else if (!android::base::StartsWith(uncrypt_status, "uncrypt_")) { PLOG(WARNING) << "corrupted uncrypt_status: " << uncrypt_status; } else { log_buffer.push_back(android::base::Trim(uncrypt_status)); diff --git a/uncrypt/uncrypt.cpp b/uncrypt/uncrypt.cpp index 0cd1530d5..59a70c2eb 100644 --- a/uncrypt/uncrypt.cpp +++ b/uncrypt/uncrypt.cpp @@ -457,22 +457,23 @@ static int uncrypt(const char* input_path, const char* map_file, const int socke return 0; } -static bool uncrypt_wrapper(const char* input_path, const char* map_file, const int socket) { - // Initialize the uncrypt error to kUncryptErrorHolder. +static void log_uncrypt_error_code(UncryptErrorCode error_code) { if (!android::base::WriteStringToFile(android::base::StringPrintf( - "uncrypt_error: %d\n", kUncryptErrorHolder), UNCRYPT_STATUS)) { + "uncrypt_error: %d\n", error_code), UNCRYPT_STATUS)) { PLOG(WARNING) << "failed to write to " << UNCRYPT_STATUS; } +} + +static bool uncrypt_wrapper(const char* input_path, const char* map_file, const int socket) { + // Initialize the uncrypt error to kUncryptErrorPlaceholder. + log_uncrypt_error_code(kUncryptErrorPlaceholder); std::string package; if (input_path == nullptr) { if (!find_uncrypt_package(UNCRYPT_PATH_FILE, &package)) { write_status_to_socket(-1, socket); // Overwrite the error message. - if (!android::base::WriteStringToFile(android::base::StringPrintf( - "uncrypt_error: %d\n", kUncryptPackageMissingError), UNCRYPT_STATUS)) { - PLOG(WARNING) << "failed to write to " << UNCRYPT_STATUS; - } + log_uncrypt_error_code(kUncryptPackageMissingError); return false; } input_path = package.c_str(); @@ -591,10 +592,7 @@ int main(int argc, char** argv) { } if ((fstab = read_fstab()) == nullptr) { - if (!android::base::WriteStringToFile(android::base::StringPrintf( - "uncrypt_error: %d\n", kUncryptFstabReadError), UNCRYPT_STATUS)) { - PLOG(WARNING) << "failed to write to " << UNCRYPT_STATUS; - } + log_uncrypt_error_code(kUncryptFstabReadError); return 1; } @@ -614,30 +612,21 @@ int main(int argc, char** argv) { android::base::unique_fd service_socket(android_get_control_socket(UNCRYPT_SOCKET.c_str())); if (service_socket == -1) { PLOG(ERROR) << "failed to open socket \"" << UNCRYPT_SOCKET << "\""; - if (!android::base::WriteStringToFile(android::base::StringPrintf( - "uncrypt_error: %d\n", kUncryptSocketOpenError), UNCRYPT_STATUS)) { - PLOG(WARNING) << "failed to write to " << UNCRYPT_STATUS; - } + log_uncrypt_error_code(kUncryptSocketOpenError); return 1; } fcntl(service_socket, F_SETFD, FD_CLOEXEC); if (listen(service_socket, 1) == -1) { PLOG(ERROR) << "failed to listen on socket " << service_socket.get(); - if (!android::base::WriteStringToFile(android::base::StringPrintf( - "uncrypt_error: %d\n", kUncryptSocketListenError), UNCRYPT_STATUS)) { - PLOG(WARNING) << "failed to write to " << UNCRYPT_STATUS; - } + log_uncrypt_error_code(kUncryptSocketListenError); return 1; } android::base::unique_fd socket_fd(accept4(service_socket, nullptr, nullptr, SOCK_CLOEXEC)); if (socket_fd == -1) { PLOG(ERROR) << "failed to accept on socket " << service_socket.get(); - if (!android::base::WriteStringToFile(android::base::StringPrintf( - "uncrypt_error: %d\n", kUncryptSocketAcceptError), UNCRYPT_STATUS)) { - PLOG(WARNING) << "failed to write to " << UNCRYPT_STATUS; - } + log_uncrypt_error_code(kUncryptSocketAcceptError); return 1; } |