OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "net/http/transport_security_state.h" | 5 #include "net/http/transport_security_state.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <string> | 8 #include <string> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
(...skipping 281 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
292 // We do more extensive checks for the first domain. | 292 // We do more extensive checks for the first domain. |
293 EXPECT_TRUE( | 293 EXPECT_TRUE( |
294 state.GetStaticDomainState("www.paypal.com", &domain_state)); | 294 state.GetStaticDomainState("www.paypal.com", &domain_state)); |
295 EXPECT_EQ(domain_state.sts.upgrade_mode, | 295 EXPECT_EQ(domain_state.sts.upgrade_mode, |
296 TransportSecurityState::DomainState::MODE_FORCE_HTTPS); | 296 TransportSecurityState::DomainState::MODE_FORCE_HTTPS); |
297 EXPECT_FALSE(domain_state.sts.include_subdomains); | 297 EXPECT_FALSE(domain_state.sts.include_subdomains); |
298 EXPECT_FALSE(domain_state.pkp.include_subdomains); | 298 EXPECT_FALSE(domain_state.pkp.include_subdomains); |
299 | 299 |
300 EXPECT_TRUE(HasStaticState("paypal.com")); | 300 EXPECT_TRUE(HasStaticState("paypal.com")); |
301 EXPECT_FALSE(HasStaticState("www2.paypal.com")); | 301 EXPECT_FALSE(HasStaticState("www2.paypal.com")); |
302 EXPECT_FALSE(HasStaticState("www2.paypal.com")); | |
303 | 302 |
304 // Google hosts: | 303 // Google hosts: |
305 | 304 |
306 EXPECT_TRUE(StaticShouldRedirect("chrome.google.com")); | 305 EXPECT_TRUE(StaticShouldRedirect("chrome.google.com")); |
307 EXPECT_TRUE(StaticShouldRedirect("checkout.google.com")); | 306 EXPECT_TRUE(StaticShouldRedirect("checkout.google.com")); |
308 EXPECT_TRUE(StaticShouldRedirect("wallet.google.com")); | 307 EXPECT_TRUE(StaticShouldRedirect("wallet.google.com")); |
309 EXPECT_TRUE(StaticShouldRedirect("docs.google.com")); | 308 EXPECT_TRUE(StaticShouldRedirect("docs.google.com")); |
310 EXPECT_TRUE(StaticShouldRedirect("sites.google.com")); | 309 EXPECT_TRUE(StaticShouldRedirect("sites.google.com")); |
311 EXPECT_TRUE(StaticShouldRedirect("drive.google.com")); | 310 EXPECT_TRUE(StaticShouldRedirect("drive.google.com")); |
312 EXPECT_TRUE(StaticShouldRedirect("spreadsheets.google.com")); | 311 EXPECT_TRUE(StaticShouldRedirect("spreadsheets.google.com")); |
(...skipping 215 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
528 EXPECT_FALSE(domain_state.pkp.spki_hashes.empty()); | 527 EXPECT_FALSE(domain_state.pkp.spki_hashes.empty()); |
529 EXPECT_TRUE(state.GetStaticDomainState("www.torproject.org", &domain_state)); | 528 EXPECT_TRUE(state.GetStaticDomainState("www.torproject.org", &domain_state)); |
530 EXPECT_FALSE(domain_state.pkp.spki_hashes.empty()); | 529 EXPECT_FALSE(domain_state.pkp.spki_hashes.empty()); |
531 EXPECT_TRUE( | 530 EXPECT_TRUE( |
532 state.GetStaticDomainState("check.torproject.org", &domain_state)); | 531 state.GetStaticDomainState("check.torproject.org", &domain_state)); |
533 EXPECT_FALSE(domain_state.pkp.spki_hashes.empty()); | 532 EXPECT_FALSE(domain_state.pkp.spki_hashes.empty()); |
534 EXPECT_TRUE(state.GetStaticDomainState("blog.torproject.org", &domain_state)); | 533 EXPECT_TRUE(state.GetStaticDomainState("blog.torproject.org", &domain_state)); |
535 EXPECT_FALSE(domain_state.pkp.spki_hashes.empty()); | 534 EXPECT_FALSE(domain_state.pkp.spki_hashes.empty()); |
536 | 535 |
537 EXPECT_TRUE(HasStaticPublicKeyPins("www.twitter.com")); | 536 EXPECT_TRUE(HasStaticPublicKeyPins("www.twitter.com")); |
| 537 |
| 538 // Check that Facebook subdomains have pinning but not HSTS. |
| 539 EXPECT_TRUE(state.GetStaticDomainState("facebook.com", &domain_state)); |
| 540 EXPECT_FALSE(domain_state.pkp.spki_hashes.empty()); |
| 541 EXPECT_TRUE(StaticShouldRedirect("facebook.com")); |
| 542 |
| 543 EXPECT_TRUE(state.GetStaticDomainState("foo.facebook.com", &domain_state)); |
| 544 EXPECT_FALSE(domain_state.pkp.spki_hashes.empty()); |
| 545 EXPECT_FALSE(StaticShouldRedirect("foo.facebook.com")); |
| 546 |
| 547 EXPECT_TRUE(state.GetStaticDomainState("www.facebook.com", &domain_state)); |
| 548 EXPECT_FALSE(domain_state.pkp.spki_hashes.empty()); |
| 549 EXPECT_TRUE(StaticShouldRedirect("www.facebook.com")); |
| 550 |
| 551 EXPECT_TRUE( |
| 552 state.GetStaticDomainState("foo.www.facebook.com", &domain_state)); |
| 553 EXPECT_FALSE(domain_state.pkp.spki_hashes.empty()); |
| 554 EXPECT_TRUE(StaticShouldRedirect("foo.www.facebook.com")); |
538 } | 555 } |
539 | 556 |
540 TEST_F(TransportSecurityStateTest, LongNames) { | 557 TEST_F(TransportSecurityStateTest, LongNames) { |
541 TransportSecurityState state; | 558 TransportSecurityState state; |
542 const char kLongName[] = | 559 const char kLongName[] = |
543 "lookupByWaveIdHashAndWaveIdIdAndWaveIdDomainAndWaveletIdIdAnd" | 560 "lookupByWaveIdHashAndWaveIdIdAndWaveIdDomainAndWaveletIdIdAnd" |
544 "WaveletIdDomainAndBlipBlipid"; | 561 "WaveletIdDomainAndBlipBlipid"; |
545 TransportSecurityState::DomainState domain_state; | 562 TransportSecurityState::DomainState domain_state; |
546 // Just checks that we don't hit a NOTREACHED. | 563 // Just checks that we don't hit a NOTREACHED. |
547 EXPECT_FALSE(state.GetStaticDomainState(kLongName, &domain_state)); | 564 EXPECT_FALSE(state.GetStaticDomainState(kLongName, &domain_state)); |
(...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
751 // These hosts used to only be HSTS when SNI was available. | 768 // These hosts used to only be HSTS when SNI was available. |
752 EXPECT_TRUE(TransportSecurityState::IsGooglePinnedProperty( | 769 EXPECT_TRUE(TransportSecurityState::IsGooglePinnedProperty( |
753 "gmail.com")); | 770 "gmail.com")); |
754 EXPECT_TRUE(TransportSecurityState::IsGooglePinnedProperty( | 771 EXPECT_TRUE(TransportSecurityState::IsGooglePinnedProperty( |
755 "googlegroups.com")); | 772 "googlegroups.com")); |
756 EXPECT_TRUE(TransportSecurityState::IsGooglePinnedProperty( | 773 EXPECT_TRUE(TransportSecurityState::IsGooglePinnedProperty( |
757 "www.googlegroups.com")); | 774 "www.googlegroups.com")); |
758 } | 775 } |
759 | 776 |
760 } // namespace net | 777 } // namespace net |
OLD | NEW |