summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTianjie Xu <xunchang@google.com>2016-09-29 21:44:26 +0200
committerandroid-build-merger <android-build-merger@google.com>2016-09-29 21:44:26 +0200
commitc8fbbc786cde896a321c98ea27f307a9b070e8b5 (patch)
treeee5fcc02ba9bc3b7429210016471242df9c3f53d
parentDO NOT MERGE Report uncrypt errors in details am: 37d7d67ca2 am: 4c53af080d -s ours (diff)
parentReport uncrypt errors in details (diff)
downloadandroid_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.h2
-rw-r--r--install.cpp2
-rw-r--r--uncrypt/uncrypt.cpp35
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;
}