diff options
Diffstat (limited to 'chrome/browser/net')
-rw-r--r-- | chrome/browser/net/packed_ct_ev_whitelist.cc | 8 | ||||
-rw-r--r-- | chrome/browser/net/packed_ct_ev_whitelist.h | 8 | ||||
-rw-r--r-- | chrome/browser/net/packed_ct_ev_whitelist_unittest.cc | 8 |
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()); } |