Calculate verity hash tree.
Calculate verity hash tree in FilesystemVerifierAction based on configs
specified in protobuf, and write it to target partition before reading
from those blocks.
A new error code kVerityCalculationError was added to report error if
it fails.
Bug: 28171891
Test: update_engine_unittests
Change-Id: I492885a0655bf51043902f578720fffd87e6a3cf
diff --git a/Android.mk b/Android.mk
index e141ae1..ba66d67 100644
--- a/Android.mk
+++ b/Android.mk
@@ -109,8 +109,10 @@
libbspatch \
libbrotli \
libpuffpatch \
+ libverity_tree \
$(ue_update_metadata_protos_exported_static_libraries)
ue_libpayload_consumer_exported_shared_libraries := \
+ libbase \
libcrypto \
$(ue_update_metadata_protos_exported_shared_libraries)
@@ -148,6 +150,7 @@
payload_consumer/payload_metadata.cc \
payload_consumer/payload_verifier.cc \
payload_consumer/postinstall_runner_action.cc \
+ payload_consumer/verity_writer_android.cc \
payload_consumer/xz_extent_writer.cc
ifeq ($(local_use_fec),1)
@@ -941,6 +944,7 @@
payload_consumer/file_writer_unittest.cc \
payload_consumer/filesystem_verifier_action_unittest.cc \
payload_consumer/postinstall_runner_action_unittest.cc \
+ payload_consumer/verity_writer_android_unittest.cc \
payload_consumer/xz_extent_writer_unittest.cc \
payload_generator/ab_generator_unittest.cc \
payload_generator/blob_file_writer_unittest.cc \