Index: net/http/transport_security_state_unittest.cc |
diff --git a/net/http/transport_security_state_unittest.cc b/net/http/transport_security_state_unittest.cc |
index 9200b5a8fada85bf2929c3f764f13e913753dd76..c9c108359fa22ac1b53c1a89e8acaad6a6df465d 100644 |
--- a/net/http/transport_security_state_unittest.cc |
+++ b/net/http/transport_security_state_unittest.cc |
@@ -212,6 +212,9 @@ TEST_F(TransportSecurityStateTest, SubdomainMatches) { |
// with it, regardless of the includeSubDomains bit. This is a regression test |
// for https://crbug.com/469957. |
TEST_F(TransportSecurityStateTest, SubdomainCarveout) { |
+ static const char kReportUri[] = "http://example.com/test"; |
+ std::string report_uri(kReportUri); |
+ |
TransportSecurityState state; |
const base::Time current_time(base::Time::Now()); |
const base::Time expiry = current_time + base::TimeDelta::FromSeconds(1000); |
@@ -220,8 +223,10 @@ TEST_F(TransportSecurityStateTest, SubdomainCarveout) { |
state.AddHSTS("example1.test", expiry, true); |
state.AddHSTS("foo.example1.test", expiry, false); |
- state.AddHPKP("example2.test", expiry, true, GetSampleSPKIHashes()); |
- state.AddHPKP("foo.example2.test", expiry, false, GetSampleSPKIHashes()); |
+ state.AddHPKP("example2.test", expiry, true, GetSampleSPKIHashes(), |
+ report_uri); |
+ state.AddHPKP("foo.example2.test", expiry, false, GetSampleSPKIHashes(), |
+ report_uri); |
EXPECT_TRUE(state.ShouldUpgradeToSSL("example1.test")); |
EXPECT_TRUE(state.ShouldUpgradeToSSL("foo.example1.test")); |
@@ -241,7 +246,8 @@ TEST_F(TransportSecurityStateTest, SubdomainCarveout) { |
// Expire the foo.example*.test rules. |
state.AddHSTS("foo.example1.test", older, false); |
- state.AddHPKP("foo.example2.test", older, false, GetSampleSPKIHashes()); |
+ state.AddHPKP("foo.example2.test", older, false, GetSampleSPKIHashes(), |
+ report_uri); |
// Now the base example*.test rules apply to bar.foo.example*.test. |
EXPECT_TRUE(state.ShouldUpgradeToSSL("bar.foo.example1.test")); |
@@ -251,12 +257,16 @@ TEST_F(TransportSecurityStateTest, SubdomainCarveout) { |
} |
TEST_F(TransportSecurityStateTest, FatalSSLErrors) { |
+ static const char kReportUri[] = "http://example.com/test"; |
+ std::string report_uri(kReportUri); |
+ |
TransportSecurityState state; |
const base::Time current_time(base::Time::Now()); |
const base::Time expiry = current_time + base::TimeDelta::FromSeconds(1000); |
state.AddHSTS("example1.test", expiry, false); |
- state.AddHPKP("example2.test", expiry, false, GetSampleSPKIHashes()); |
+ state.AddHPKP("example2.test", expiry, false, GetSampleSPKIHashes(), |
+ report_uri); |
// The presense of either HSTS or HPKP is enough to make SSL errors fatal. |
EXPECT_TRUE(state.ShouldSSLErrorsBeFatal("example1.test")); |
@@ -266,6 +276,9 @@ TEST_F(TransportSecurityStateTest, FatalSSLErrors) { |
// Tests that HPKP and HSTS state both expire. Also tests that expired entries |
// are pruned. |
TEST_F(TransportSecurityStateTest, Expiration) { |
+ static const char kReportUri[] = "http://example.com/test"; |
+ std::string report_uri(kReportUri); |
+ |
TransportSecurityState state; |
const base::Time current_time(base::Time::Now()); |
const base::Time expiry = current_time + base::TimeDelta::FromSeconds(1000); |
@@ -279,14 +292,16 @@ TEST_F(TransportSecurityStateTest, Expiration) { |
// Querying |state| for a domain should flush out expired entries. |
EXPECT_FALSE(TransportSecurityState::Iterator(state).HasNext()); |
- state.AddHPKP("example1.test", older, false, GetSampleSPKIHashes()); |
+ state.AddHPKP("example1.test", older, false, GetSampleSPKIHashes(), |
+ report_uri); |
EXPECT_TRUE(TransportSecurityState::Iterator(state).HasNext()); |
EXPECT_FALSE(state.HasPublicKeyPins("example1.test")); |
// Querying |state| for a domain should flush out expired entries. |
EXPECT_FALSE(TransportSecurityState::Iterator(state).HasNext()); |
state.AddHSTS("example1.test", older, false); |
- state.AddHPKP("example1.test", older, false, GetSampleSPKIHashes()); |
+ state.AddHPKP("example1.test", older, false, GetSampleSPKIHashes(), |
+ report_uri); |
EXPECT_TRUE(TransportSecurityState::Iterator(state).HasNext()); |
EXPECT_FALSE(state.ShouldSSLErrorsBeFatal("example1.test")); |
// Querying |state| for a domain should flush out expired entries. |
@@ -294,13 +309,15 @@ TEST_F(TransportSecurityStateTest, Expiration) { |
// Test that HSTS can outlive HPKP. |
state.AddHSTS("example1.test", expiry, false); |
- state.AddHPKP("example1.test", older, false, GetSampleSPKIHashes()); |
+ state.AddHPKP("example1.test", older, false, GetSampleSPKIHashes(), |
+ report_uri); |
EXPECT_TRUE(state.ShouldUpgradeToSSL("example1.test")); |
EXPECT_FALSE(state.HasPublicKeyPins("example1.test")); |
// Test that HPKP can outlive HSTS. |
state.AddHSTS("example2.test", older, false); |
- state.AddHPKP("example2.test", expiry, false, GetSampleSPKIHashes()); |
+ state.AddHPKP("example2.test", expiry, false, GetSampleSPKIHashes(), |
+ report_uri); |
EXPECT_FALSE(state.ShouldUpgradeToSSL("example2.test")); |
EXPECT_TRUE(state.HasPublicKeyPins("example2.test")); |
} |
@@ -320,15 +337,20 @@ TEST_F(TransportSecurityStateTest, InvalidDomains) { |
// Tests that HPKP and HSTS state are queried independently for subdomain |
// matches. |
TEST_F(TransportSecurityStateTest, IndependentSubdomain) { |
+ static const char kReportUri[] = "http://example.com/test"; |
+ std::string report_uri(kReportUri); |
+ |
TransportSecurityState state; |
const base::Time current_time(base::Time::Now()); |
const base::Time expiry = current_time + base::TimeDelta::FromSeconds(1000); |
state.AddHSTS("example1.test", expiry, true); |
- state.AddHPKP("example1.test", expiry, false, GetSampleSPKIHashes()); |
+ state.AddHPKP("example1.test", expiry, false, GetSampleSPKIHashes(), |
+ report_uri); |
state.AddHSTS("example2.test", expiry, false); |
- state.AddHPKP("example2.test", expiry, true, GetSampleSPKIHashes()); |
+ state.AddHPKP("example2.test", expiry, true, GetSampleSPKIHashes(), |
+ report_uri); |
EXPECT_TRUE(state.ShouldUpgradeToSSL("foo.example1.test")); |
EXPECT_FALSE(state.HasPublicKeyPins("foo.example1.test")); |
@@ -338,13 +360,17 @@ TEST_F(TransportSecurityStateTest, IndependentSubdomain) { |
// Tests that HPKP and HSTS state are inserted and overridden independently. |
TEST_F(TransportSecurityStateTest, IndependentInsertion) { |
+ static const char kReportUri[] = "http://example.com/test"; |
+ std::string report_uri(kReportUri); |
+ |
TransportSecurityState state; |
const base::Time current_time(base::Time::Now()); |
const base::Time expiry = current_time + base::TimeDelta::FromSeconds(1000); |
// Place an includeSubdomains HSTS entry below a normal HPKP entry. |
state.AddHSTS("example1.test", expiry, true); |
- state.AddHPKP("foo.example1.test", expiry, false, GetSampleSPKIHashes()); |
+ state.AddHPKP("foo.example1.test", expiry, false, GetSampleSPKIHashes(), |
+ report_uri); |
EXPECT_TRUE(state.ShouldUpgradeToSSL("foo.example1.test")); |
EXPECT_TRUE(state.HasPublicKeyPins("foo.example1.test")); |
@@ -359,13 +385,15 @@ TEST_F(TransportSecurityStateTest, IndependentInsertion) { |
// Place an includeSubdomains HPKP entry below a normal HSTS entry. |
state.AddHSTS("foo.example2.test", expiry, false); |
- state.AddHPKP("example2.test", expiry, true, GetSampleSPKIHashes()); |
+ state.AddHPKP("example2.test", expiry, true, GetSampleSPKIHashes(), |
+ report_uri); |
EXPECT_TRUE(state.ShouldUpgradeToSSL("foo.example2.test")); |
EXPECT_TRUE(state.HasPublicKeyPins("foo.example2.test")); |
// Drop the includeSubdomains from the HSTS entry. |
- state.AddHPKP("example2.test", expiry, false, GetSampleSPKIHashes()); |
+ state.AddHPKP("example2.test", expiry, false, GetSampleSPKIHashes(), |
+ report_uri); |
EXPECT_TRUE(state.ShouldUpgradeToSSL("foo.example2.test")); |
EXPECT_FALSE(state.HasPublicKeyPins("foo.example2.test")); |
@@ -374,13 +402,17 @@ TEST_F(TransportSecurityStateTest, IndependentInsertion) { |
// Tests that GetDynamicDomainState appropriately stitches together the results |
// of HSTS and HPKP. |
TEST_F(TransportSecurityStateTest, DynamicDomainState) { |
+ static const char kReportUri[] = "http://example.com/test"; |
+ std::string report_uri(kReportUri); |
+ |
TransportSecurityState state; |
const base::Time current_time(base::Time::Now()); |
const base::Time expiry1 = current_time + base::TimeDelta::FromSeconds(1000); |
const base::Time expiry2 = current_time + base::TimeDelta::FromSeconds(2000); |
state.AddHSTS("example.com", expiry1, true); |
- state.AddHPKP("foo.example.com", expiry2, false, GetSampleSPKIHashes()); |
+ state.AddHPKP("foo.example.com", expiry2, false, GetSampleSPKIHashes(), |
+ report_uri); |
TransportSecurityState::DomainState domain_state; |
ASSERT_TRUE(state.GetDynamicDomainState("foo.example.com", &domain_state)); |
@@ -397,6 +429,9 @@ TEST_F(TransportSecurityStateTest, DynamicDomainState) { |
// Tests that new pins always override previous pins. This should be true for |
// both pins at the same domain or includeSubdomains pins at a parent domain. |
TEST_F(TransportSecurityStateTest, NewPinsOverride) { |
+ static const char kReportUri[] = "http://example.com/test"; |
Ryan Sleevi
2015/06/26 19:41:52
nit: Rather than constantly duplicating this - sti
estark
2015/06/26 22:42:11
Done.
|
+ std::string report_uri(kReportUri); |
+ |
TransportSecurityState state; |
TransportSecurityState::DomainState domain_state; |
const base::Time current_time(base::Time::Now()); |
@@ -408,19 +443,22 @@ TEST_F(TransportSecurityStateTest, NewPinsOverride) { |
HashValue hash3(HASH_VALUE_SHA1); |
memset(hash3.data(), 0x03, hash1.size()); |
- state.AddHPKP("example.com", expiry, true, HashValueVector(1, hash1)); |
+ state.AddHPKP("example.com", expiry, true, HashValueVector(1, hash1), |
+ report_uri); |
ASSERT_TRUE(state.GetDynamicDomainState("foo.example.com", &domain_state)); |
ASSERT_EQ(1u, domain_state.pkp.spki_hashes.size()); |
EXPECT_TRUE(domain_state.pkp.spki_hashes[0].Equals(hash1)); |
- state.AddHPKP("foo.example.com", expiry, false, HashValueVector(1, hash2)); |
+ state.AddHPKP("foo.example.com", expiry, false, HashValueVector(1, hash2), |
+ report_uri); |
ASSERT_TRUE(state.GetDynamicDomainState("foo.example.com", &domain_state)); |
ASSERT_EQ(1u, domain_state.pkp.spki_hashes.size()); |
EXPECT_TRUE(domain_state.pkp.spki_hashes[0].Equals(hash2)); |
- state.AddHPKP("foo.example.com", expiry, false, HashValueVector(1, hash3)); |
+ state.AddHPKP("foo.example.com", expiry, false, HashValueVector(1, hash3), |
+ report_uri); |
ASSERT_TRUE(state.GetDynamicDomainState("foo.example.com", &domain_state)); |
ASSERT_EQ(1u, domain_state.pkp.spki_hashes.size()); |