summaryrefslogtreecommitdiffstats
path: root/chrome/browser/net
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/net')
-rw-r--r--chrome/browser/net/packed_ct_ev_whitelist.cc8
-rw-r--r--chrome/browser/net/packed_ct_ev_whitelist.h8
-rw-r--r--chrome/browser/net/packed_ct_ev_whitelist_unittest.cc8
3 files changed, 18 insertions, 6 deletions
diff --git a/chrome/browser/net/packed_ct_ev_whitelist.cc b/chrome/browser/net/packed_ct_ev_whitelist.cc
index 402838d..685ccbb 100644
--- a/chrome/browser/net/packed_ct_ev_whitelist.cc
+++ b/chrome/browser/net/packed_ct_ev_whitelist.cc
@@ -98,7 +98,9 @@ bool PackedEVCertsWhitelist::UncompressEVWhitelist(
}
PackedEVCertsWhitelist::PackedEVCertsWhitelist(
- const std::string& compressed_whitelist) {
+ const std::string& compressed_whitelist,
+ const base::Version& version)
+ : version_(version) {
if (!UncompressEVWhitelist(compressed_whitelist, &whitelist_)) {
whitelist_.clear();
return;
@@ -124,3 +126,7 @@ bool PackedEVCertsWhitelist::ContainsCertificateHash(
bool PackedEVCertsWhitelist::IsValid() const {
return whitelist_.size() > 0;
}
+
+base::Version PackedEVCertsWhitelist::Version() const {
+ return version_;
+}
diff --git a/chrome/browser/net/packed_ct_ev_whitelist.h b/chrome/browser/net/packed_ct_ev_whitelist.h
index 6cbc545..6520f3f 100644
--- a/chrome/browser/net/packed_ct_ev_whitelist.h
+++ b/chrome/browser/net/packed_ct_ev_whitelist.h
@@ -11,6 +11,7 @@
#include <vector>
#include "base/gtest_prod_util.h"
+#include "base/version.h"
#include "net/cert/ct_ev_whitelist.h"
namespace base {
@@ -30,7 +31,8 @@ class PackedEVCertsWhitelist : public net::ct::EVCertsWhitelist {
public:
// Unpacks the given |compressed_whitelist|. See the class documentation
// for description of the |compressed_whitelist| format.
- explicit PackedEVCertsWhitelist(const std::string& compressed_whitelist);
+ PackedEVCertsWhitelist(const std::string& compressed_whitelist,
+ const base::Version& version);
// Returns true if the |certificate_hash| appears in the EV certificate hashes
// whitelist. Must not be called if IsValid for this instance returned false.
@@ -41,6 +43,9 @@ class PackedEVCertsWhitelist : public net::ct::EVCertsWhitelist {
// was valid, false otherwise.
bool IsValid() const override;
+ // Returns the version of the whitelist in use, if available.
+ base::Version Version() const override;
+
protected:
~PackedEVCertsWhitelist() override;
@@ -67,6 +72,7 @@ class PackedEVCertsWhitelist : public net::ct::EVCertsWhitelist {
// shows that bsearch is about twice as fast as std::set lookups (and std::set
// has additional memory overhead).
std::vector<uint64_t> whitelist_;
+ base::Version version_;
DISALLOW_COPY_AND_ASSIGN(PackedEVCertsWhitelist);
};
diff --git a/chrome/browser/net/packed_ct_ev_whitelist_unittest.cc b/chrome/browser/net/packed_ct_ev_whitelist_unittest.cc
index 346d659..7877e95 100644
--- a/chrome/browser/net/packed_ct_ev_whitelist_unittest.cc
+++ b/chrome/browser/net/packed_ct_ev_whitelist_unittest.cc
@@ -119,7 +119,7 @@ TEST(PackedEVCertsWhitelistTest, UncompressesWhitelistCorrectly) {
TEST(PackedEVCertsWhitelistTest, CanFindHashInSetList) {
scoped_refptr<PackedEVCertsWhitelist> whitelist(
- new PackedEVCertsWhitelist(GetAllWhitelistData()));
+ new PackedEVCertsWhitelist(GetAllWhitelistData(), base::Version()));
EXPECT_TRUE(whitelist->IsValid());
EXPECT_TRUE(whitelist->ContainsCertificateHash(GetFirstHash()));
@@ -129,21 +129,21 @@ TEST(PackedEVCertsWhitelistTest, CanFindHashInSetList) {
TEST(PackedEVCertsWhitelistTest, CorrectlyIdentifiesEmptyWhitelistIsInvalid) {
scoped_refptr<PackedEVCertsWhitelist> whitelist(
- new PackedEVCertsWhitelist(""));
+ new PackedEVCertsWhitelist(std::string(), base::Version()));
EXPECT_FALSE(whitelist->IsValid());
}
TEST(PackedEVCertsWhitelistTest, CorrectlyIdentifiesPartialWhitelistIsInvalid) {
scoped_refptr<PackedEVCertsWhitelist> whitelist(
- new PackedEVCertsWhitelist(GetPartialWhitelistData(14)));
+ new PackedEVCertsWhitelist(GetPartialWhitelistData(14), base::Version()));
EXPECT_FALSE(whitelist->IsValid());
}
TEST(PackedEVCertsWhitelistTest, CorrectlyIdentifiesWhitelistIsValid) {
scoped_refptr<PackedEVCertsWhitelist> whitelist(
- new PackedEVCertsWhitelist(GetAllWhitelistData()));
+ new PackedEVCertsWhitelist(GetAllWhitelistData(), base::Version()));
EXPECT_TRUE(whitelist->IsValid());
}