Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(303)

Side by Side Diff: net/socket/socket_test_util.cc

Issue 291093002: Fail the SPDY transaction if it does not meet TLS base requirements. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Address forgotten comment. Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « net/socket/socket_test_util.h ('k') | net/spdy/spdy_network_transaction_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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/socket/socket_test_util.h" 5 #include "net/socket/socket_test_util.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/basictypes.h" 10 #include "base/basictypes.h"
11 #include "base/bind.h" 11 #include "base/bind.h"
12 #include "base/bind_helpers.h" 12 #include "base/bind_helpers.h"
13 #include "base/compiler_specific.h" 13 #include "base/compiler_specific.h"
14 #include "base/message_loop/message_loop.h" 14 #include "base/message_loop/message_loop.h"
15 #include "base/run_loop.h" 15 #include "base/run_loop.h"
16 #include "base/time/time.h" 16 #include "base/time/time.h"
17 #include "net/base/address_family.h" 17 #include "net/base/address_family.h"
18 #include "net/base/address_list.h" 18 #include "net/base/address_list.h"
19 #include "net/base/auth.h" 19 #include "net/base/auth.h"
20 #include "net/base/load_timing_info.h" 20 #include "net/base/load_timing_info.h"
21 #include "net/http/http_network_session.h" 21 #include "net/http/http_network_session.h"
22 #include "net/http/http_request_headers.h" 22 #include "net/http/http_request_headers.h"
23 #include "net/http/http_response_headers.h" 23 #include "net/http/http_response_headers.h"
24 #include "net/socket/client_socket_pool_histograms.h" 24 #include "net/socket/client_socket_pool_histograms.h"
25 #include "net/socket/socket.h" 25 #include "net/socket/socket.h"
26 #include "net/ssl/ssl_cert_request_info.h" 26 #include "net/ssl/ssl_cert_request_info.h"
27 #include "net/ssl/ssl_connection_status_flags.h"
27 #include "net/ssl/ssl_info.h" 28 #include "net/ssl/ssl_info.h"
28 #include "testing/gtest/include/gtest/gtest.h" 29 #include "testing/gtest/include/gtest/gtest.h"
29 30
30 // Socket events are easier to debug if you log individual reads and writes. 31 // Socket events are easier to debug if you log individual reads and writes.
31 // Enable these if locally debugging, but they are too noisy for the waterfall. 32 // Enable these if locally debugging, but they are too noisy for the waterfall.
32 #if 0 33 #if 0
33 #define NET_TRACE(level, s) DLOG(level) << s << __FUNCTION__ << "() " 34 #define NET_TRACE(level, s) DLOG(level) << s << __FUNCTION__ << "() "
34 #else 35 #else
35 #define NET_TRACE(level, s) EAT_STREAM_PARAMETERS 36 #define NET_TRACE(level, s) EAT_STREAM_PARAMETERS
36 #endif 37 #endif
(...skipping 231 matching lines...) Expand 10 before | Expand all | Expand 10 after
268 reads_.push_back(MockRead(ASYNC, data, length)); 269 reads_.push_back(MockRead(ASYNC, data, length));
269 } 270 }
270 271
271 SSLSocketDataProvider::SSLSocketDataProvider(IoMode mode, int result) 272 SSLSocketDataProvider::SSLSocketDataProvider(IoMode mode, int result)
272 : connect(mode, result), 273 : connect(mode, result),
273 next_proto_status(SSLClientSocket::kNextProtoUnsupported), 274 next_proto_status(SSLClientSocket::kNextProtoUnsupported),
274 was_npn_negotiated(false), 275 was_npn_negotiated(false),
275 protocol_negotiated(kProtoUnknown), 276 protocol_negotiated(kProtoUnknown),
276 client_cert_sent(false), 277 client_cert_sent(false),
277 cert_request_info(NULL), 278 cert_request_info(NULL),
278 channel_id_sent(false) { 279 channel_id_sent(false),
280 connection_status(0) {
281 SSLConnectionStatusSetVersion(SSL_CONNECTION_VERSION_TLS1_2,
282 &connection_status);
283 // Set to TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305
284 SSLConnectionStatusSetCipherSuite(0xcc14, &connection_status);
279 } 285 }
280 286
281 SSLSocketDataProvider::~SSLSocketDataProvider() { 287 SSLSocketDataProvider::~SSLSocketDataProvider() {
282 } 288 }
283 289
284 void SSLSocketDataProvider::SetNextProto(NextProto proto) { 290 void SSLSocketDataProvider::SetNextProto(NextProto proto) {
285 was_npn_negotiated = true; 291 was_npn_negotiated = true;
286 next_proto_status = SSLClientSocket::kNextProtoNegotiated; 292 next_proto_status = SSLClientSocket::kNextProtoNegotiated;
287 protocol_negotiated = proto; 293 protocol_negotiated = proto;
288 next_proto = SSLClientSocket::NextProtoToString(proto); 294 next_proto = SSLClientSocket::NextProtoToString(proto);
(...skipping 1081 matching lines...) Expand 10 before | Expand all | Expand 10 after
1370 1376
1371 int MockSSLClientSocket::GetPeerAddress(IPEndPoint* address) const { 1377 int MockSSLClientSocket::GetPeerAddress(IPEndPoint* address) const {
1372 return transport_->socket()->GetPeerAddress(address); 1378 return transport_->socket()->GetPeerAddress(address);
1373 } 1379 }
1374 1380
1375 bool MockSSLClientSocket::GetSSLInfo(SSLInfo* ssl_info) { 1381 bool MockSSLClientSocket::GetSSLInfo(SSLInfo* ssl_info) {
1376 ssl_info->Reset(); 1382 ssl_info->Reset();
1377 ssl_info->cert = data_->cert; 1383 ssl_info->cert = data_->cert;
1378 ssl_info->client_cert_sent = data_->client_cert_sent; 1384 ssl_info->client_cert_sent = data_->client_cert_sent;
1379 ssl_info->channel_id_sent = data_->channel_id_sent; 1385 ssl_info->channel_id_sent = data_->channel_id_sent;
1386 ssl_info->connection_status = data_->connection_status;
1380 return true; 1387 return true;
1381 } 1388 }
1382 1389
1383 void MockSSLClientSocket::GetSSLCertRequestInfo( 1390 void MockSSLClientSocket::GetSSLCertRequestInfo(
1384 SSLCertRequestInfo* cert_request_info) { 1391 SSLCertRequestInfo* cert_request_info) {
1385 DCHECK(cert_request_info); 1392 DCHECK(cert_request_info);
1386 if (data_->cert_request_info) { 1393 if (data_->cert_request_info) {
1387 cert_request_info->host_and_port = 1394 cert_request_info->host_and_port =
1388 data_->cert_request_info->host_and_port; 1395 data_->cert_request_info->host_and_port;
1389 cert_request_info->client_certs = data_->cert_request_info->client_certs; 1396 cert_request_info->client_certs = data_->cert_request_info->client_certs;
(...skipping 509 matching lines...) Expand 10 before | Expand all | Expand 10 after
1899 1906
1900 const char kSOCKS5OkRequest[] = 1907 const char kSOCKS5OkRequest[] =
1901 { 0x05, 0x01, 0x00, 0x03, 0x04, 'h', 'o', 's', 't', 0x00, 0x50 }; 1908 { 0x05, 0x01, 0x00, 0x03, 0x04, 'h', 'o', 's', 't', 0x00, 0x50 };
1902 const int kSOCKS5OkRequestLength = arraysize(kSOCKS5OkRequest); 1909 const int kSOCKS5OkRequestLength = arraysize(kSOCKS5OkRequest);
1903 1910
1904 const char kSOCKS5OkResponse[] = 1911 const char kSOCKS5OkResponse[] =
1905 { 0x05, 0x00, 0x00, 0x01, 127, 0, 0, 1, 0x00, 0x50 }; 1912 { 0x05, 0x00, 0x00, 0x01, 127, 0, 0, 1, 0x00, 0x50 };
1906 const int kSOCKS5OkResponseLength = arraysize(kSOCKS5OkResponse); 1913 const int kSOCKS5OkResponseLength = arraysize(kSOCKS5OkResponse);
1907 1914
1908 } // namespace net 1915 } // namespace net
OLDNEW
« no previous file with comments | « net/socket/socket_test_util.h ('k') | net/spdy/spdy_network_transaction_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698