| 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/quic/quic_stream_factory.h" | 5 #include "net/quic/quic_stream_factory.h" |
| 6 | 6 |
| 7 #include "base/run_loop.h" | 7 #include "base/run_loop.h" |
| 8 #include "base/strings/string_util.h" | 8 #include "base/strings/string_util.h" |
| 9 #include "net/base/test_data_directory.h" | 9 #include "net/base/test_data_directory.h" |
| 10 #include "net/cert/cert_verifier.h" | 10 #include "net/cert/cert_verifier.h" |
| (...skipping 664 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 675 // www.example.org (server1) | 675 // www.example.org (server1) |
| 676 // mail.example.org (server2) | 676 // mail.example.org (server2) |
| 677 // www.example.com | 677 // www.example.com |
| 678 base::FilePath certs_dir = GetTestCertsDirectory(); | 678 base::FilePath certs_dir = GetTestCertsDirectory(); |
| 679 scoped_refptr<X509Certificate> test_cert( | 679 scoped_refptr<X509Certificate> test_cert( |
| 680 ImportCertFromFile(certs_dir, "spdy_pooling.pem")); | 680 ImportCertFromFile(certs_dir, "spdy_pooling.pem")); |
| 681 ASSERT_NE(static_cast<X509Certificate*>(nullptr), test_cert.get()); | 681 ASSERT_NE(static_cast<X509Certificate*>(nullptr), test_cert.get()); |
| 682 ProofVerifyDetailsChromium verify_details; | 682 ProofVerifyDetailsChromium verify_details; |
| 683 verify_details.cert_verify_result.verified_cert = test_cert; | 683 verify_details.cert_verify_result.verified_cert = test_cert; |
| 684 verify_details.cert_verify_result.is_issued_by_known_root = true; | 684 verify_details.cert_verify_result.is_issued_by_known_root = true; |
| 685 crypto_client_stream_factory_.set_proof_verify_details(&verify_details); | 685 crypto_client_stream_factory_.add_proof_verify_details(&verify_details); |
| 686 | 686 |
| 687 host_resolver_.set_synchronous_mode(true); | 687 host_resolver_.set_synchronous_mode(true); |
| 688 host_resolver_.rules()->AddIPLiteralRule(server1.host(), "192.168.0.1", ""); | 688 host_resolver_.rules()->AddIPLiteralRule(server1.host(), "192.168.0.1", ""); |
| 689 host_resolver_.rules()->AddIPLiteralRule(server2.host(), "192.168.0.1", ""); | 689 host_resolver_.rules()->AddIPLiteralRule(server2.host(), "192.168.0.1", ""); |
| 690 | 690 |
| 691 QuicStreamRequest request(&factory_); | 691 QuicStreamRequest request(&factory_); |
| 692 is_https_ = true; | 692 is_https_ = true; |
| 693 EXPECT_EQ(OK, | 693 EXPECT_EQ(OK, |
| 694 request.Request(server1, | 694 request.Request(server1, |
| 695 is_https_, | 695 is_https_, |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 739 // www.example.org (server1) | 739 // www.example.org (server1) |
| 740 // mail.example.org (server2) | 740 // mail.example.org (server2) |
| 741 // www.example.com | 741 // www.example.com |
| 742 base::FilePath certs_dir = GetTestCertsDirectory(); | 742 base::FilePath certs_dir = GetTestCertsDirectory(); |
| 743 scoped_refptr<X509Certificate> test_cert( | 743 scoped_refptr<X509Certificate> test_cert( |
| 744 ImportCertFromFile(certs_dir, "spdy_pooling.pem")); | 744 ImportCertFromFile(certs_dir, "spdy_pooling.pem")); |
| 745 ASSERT_NE(static_cast<X509Certificate*>(nullptr), test_cert.get()); | 745 ASSERT_NE(static_cast<X509Certificate*>(nullptr), test_cert.get()); |
| 746 ProofVerifyDetailsChromium verify_details; | 746 ProofVerifyDetailsChromium verify_details; |
| 747 verify_details.cert_verify_result.verified_cert = test_cert; | 747 verify_details.cert_verify_result.verified_cert = test_cert; |
| 748 verify_details.cert_verify_result.is_issued_by_known_root = true; | 748 verify_details.cert_verify_result.is_issued_by_known_root = true; |
| 749 crypto_client_stream_factory_.set_proof_verify_details(&verify_details); | 749 crypto_client_stream_factory_.add_proof_verify_details(&verify_details); |
| 750 | 750 |
| 751 host_resolver_.set_synchronous_mode(true); | 751 host_resolver_.set_synchronous_mode(true); |
| 752 host_resolver_.rules()->AddIPLiteralRule(server1.host(), "192.168.0.1", ""); | 752 host_resolver_.rules()->AddIPLiteralRule(server1.host(), "192.168.0.1", ""); |
| 753 host_resolver_.rules()->AddIPLiteralRule(server2.host(), "192.168.0.1", ""); | 753 host_resolver_.rules()->AddIPLiteralRule(server2.host(), "192.168.0.1", ""); |
| 754 | 754 |
| 755 // Disable connection pooling. | 755 // Disable connection pooling. |
| 756 QuicStreamFactoryPeer::DisableConnectionPooling(&factory_); | 756 QuicStreamFactoryPeer::DisableConnectionPooling(&factory_); |
| 757 | 757 |
| 758 QuicStreamRequest request(&factory_); | 758 QuicStreamRequest request(&factory_); |
| 759 is_https_ = true; | 759 is_https_ = true; |
| (...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 808 // www.example.org (server1) | 808 // www.example.org (server1) |
| 809 // mail.example.org | 809 // mail.example.org |
| 810 // www.example.com | 810 // www.example.com |
| 811 // But is not valid for mail.google.com (server2). | 811 // But is not valid for mail.google.com (server2). |
| 812 base::FilePath certs_dir = GetTestCertsDirectory(); | 812 base::FilePath certs_dir = GetTestCertsDirectory(); |
| 813 scoped_refptr<X509Certificate> test_cert( | 813 scoped_refptr<X509Certificate> test_cert( |
| 814 ImportCertFromFile(certs_dir, "spdy_pooling.pem")); | 814 ImportCertFromFile(certs_dir, "spdy_pooling.pem")); |
| 815 ASSERT_NE(static_cast<X509Certificate*>(nullptr), test_cert.get()); | 815 ASSERT_NE(static_cast<X509Certificate*>(nullptr), test_cert.get()); |
| 816 ProofVerifyDetailsChromium verify_details; | 816 ProofVerifyDetailsChromium verify_details; |
| 817 verify_details.cert_verify_result.verified_cert = test_cert; | 817 verify_details.cert_verify_result.verified_cert = test_cert; |
| 818 crypto_client_stream_factory_.set_proof_verify_details(&verify_details); | 818 crypto_client_stream_factory_.add_proof_verify_details(&verify_details); |
| 819 | |
| 820 | 819 |
| 821 host_resolver_.set_synchronous_mode(true); | 820 host_resolver_.set_synchronous_mode(true); |
| 822 host_resolver_.rules()->AddIPLiteralRule(server1.host(), "192.168.0.1", ""); | 821 host_resolver_.rules()->AddIPLiteralRule(server1.host(), "192.168.0.1", ""); |
| 823 host_resolver_.rules()->AddIPLiteralRule(server2.host(), "192.168.0.1", ""); | 822 host_resolver_.rules()->AddIPLiteralRule(server2.host(), "192.168.0.1", ""); |
| 824 | 823 |
| 825 QuicStreamRequest request(&factory_); | 824 QuicStreamRequest request(&factory_); |
| 826 is_https_ = true; | 825 is_https_ = true; |
| 827 EXPECT_EQ(OK, | 826 EXPECT_EQ(OK, |
| 828 request.Request(server1, | 827 request.Request(server1, |
| 829 is_https_, | 828 is_https_, |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 877 // mail.example.org (server2) | 876 // mail.example.org (server2) |
| 878 base::FilePath certs_dir = GetTestCertsDirectory(); | 877 base::FilePath certs_dir = GetTestCertsDirectory(); |
| 879 scoped_refptr<X509Certificate> test_cert( | 878 scoped_refptr<X509Certificate> test_cert( |
| 880 ImportCertFromFile(certs_dir, "spdy_pooling.pem")); | 879 ImportCertFromFile(certs_dir, "spdy_pooling.pem")); |
| 881 ASSERT_NE(static_cast<X509Certificate*>(nullptr), test_cert.get()); | 880 ASSERT_NE(static_cast<X509Certificate*>(nullptr), test_cert.get()); |
| 882 ProofVerifyDetailsChromium verify_details; | 881 ProofVerifyDetailsChromium verify_details; |
| 883 verify_details.cert_verify_result.verified_cert = test_cert; | 882 verify_details.cert_verify_result.verified_cert = test_cert; |
| 884 verify_details.cert_verify_result.is_issued_by_known_root = true; | 883 verify_details.cert_verify_result.is_issued_by_known_root = true; |
| 885 verify_details.cert_verify_result.public_key_hashes.push_back( | 884 verify_details.cert_verify_result.public_key_hashes.push_back( |
| 886 test::GetTestHashValue(primary_pin)); | 885 test::GetTestHashValue(primary_pin)); |
| 887 crypto_client_stream_factory_.set_proof_verify_details(&verify_details); | 886 crypto_client_stream_factory_.add_proof_verify_details(&verify_details); |
| 888 | |
| 889 | 887 |
| 890 host_resolver_.set_synchronous_mode(true); | 888 host_resolver_.set_synchronous_mode(true); |
| 891 host_resolver_.rules()->AddIPLiteralRule(server1.host(), "192.168.0.1", ""); | 889 host_resolver_.rules()->AddIPLiteralRule(server1.host(), "192.168.0.1", ""); |
| 892 host_resolver_.rules()->AddIPLiteralRule(server2.host(), "192.168.0.1", ""); | 890 host_resolver_.rules()->AddIPLiteralRule(server2.host(), "192.168.0.1", ""); |
| 893 | 891 |
| 894 QuicStreamRequest request(&factory_); | 892 QuicStreamRequest request(&factory_); |
| 895 is_https_ = true; | 893 is_https_ = true; |
| 896 EXPECT_EQ(OK, | 894 EXPECT_EQ(OK, |
| 897 request.Request(server1, | 895 request.Request(server1, |
| 898 is_https_, | 896 is_https_, |
| (...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 947 // mail.example.org (server2) | 945 // mail.example.org (server2) |
| 948 base::FilePath certs_dir = GetTestCertsDirectory(); | 946 base::FilePath certs_dir = GetTestCertsDirectory(); |
| 949 scoped_refptr<X509Certificate> test_cert( | 947 scoped_refptr<X509Certificate> test_cert( |
| 950 ImportCertFromFile(certs_dir, "spdy_pooling.pem")); | 948 ImportCertFromFile(certs_dir, "spdy_pooling.pem")); |
| 951 ASSERT_NE(static_cast<X509Certificate*>(nullptr), test_cert.get()); | 949 ASSERT_NE(static_cast<X509Certificate*>(nullptr), test_cert.get()); |
| 952 ProofVerifyDetailsChromium verify_details; | 950 ProofVerifyDetailsChromium verify_details; |
| 953 verify_details.cert_verify_result.verified_cert = test_cert; | 951 verify_details.cert_verify_result.verified_cert = test_cert; |
| 954 verify_details.cert_verify_result.is_issued_by_known_root = true; | 952 verify_details.cert_verify_result.is_issued_by_known_root = true; |
| 955 verify_details.cert_verify_result.public_key_hashes.push_back( | 953 verify_details.cert_verify_result.public_key_hashes.push_back( |
| 956 test::GetTestHashValue(primary_pin)); | 954 test::GetTestHashValue(primary_pin)); |
| 957 crypto_client_stream_factory_.set_proof_verify_details(&verify_details); | 955 crypto_client_stream_factory_.add_proof_verify_details(&verify_details); |
| 958 | |
| 959 | 956 |
| 960 host_resolver_.set_synchronous_mode(true); | 957 host_resolver_.set_synchronous_mode(true); |
| 961 host_resolver_.rules()->AddIPLiteralRule(server1.host(), "192.168.0.1", ""); | 958 host_resolver_.rules()->AddIPLiteralRule(server1.host(), "192.168.0.1", ""); |
| 962 host_resolver_.rules()->AddIPLiteralRule(server2.host(), "192.168.0.1", ""); | 959 host_resolver_.rules()->AddIPLiteralRule(server2.host(), "192.168.0.1", ""); |
| 963 | 960 |
| 964 // Disable connection pooling. | 961 // Disable connection pooling. |
| 965 QuicStreamFactoryPeer::DisableConnectionPooling(&factory_); | 962 QuicStreamFactoryPeer::DisableConnectionPooling(&factory_); |
| 966 | 963 |
| 967 QuicStreamRequest request(&factory_); | 964 QuicStreamRequest request(&factory_); |
| 968 is_https_ = true; | 965 is_https_ = true; |
| (...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1018 test::AddPin(&transport_security_state_, "mail.example.org", primary_pin, | 1015 test::AddPin(&transport_security_state_, "mail.example.org", primary_pin, |
| 1019 backup_pin); | 1016 backup_pin); |
| 1020 | 1017 |
| 1021 // Load a cert that is valid for: | 1018 // Load a cert that is valid for: |
| 1022 // www.example.org (server1) | 1019 // www.example.org (server1) |
| 1023 // mail.example.org (server2) | 1020 // mail.example.org (server2) |
| 1024 base::FilePath certs_dir = GetTestCertsDirectory(); | 1021 base::FilePath certs_dir = GetTestCertsDirectory(); |
| 1025 scoped_refptr<X509Certificate> test_cert( | 1022 scoped_refptr<X509Certificate> test_cert( |
| 1026 ImportCertFromFile(certs_dir, "spdy_pooling.pem")); | 1023 ImportCertFromFile(certs_dir, "spdy_pooling.pem")); |
| 1027 ASSERT_NE(static_cast<X509Certificate*>(nullptr), test_cert.get()); | 1024 ASSERT_NE(static_cast<X509Certificate*>(nullptr), test_cert.get()); |
| 1028 ProofVerifyDetailsChromium verify_details; | 1025 |
| 1029 verify_details.cert_verify_result.verified_cert = test_cert; | 1026 ProofVerifyDetailsChromium verify_details1; |
| 1030 verify_details.cert_verify_result.is_issued_by_known_root = true; | 1027 verify_details1.cert_verify_result.verified_cert = test_cert; |
| 1031 verify_details.cert_verify_result.public_key_hashes.push_back( | 1028 verify_details1.cert_verify_result.is_issued_by_known_root = true; |
| 1029 verify_details1.cert_verify_result.public_key_hashes.push_back( |
| 1032 test::GetTestHashValue(bad_pin)); | 1030 test::GetTestHashValue(bad_pin)); |
| 1033 crypto_client_stream_factory_.set_proof_verify_details(&verify_details); | 1031 crypto_client_stream_factory_.add_proof_verify_details(&verify_details1); |
| 1034 | 1032 |
| 1033 ProofVerifyDetailsChromium verify_details2; |
| 1034 verify_details2.cert_verify_result.verified_cert = test_cert; |
| 1035 verify_details2.cert_verify_result.is_issued_by_known_root = true; |
| 1036 verify_details2.cert_verify_result.public_key_hashes.push_back( |
| 1037 test::GetTestHashValue(primary_pin)); |
| 1038 crypto_client_stream_factory_.add_proof_verify_details(&verify_details2); |
| 1035 | 1039 |
| 1036 host_resolver_.set_synchronous_mode(true); | 1040 host_resolver_.set_synchronous_mode(true); |
| 1037 host_resolver_.rules()->AddIPLiteralRule(server1.host(), "192.168.0.1", ""); | 1041 host_resolver_.rules()->AddIPLiteralRule(server1.host(), "192.168.0.1", ""); |
| 1038 host_resolver_.rules()->AddIPLiteralRule(server2.host(), "192.168.0.1", ""); | 1042 host_resolver_.rules()->AddIPLiteralRule(server2.host(), "192.168.0.1", ""); |
| 1039 | 1043 |
| 1040 QuicStreamRequest request(&factory_); | 1044 QuicStreamRequest request(&factory_); |
| 1041 is_https_ = true; | 1045 is_https_ = true; |
| 1042 EXPECT_EQ(OK, | 1046 EXPECT_EQ(OK, |
| 1043 request.Request(server1, | 1047 request.Request(server1, |
| 1044 is_https_, | 1048 is_https_, |
| (...skipping 786 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1831 EXPECT_TRUE(socket_data.at_read_eof()); | 1835 EXPECT_TRUE(socket_data.at_read_eof()); |
| 1832 EXPECT_TRUE(socket_data.at_write_eof()); | 1836 EXPECT_TRUE(socket_data.at_write_eof()); |
| 1833 EXPECT_TRUE(socket_data2.at_read_eof()); | 1837 EXPECT_TRUE(socket_data2.at_read_eof()); |
| 1834 EXPECT_TRUE(socket_data2.at_write_eof()); | 1838 EXPECT_TRUE(socket_data2.at_write_eof()); |
| 1835 EXPECT_TRUE(socket_data3.at_read_eof()); | 1839 EXPECT_TRUE(socket_data3.at_read_eof()); |
| 1836 EXPECT_TRUE(socket_data3.at_write_eof()); | 1840 EXPECT_TRUE(socket_data3.at_write_eof()); |
| 1837 } | 1841 } |
| 1838 | 1842 |
| 1839 } // namespace test | 1843 } // namespace test |
| 1840 } // namespace net | 1844 } // namespace net |
| OLD | NEW |