Zip install: this will allow TWRP to check md5 and sha256 checksums

for zip installs.

Change-Id: I1fb6af777e08aea29bedaf2e6a9b385ae3b03fac
This commit is contained in:
bigbiff bigbiff
2019-04-02 05:42:47 +02:00
committed by Dees Troy
parent abc299c09f
commit 718ab39bc5
3 changed files with 24 additions and 40 deletions
Regular → Executable
+2 -31
View File
@@ -332,41 +332,12 @@ int TWinstall_zip(const char* path, int* wipe_cache) {
if (strlen(path) < 9 || strncmp(path, "/sideload", 9) != 0) {
string digest_str;
string Full_Filename = path;
string digest_file = path;
string defmd5file = digest_file + ".md5sum";
if (TWFunc::Path_Exists(defmd5file)) {
digest_file += ".md5sum";
}
else {
digest_file += ".md5";
}
gui_msg("check_for_digest=Checking for Digest file...");
if (!TWFunc::Path_Exists(digest_file)) {
gui_msg("no_digest=Skipping Digest check: no Digest file found");
}
else {
if (TWFunc::read_file(digest_file, digest_str) != 0) {
LOGERR("Skipping MD5 check: MD5 file unreadable\n");
}
else {
twrpDigest *digest = new twrpMD5();
if (!twrpDigestDriver::stream_file_to_digest(Full_Filename, digest)) {
delete digest;
return INSTALL_CORRUPT;
}
string digest_check = digest->return_digest_string();
if (digest_str == digest_check) {
gui_msg(Msg("digest_matched=Digest matched for '{1}'.")(path));
}
else {
if (!twrpDigestDriver::Check_File_Digest(Full_Filename)) {
LOGERR("Aborting zip install: Digest verification failed\n");
delete digest;
return INSTALL_CORRUPT;
}
delete digest;
}
}
}