| 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_crypto_server_stream.h" | 5 #include "net/quic/quic_crypto_server_stream.h" |
| 6 | 6 |
| 7 #include <map> | 7 #include <map> |
| 8 #include <vector> | 8 #include <vector> |
| 9 | 9 |
| 10 #include "base/memory/scoped_ptr.h" | 10 #include "base/memory/scoped_ptr.h" |
| (...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 144 QuicCryptoClientConfig client_crypto_config; | 144 QuicCryptoClientConfig client_crypto_config; |
| 145 | 145 |
| 146 QuicServerId server_id(kServerHostname, kServerPort, false, | 146 QuicServerId server_id(kServerHostname, kServerPort, false, |
| 147 PRIVACY_MODE_DISABLED); | 147 PRIVACY_MODE_DISABLED); |
| 148 scoped_ptr<QuicCryptoClientStream> client(new QuicCryptoClientStream( | 148 scoped_ptr<QuicCryptoClientStream> client(new QuicCryptoClientStream( |
| 149 server_id, client_session.get(), nullptr, &client_crypto_config)); | 149 server_id, client_session.get(), nullptr, &client_crypto_config)); |
| 150 client_session->SetCryptoStream(client.get()); | 150 client_session->SetCryptoStream(client.get()); |
| 151 | 151 |
| 152 // Do a first handshake in order to prime the client config with the server's | 152 // Do a first handshake in order to prime the client config with the server's |
| 153 // information. | 153 // information. |
| 154 CHECK(client->CryptoConnect()); | 154 client->CryptoConnect(); |
| 155 CHECK_EQ(1u, client_conn->packets_.size()); | 155 CHECK_EQ(1u, client_conn->packets_.size()); |
| 156 | 156 |
| 157 scoped_ptr<TestSession> server_session(new TestSession(server_conn, config_)); | 157 scoped_ptr<TestSession> server_session(new TestSession(server_conn, config_)); |
| 158 scoped_ptr<QuicCryptoServerStream> server( | 158 scoped_ptr<QuicCryptoServerStream> server( |
| 159 new QuicCryptoServerStream(crypto_config_, server_session.get())); | 159 new QuicCryptoServerStream(crypto_config_, server_session.get())); |
| 160 server_session->SetCryptoStream(server.get()); | 160 server_session->SetCryptoStream(server.get()); |
| 161 | 161 |
| 162 CryptoTestUtils::CommunicateHandshakeMessages( | 162 CryptoTestUtils::CommunicateHandshakeMessages( |
| 163 client_conn, client.get(), server_conn, server.get()); | 163 client_conn, client.get(), server_conn, server.get()); |
| 164 EXPECT_EQ(2, client->num_sent_client_hellos()); | 164 EXPECT_EQ(2, client->num_sent_client_hellos()); |
| (...skipping 14 matching lines...) Expand all Loading... |
| 179 client_session.reset(new TestClientSession(client_conn, client_config)); | 179 client_session.reset(new TestClientSession(client_conn, client_config)); |
| 180 server_session.reset(new TestSession(server_conn, config_)); | 180 server_session.reset(new TestSession(server_conn, config_)); |
| 181 client.reset(new QuicCryptoClientStream(server_id, client_session.get(), | 181 client.reset(new QuicCryptoClientStream(server_id, client_session.get(), |
| 182 nullptr, &client_crypto_config)); | 182 nullptr, &client_crypto_config)); |
| 183 client_session->SetCryptoStream(client.get()); | 183 client_session->SetCryptoStream(client.get()); |
| 184 | 184 |
| 185 server.reset(new QuicCryptoServerStream(crypto_config_, | 185 server.reset(new QuicCryptoServerStream(crypto_config_, |
| 186 server_session.get())); | 186 server_session.get())); |
| 187 server_session->SetCryptoStream(server.get()); | 187 server_session->SetCryptoStream(server.get()); |
| 188 | 188 |
| 189 CHECK(client->CryptoConnect()); | 189 client->CryptoConnect(); |
| 190 | 190 |
| 191 if (AsyncStrikeRegisterVerification()) { | 191 if (AsyncStrikeRegisterVerification()) { |
| 192 EXPECT_FALSE(client->handshake_confirmed()); | 192 EXPECT_FALSE(client->handshake_confirmed()); |
| 193 EXPECT_FALSE(server->handshake_confirmed()); | 193 EXPECT_FALSE(server->handshake_confirmed()); |
| 194 | 194 |
| 195 // Advance the handshake. Expect that the server will be stuck | 195 // Advance the handshake. Expect that the server will be stuck |
| 196 // waiting for client nonce verification to complete. | 196 // waiting for client nonce verification to complete. |
| 197 pair<size_t, size_t> messages_moved = CryptoTestUtils::AdvanceHandshake( | 197 pair<size_t, size_t> messages_moved = CryptoTestUtils::AdvanceHandshake( |
| 198 client_conn, client.get(), 0, server_conn, server.get(), 0); | 198 client_conn, client.get(), 0, server_conn, server.get(), 0); |
| 199 EXPECT_EQ(1u, messages_moved.first); | 199 EXPECT_EQ(1u, messages_moved.first); |
| (...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 272 | 272 |
| 273 TEST_P(QuicCryptoServerStreamTest, OnlySendSCUPAfterHandshakeComplete) { | 273 TEST_P(QuicCryptoServerStreamTest, OnlySendSCUPAfterHandshakeComplete) { |
| 274 // An attempt to send a SCUP before completing handshake should fail. | 274 // An attempt to send a SCUP before completing handshake should fail. |
| 275 stream_.SendServerConfigUpdate(nullptr); | 275 stream_.SendServerConfigUpdate(nullptr); |
| 276 EXPECT_EQ(0, stream_.num_server_config_update_messages_sent()); | 276 EXPECT_EQ(0, stream_.num_server_config_update_messages_sent()); |
| 277 } | 277 } |
| 278 | 278 |
| 279 } // namespace | 279 } // namespace |
| 280 } // namespace test | 280 } // namespace test |
| 281 } // namespace net | 281 } // namespace net |
| OLD | NEW |