Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(97)

Unified Diff: delta_performer.h

Issue 5516009: AU: Split applied update verification into a separate step. (Closed) Base URL: ssh://git@gitrw.chromium.org:9222/update_engine.git@master
Patch Set: review comments Created 10 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « action_processor.h ('k') | delta_performer.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: delta_performer.h
diff --git a/delta_performer.h b/delta_performer.h
index 0e3cb93aea18c8e3686894af6de4614f2b13c1eb..8a9914d4c77627f612c4ed00f0cb4c351feb2f23 100644
--- a/delta_performer.h
+++ b/delta_performer.h
@@ -34,9 +34,7 @@ class DeltaPerformer : public FileWriter {
next_operation_num_(0),
buffer_offset_(0),
last_updated_buffer_offset_(kuint64max),
- block_size_(0),
- current_kernel_hash_(NULL),
- current_rootfs_hash_(NULL) {}
+ block_size_(0) {}
// Opens the kernel. Should be called before or after Open(), but before
// Write(). The kernel file will be close()d when Close() is called.
@@ -65,10 +63,16 @@ class DeltaPerformer : public FileWriter {
const std::string& update_check_response_hash,
const uint64_t update_check_response_size);
- // Verifies that the generated update is correct based on the hashes sent by
- // the server. Returns true on success, false otherwise.
- bool VerifyAppliedUpdate(const std::string& path,
- const std::string& kernel_path);
+ // Reads from the update manifest the expected sizes and hashes of the target
+ // kernel and rootfs partitions. These values can be used for applied update
+ // hash verification. This method must be called after the update manifest has
+ // been parsed (e.g., after closing the stream). Returns true on success, and
+ // false on failure (e.g., when the values are not present in the update
+ // manifest).
+ bool GetNewPartitionInfo(uint64_t* kernel_size,
+ std::vector<char>* kernel_hash,
+ uint64_t* rootfs_size,
+ std::vector<char>* rootfs_hash);
// Converts an ordered collection of Extent objects which contain data of
// length full_length to a comma-separated string. For each Extent, the
@@ -96,11 +100,11 @@ class DeltaPerformer : public FileWriter {
// success, false otherwise.
static bool ResetUpdateProgress(PrefsInterface* prefs, bool quick);
- void set_current_kernel_hash(const std::vector<char>* hash) {
+ void set_current_kernel_hash(const std::vector<char>& hash) {
current_kernel_hash_ = hash;
}
- void set_current_rootfs_hash(const std::vector<char>* hash) {
+ void set_current_rootfs_hash(const std::vector<char>& hash) {
current_rootfs_hash_ = hash;
}
@@ -199,8 +203,8 @@ class DeltaPerformer : public FileWriter {
// Hashes for the current partitions to be used for source partition
// verification.
- const std::vector<char>* current_kernel_hash_;
- const std::vector<char>* current_rootfs_hash_;
+ std::vector<char> current_kernel_hash_;
+ std::vector<char> current_rootfs_hash_;
DISALLOW_COPY_AND_ASSIGN(DeltaPerformer);
};
« no previous file with comments | « action_processor.h ('k') | delta_performer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698