OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium 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 #include "chrome/browser/component_updater/component_unpacker.h" | 5 #include "chrome/browser/component_updater/component_unpacker.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "base/file_util.h" | 10 #include "base/file_util.h" |
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
84 sizeof(extension_misc::kSignatureAlgorithm), | 84 sizeof(extension_misc::kSignatureAlgorithm), |
85 &signature[0], signature.size(), | 85 &signature[0], signature.size(), |
86 &key[0], key.size())) { | 86 &key[0], key.size())) { |
87 // Signature verification initialization failed. This is most likely | 87 // Signature verification initialization failed. This is most likely |
88 // caused by a public key in the wrong format (should encode algorithm). | 88 // caused by a public key in the wrong format (should encode algorithm). |
89 result_ = kWrongKeyFormat; | 89 result_ = kWrongKeyFormat; |
90 return; | 90 return; |
91 } | 91 } |
92 | 92 |
93 const size_t kBufSize = 8 * 1024; | 93 const size_t kBufSize = 8 * 1024; |
94 scoped_ptr<uint8> buf(new uint8[kBufSize]); | 94 scoped_array<uint8> buf(new uint8[kBufSize]); |
95 while ((len = fread(buf.get(), 1, kBufSize, crx_file)) > 0) | 95 while ((len = fread(buf.get(), 1, kBufSize, crx_file)) > 0) |
96 verifier.VerifyUpdate(buf.get(), len); | 96 verifier.VerifyUpdate(buf.get(), len); |
97 | 97 |
98 if (!verifier.VerifyFinal()) { | 98 if (!verifier.VerifyFinal()) { |
99 result_ = kSignatureMismatch; | 99 result_ = kSignatureMismatch; |
100 return; | 100 return; |
101 } | 101 } |
102 | 102 |
103 public_key_.swap(key); | 103 public_key_.swap(key); |
104 result_ = kValid; | 104 result_ = kValid; |
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
201 } | 201 } |
202 // Installation succesful. The directory is not our concern now. | 202 // Installation succesful. The directory is not our concern now. |
203 unpack_path_.clear(); | 203 unpack_path_.clear(); |
204 } | 204 } |
205 | 205 |
206 ComponentUnpacker::~ComponentUnpacker() { | 206 ComponentUnpacker::~ComponentUnpacker() { |
207 if (!unpack_path_.empty()) { | 207 if (!unpack_path_.empty()) { |
208 file_util::Delete(unpack_path_, true); | 208 file_util::Delete(unpack_path_, true); |
209 } | 209 } |
210 } | 210 } |
211 | |
OLD | NEW |