| 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/test_tools/crypto_test_utils.h" | 5 #include "net/quic/test_tools/crypto_test_utils.h" |
| 6 | 6 |
| 7 #include "net/quic/crypto/channel_id.h" | 7 #include "net/quic/crypto/channel_id.h" |
| 8 #include "net/quic/crypto/common_cert_set.h" | 8 #include "net/quic/crypto/common_cert_set.h" |
| 9 #include "net/quic/crypto/crypto_handshake.h" | 9 #include "net/quic/crypto/crypto_handshake.h" |
| 10 #include "net/quic/crypto/quic_crypto_server_config.h" | 10 #include "net/quic/crypto/quic_crypto_server_config.h" |
| (...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 126 | 126 |
| 127 CryptoTestUtils::FakeClientOptions::FakeClientOptions() | 127 CryptoTestUtils::FakeClientOptions::FakeClientOptions() |
| 128 : dont_verify_certs(false), | 128 : dont_verify_certs(false), |
| 129 channel_id_enabled(false) { | 129 channel_id_enabled(false) { |
| 130 } | 130 } |
| 131 | 131 |
| 132 // static | 132 // static |
| 133 int CryptoTestUtils::HandshakeWithFakeServer( | 133 int CryptoTestUtils::HandshakeWithFakeServer( |
| 134 PacketSavingConnection* client_conn, | 134 PacketSavingConnection* client_conn, |
| 135 QuicCryptoClientStream* client) { | 135 QuicCryptoClientStream* client) { |
| 136 QuicGuid guid(1); | 136 PacketSavingConnection* server_conn = new PacketSavingConnection(true); |
| 137 IPAddressNumber ip; | |
| 138 CHECK(ParseIPLiteralToNumber("192.0.2.33", &ip)); | |
| 139 IPEndPoint addr = IPEndPoint(ip, 1); | |
| 140 PacketSavingConnection* server_conn = | |
| 141 new PacketSavingConnection(guid, addr, true); | |
| 142 TestSession server_session(server_conn, DefaultQuicConfig(), true); | 137 TestSession server_session(server_conn, DefaultQuicConfig(), true); |
| 143 | 138 |
| 144 QuicCryptoServerConfig crypto_config(QuicCryptoServerConfig::TESTING, | 139 QuicCryptoServerConfig crypto_config(QuicCryptoServerConfig::TESTING, |
| 145 QuicRandom::GetInstance()); | 140 QuicRandom::GetInstance()); |
| 146 SetupCryptoServerConfigForTest( | 141 SetupCryptoServerConfigForTest( |
| 147 server_session.connection()->clock(), | 142 server_session.connection()->clock(), |
| 148 server_session.connection()->random_generator(), | 143 server_session.connection()->random_generator(), |
| 149 server_session.config(), &crypto_config); | 144 server_session.config(), &crypto_config); |
| 150 | 145 |
| 151 QuicCryptoServerStream server(crypto_config, &server_session); | 146 QuicCryptoServerStream server(crypto_config, &server_session); |
| 152 server_session.SetCryptoStream(&server); | 147 server_session.SetCryptoStream(&server); |
| 153 | 148 |
| 154 // The client's handshake must have been started already. | 149 // The client's handshake must have been started already. |
| 155 CHECK_NE(0u, client_conn->packets_.size()); | 150 CHECK_NE(0u, client_conn->packets_.size()); |
| 156 | 151 |
| 157 CommunicateHandshakeMessages(client_conn, client, server_conn, &server); | 152 CommunicateHandshakeMessages(client_conn, client, server_conn, &server); |
| 158 | 153 |
| 159 CompareClientAndServerKeys(client, &server); | 154 CompareClientAndServerKeys(client, &server); |
| 160 | 155 |
| 161 return client->num_sent_client_hellos(); | 156 return client->num_sent_client_hellos(); |
| 162 } | 157 } |
| 163 | 158 |
| 164 // static | 159 // static |
| 165 int CryptoTestUtils::HandshakeWithFakeClient( | 160 int CryptoTestUtils::HandshakeWithFakeClient( |
| 166 PacketSavingConnection* server_conn, | 161 PacketSavingConnection* server_conn, |
| 167 QuicCryptoServerStream* server, | 162 QuicCryptoServerStream* server, |
| 168 const FakeClientOptions& options) { | 163 const FakeClientOptions& options) { |
| 169 QuicGuid guid(1); | 164 PacketSavingConnection* client_conn = new PacketSavingConnection(false); |
| 170 IPAddressNumber ip; | |
| 171 CHECK(ParseIPLiteralToNumber("192.0.2.33", &ip)); | |
| 172 IPEndPoint addr = IPEndPoint(ip, 1); | |
| 173 PacketSavingConnection* client_conn = | |
| 174 new PacketSavingConnection(guid, addr, false); | |
| 175 TestSession client_session(client_conn, DefaultQuicConfig(), false); | 165 TestSession client_session(client_conn, DefaultQuicConfig(), false); |
| 176 QuicCryptoClientConfig crypto_config; | 166 QuicCryptoClientConfig crypto_config; |
| 177 | 167 |
| 178 client_session.config()->SetDefaults(); | 168 client_session.config()->SetDefaults(); |
| 179 crypto_config.SetDefaults(); | 169 crypto_config.SetDefaults(); |
| 180 // TODO(rtenneti): Enable testing of ProofVerifier. | 170 // TODO(rtenneti): Enable testing of ProofVerifier. |
| 181 // if (!options.dont_verify_certs) { | 171 // if (!options.dont_verify_certs) { |
| 182 // crypto_config.SetProofVerifier(ProofVerifierForTesting()); | 172 // crypto_config.SetProofVerifier(ProofVerifierForTesting()); |
| 183 // } | 173 // } |
| 184 if (options.channel_id_enabled) { | 174 if (options.channel_id_enabled) { |
| (...skipping 335 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 520 scoped_ptr<QuicData> bytes(CryptoFramer::ConstructHandshakeMessage(msg)); | 510 scoped_ptr<QuicData> bytes(CryptoFramer::ConstructHandshakeMessage(msg)); |
| 521 scoped_ptr<CryptoHandshakeMessage> parsed( | 511 scoped_ptr<CryptoHandshakeMessage> parsed( |
| 522 CryptoFramer::ParseMessage(bytes->AsStringPiece())); | 512 CryptoFramer::ParseMessage(bytes->AsStringPiece())); |
| 523 CHECK(parsed.get()); | 513 CHECK(parsed.get()); |
| 524 | 514 |
| 525 return *parsed; | 515 return *parsed; |
| 526 } | 516 } |
| 527 | 517 |
| 528 } // namespace test | 518 } // namespace test |
| 529 } // namespace net | 519 } // namespace net |
| OLD | NEW |