Chromium Code Reviews| Index: download_action.cc |
| diff --git a/download_action.cc b/download_action.cc |
| index 9577047de5f49c55fc6d6540baf02edc50ba7a05..1cef2f2a6ed7c7eaf86a87126f7d6fef415041cb 100644 |
| --- a/download_action.cc |
| +++ b/download_action.cc |
| @@ -27,7 +27,8 @@ DownloadAction::DownloadAction(PrefsInterface* prefs, |
| http_fetcher_(http_fetcher), |
| code_(kActionCodeSuccess), |
| delegate_(NULL), |
| - bytes_received_(0) {} |
| + bytes_received_(0), |
| + skip_reporting_signature_fail_(NULL) {} |
| DownloadAction::~DownloadAction() {} |
| @@ -157,6 +158,7 @@ void DownloadAction::TransferComplete(HttpFetcher *fetcher, bool successful) { |
| if (delegate_) { |
| delegate_->SetDownloadStatus(false); // Set to inactive. |
| } |
| + bool sign_verify_failed = false; |
|
gauravsh
2011/04/06 00:07:23
nit: consider calling this signature_... to avoid
|
| ActionExitCode code = |
| successful ? kActionCodeSuccess : kActionCodeDownloadTransferError; |
| if (code == kActionCodeSuccess) { |
| @@ -164,7 +166,7 @@ void DownloadAction::TransferComplete(HttpFetcher *fetcher, bool successful) { |
| if (!delta_performer_->VerifyPayload("", |
| install_plan_.download_hash, |
| install_plan_.size, |
| - NULL)) { |
| + &sign_verify_failed)) { |
| LOG(ERROR) << "Download of " << install_plan_.download_url |
| << " failed due to payload verification error."; |
| code = kActionCodeDownloadPayloadVerificationError; |
| @@ -193,6 +195,12 @@ void DownloadAction::TransferComplete(HttpFetcher *fetcher, bool successful) { |
| } |
| } |
| + if (skip_reporting_signature_fail_.get() && |
| + (code != kActionCodeSuccess || !sign_verify_failed)) { |
| + LOG(INFO) << "Suppressing signature pub key verification warning"; |
| + skip_reporting_signature_fail_->Run(); |
| + } |
| + |
| FlushLinuxCaches(); |
| // Write the path to the output pipe if we're successful. |