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

Side by Side Diff: download_action.h

Issue 6792065: AU: Detect and report public key verify failures, but continue updating. (Closed) Base URL: http://git.chromium.org/git/update_engine.git@master
Patch Set: fixes for review Created 9 years, 8 months 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « action_processor.h ('k') | download_action.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2009 The Chromium OS Authors. All rights reserved. 1 // Copyright (c) 2009 The Chromium OS Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CHROMEOS_PLATFORM_UPDATE_ENGINE_DOWNLOAD_ACTION_H__ 5 #ifndef CHROMEOS_PLATFORM_UPDATE_ENGINE_DOWNLOAD_ACTION_H__
6 #define CHROMEOS_PLATFORM_UPDATE_ENGINE_DOWNLOAD_ACTION_H__ 6 #define CHROMEOS_PLATFORM_UPDATE_ENGINE_DOWNLOAD_ACTION_H__
7 7
8 #include <sys/types.h> 8 #include <sys/types.h>
9 #include <sys/stat.h> 9 #include <sys/stat.h>
10 #include <fcntl.h> 10 #include <fcntl.h>
11 11
12 #include <string> 12 #include <string>
13 13
14 #include <base/scoped_ptr.h> 14 #include <base/scoped_ptr.h>
15 #include <curl/curl.h> 15 #include <curl/curl.h>
16 #include <google/protobuf/stubs/common.h>
16 17
17 #include "update_engine/action.h" 18 #include "update_engine/action.h"
18 #include "update_engine/decompressing_file_writer.h" 19 #include "update_engine/decompressing_file_writer.h"
19 #include "update_engine/delta_performer.h" 20 #include "update_engine/delta_performer.h"
20 #include "update_engine/buffered_file_writer.h" 21 #include "update_engine/buffered_file_writer.h"
21 #include "update_engine/http_fetcher.h" 22 #include "update_engine/http_fetcher.h"
22 #include "update_engine/install_plan.h" 23 #include "update_engine/install_plan.h"
23 #include "update_engine/omaha_hash_calculator.h" 24 #include "update_engine/omaha_hash_calculator.h"
24 #include "update_engine/split_file_writer.h" 25 #include "update_engine/split_file_writer.h"
25 26
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
90 virtual void TransferComplete(HttpFetcher *fetcher, bool successful); 91 virtual void TransferComplete(HttpFetcher *fetcher, bool successful);
91 virtual void TransferTerminated(HttpFetcher *fetcher); 92 virtual void TransferTerminated(HttpFetcher *fetcher);
92 93
93 DownloadActionDelegate* delegate() const { return delegate_; } 94 DownloadActionDelegate* delegate() const { return delegate_; }
94 void set_delegate(DownloadActionDelegate* delegate) { 95 void set_delegate(DownloadActionDelegate* delegate) {
95 delegate_ = delegate; 96 delegate_ = delegate;
96 } 97 }
97 98
98 HttpFetcher* http_fetcher() { return http_fetcher_.get(); } 99 HttpFetcher* http_fetcher() { return http_fetcher_.get(); }
99 100
101 void set_skip_reporting_signature_fail(google::protobuf::Closure* callback) {
102 skip_reporting_signature_fail_.reset(callback);
103 }
104
100 private: 105 private:
101 // The InstallPlan passed in 106 // The InstallPlan passed in
102 InstallPlan install_plan_; 107 InstallPlan install_plan_;
103 108
104 // Update Engine preference store. 109 // Update Engine preference store.
105 PrefsInterface* prefs_; 110 PrefsInterface* prefs_;
106 111
107 // The FileWriter that downloaded data should be written to. It will 112 // The FileWriter that downloaded data should be written to. It will
108 // either point to *decompressing_file_writer_ or *delta_performer_. 113 // either point to *decompressing_file_writer_ or *delta_performer_.
109 FileWriter* writer_; 114 FileWriter* writer_;
(...skipping 16 matching lines...) Expand all
126 OmahaHashCalculator omaha_hash_calculator_; 131 OmahaHashCalculator omaha_hash_calculator_;
127 132
128 // Used by TransferTerminated to figure if this action terminated itself or 133 // Used by TransferTerminated to figure if this action terminated itself or
129 // was terminated by the action processor. 134 // was terminated by the action processor.
130 ActionExitCode code_; 135 ActionExitCode code_;
131 136
132 // For reporting status to outsiders 137 // For reporting status to outsiders
133 DownloadActionDelegate* delegate_; 138 DownloadActionDelegate* delegate_;
134 uint64_t bytes_received_; 139 uint64_t bytes_received_;
135 140
141 // Called if the download fails OR (download success AND signature verifies)
gauravsh 2011/04/06 02:40:23 I think the last condition in this comment is wron
142 scoped_ptr<google::protobuf::Closure> skip_reporting_signature_fail_;
143
136 DISALLOW_COPY_AND_ASSIGN(DownloadAction); 144 DISALLOW_COPY_AND_ASSIGN(DownloadAction);
137 }; 145 };
138 146
139 // We want to be sure that we're compiled with large file support on linux, 147 // We want to be sure that we're compiled with large file support on linux,
140 // just in case we find ourselves downloading large images. 148 // just in case we find ourselves downloading large images.
141 COMPILE_ASSERT(8 == sizeof(off_t), off_t_not_64_bit); 149 COMPILE_ASSERT(8 == sizeof(off_t), off_t_not_64_bit);
142 150
143 } // namespace chromeos_update_engine 151 } // namespace chromeos_update_engine
144 152
145 #endif // CHROMEOS_PLATFORM_UPDATE_ENGINE_DOWNLOAD_ACTION_H__ 153 #endif // CHROMEOS_PLATFORM_UPDATE_ENGINE_DOWNLOAD_ACTION_H__
OLDNEW
« no previous file with comments | « action_processor.h ('k') | download_action.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698