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

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

Issue 3174004: Pass both hostname and port into SSLClientSocket (Closed)
Patch Set: Created 10 years, 4 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
« no previous file with comments | « net/socket/ssl_client_socket_pool_unittest.cc ('k') | net/socket/ssl_client_socket_win.h » ('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) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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/ssl_client_socket.h" 5 #include "net/socket/ssl_client_socket.h"
6 6
7 #include "net/base/address_list.h" 7 #include "net/base/address_list.h"
8 #include "net/base/host_port_pair.h"
8 #include "net/base/host_resolver.h" 9 #include "net/base/host_resolver.h"
9 #include "net/base/io_buffer.h" 10 #include "net/base/io_buffer.h"
10 #include "net/base/net_log.h" 11 #include "net/base/net_log.h"
11 #include "net/base/net_log_unittest.h" 12 #include "net/base/net_log_unittest.h"
12 #include "net/base/net_errors.h" 13 #include "net/base/net_errors.h"
13 #include "net/base/ssl_config_service.h" 14 #include "net/base/ssl_config_service.h"
14 #include "net/base/test_completion_callback.h" 15 #include "net/base/test_completion_callback.h"
15 #include "net/socket/client_socket_factory.h" 16 #include "net/socket/client_socket_factory.h"
16 #include "net/socket/socket_test_util.h" 17 #include "net/socket/socket_test_util.h"
17 #include "net/socket/tcp_client_socket.h" 18 #include "net/socket/tcp_client_socket.h"
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
77 78
78 net::CapturingNetLog log(net::CapturingNetLog::kUnbounded); 79 net::CapturingNetLog log(net::CapturingNetLog::kUnbounded);
79 net::ClientSocket* transport = new net::TCPClientSocket(addr, &log); 80 net::ClientSocket* transport = new net::TCPClientSocket(addr, &log);
80 rv = transport->Connect(&callback); 81 rv = transport->Connect(&callback);
81 if (rv == net::ERR_IO_PENDING) 82 if (rv == net::ERR_IO_PENDING)
82 rv = callback.WaitForResult(); 83 rv = callback.WaitForResult();
83 EXPECT_EQ(net::OK, rv); 84 EXPECT_EQ(net::OK, rv);
84 85
85 scoped_ptr<net::SSLClientSocket> sock( 86 scoped_ptr<net::SSLClientSocket> sock(
86 socket_factory_->CreateSSLClientSocket(transport, 87 socket_factory_->CreateSSLClientSocket(transport,
87 server_.kHostName, kDefaultSSLConfig)); 88 net::HostPortPair(server_.kHostName, server_.kOKHTTPSPort),
89 kDefaultSSLConfig));
88 90
89 EXPECT_FALSE(sock->IsConnected()); 91 EXPECT_FALSE(sock->IsConnected());
90 92
91 rv = sock->Connect(&callback); 93 rv = sock->Connect(&callback);
92 EXPECT_TRUE(net::LogContainsBeginEvent( 94 EXPECT_TRUE(net::LogContainsBeginEvent(
93 log.entries(), 5, net::NetLog::TYPE_SSL_CONNECT)); 95 log.entries(), 5, net::NetLog::TYPE_SSL_CONNECT));
94 if (rv != net::OK) { 96 if (rv != net::OK) {
95 ASSERT_EQ(net::ERR_IO_PENDING, rv); 97 ASSERT_EQ(net::ERR_IO_PENDING, rv);
96 EXPECT_FALSE(sock->IsConnected()); 98 EXPECT_FALSE(sock->IsConnected());
97 EXPECT_FALSE(net::LogContainsEndEvent( 99 EXPECT_FALSE(net::LogContainsEndEvent(
(...skipping 23 matching lines...) Expand all
121 123
122 net::CapturingNetLog log(net::CapturingNetLog::kUnbounded); 124 net::CapturingNetLog log(net::CapturingNetLog::kUnbounded);
123 net::ClientSocket* transport = new net::TCPClientSocket(addr, &log); 125 net::ClientSocket* transport = new net::TCPClientSocket(addr, &log);
124 rv = transport->Connect(&callback); 126 rv = transport->Connect(&callback);
125 if (rv == net::ERR_IO_PENDING) 127 if (rv == net::ERR_IO_PENDING)
126 rv = callback.WaitForResult(); 128 rv = callback.WaitForResult();
127 EXPECT_EQ(net::OK, rv); 129 EXPECT_EQ(net::OK, rv);
128 130
129 scoped_ptr<net::SSLClientSocket> sock( 131 scoped_ptr<net::SSLClientSocket> sock(
130 socket_factory_->CreateSSLClientSocket(transport, 132 socket_factory_->CreateSSLClientSocket(transport,
131 server_.kHostName, kDefaultSSLConfig)); 133 net::HostPortPair(server_.kHostName, server_.kBadHTTPSPort),
134 kDefaultSSLConfig));
132 135
133 EXPECT_FALSE(sock->IsConnected()); 136 EXPECT_FALSE(sock->IsConnected());
134 137
135 rv = sock->Connect(&callback); 138 rv = sock->Connect(&callback);
136 EXPECT_TRUE(net::LogContainsBeginEvent( 139 EXPECT_TRUE(net::LogContainsBeginEvent(
137 log.entries(), 5, net::NetLog::TYPE_SSL_CONNECT)); 140 log.entries(), 5, net::NetLog::TYPE_SSL_CONNECT));
138 if (rv != net::OK) { 141 if (rv != net::OK) {
139 ASSERT_EQ(net::ERR_IO_PENDING, rv); 142 ASSERT_EQ(net::ERR_IO_PENDING, rv);
140 EXPECT_FALSE(sock->IsConnected()); 143 EXPECT_FALSE(sock->IsConnected());
141 EXPECT_FALSE(net::LogContainsEndEvent( 144 EXPECT_FALSE(net::LogContainsEndEvent(
(...skipping 24 matching lines...) Expand all
166 169
167 net::CapturingNetLog log(net::CapturingNetLog::kUnbounded); 170 net::CapturingNetLog log(net::CapturingNetLog::kUnbounded);
168 net::ClientSocket* transport = new net::TCPClientSocket(addr, &log); 171 net::ClientSocket* transport = new net::TCPClientSocket(addr, &log);
169 rv = transport->Connect(&callback); 172 rv = transport->Connect(&callback);
170 if (rv == net::ERR_IO_PENDING) 173 if (rv == net::ERR_IO_PENDING)
171 rv = callback.WaitForResult(); 174 rv = callback.WaitForResult();
172 EXPECT_EQ(net::OK, rv); 175 EXPECT_EQ(net::OK, rv);
173 176
174 scoped_ptr<net::SSLClientSocket> sock( 177 scoped_ptr<net::SSLClientSocket> sock(
175 socket_factory_->CreateSSLClientSocket(transport, 178 socket_factory_->CreateSSLClientSocket(transport,
176 server_.kMismatchedHostName, kDefaultSSLConfig)); 179 net::HostPortPair(server_.kMismatchedHostName, server_.kOKHTTPSPort),
180 kDefaultSSLConfig));
177 181
178 EXPECT_FALSE(sock->IsConnected()); 182 EXPECT_FALSE(sock->IsConnected());
179 183
180 rv = sock->Connect(&callback); 184 rv = sock->Connect(&callback);
181 185
182 EXPECT_TRUE(net::LogContainsBeginEvent( 186 EXPECT_TRUE(net::LogContainsBeginEvent(
183 log.entries(), 5, net::NetLog::TYPE_SSL_CONNECT)); 187 log.entries(), 5, net::NetLog::TYPE_SSL_CONNECT));
184 if (rv != net::ERR_CERT_COMMON_NAME_INVALID) { 188 if (rv != net::ERR_CERT_COMMON_NAME_INVALID) {
185 ASSERT_EQ(net::ERR_IO_PENDING, rv); 189 ASSERT_EQ(net::ERR_IO_PENDING, rv);
186 EXPECT_FALSE(sock->IsConnected()); 190 EXPECT_FALSE(sock->IsConnected());
(...skipping 25 matching lines...) Expand all
212 216
213 net::CapturingNetLog log(net::CapturingNetLog::kUnbounded); 217 net::CapturingNetLog log(net::CapturingNetLog::kUnbounded);
214 net::ClientSocket* transport = new net::TCPClientSocket(addr, &log); 218 net::ClientSocket* transport = new net::TCPClientSocket(addr, &log);
215 rv = transport->Connect(&callback); 219 rv = transport->Connect(&callback);
216 if (rv == net::ERR_IO_PENDING) 220 if (rv == net::ERR_IO_PENDING)
217 rv = callback.WaitForResult(); 221 rv = callback.WaitForResult();
218 EXPECT_EQ(net::OK, rv); 222 EXPECT_EQ(net::OK, rv);
219 223
220 scoped_ptr<net::SSLClientSocket> sock( 224 scoped_ptr<net::SSLClientSocket> sock(
221 socket_factory_->CreateSSLClientSocket(transport, 225 socket_factory_->CreateSSLClientSocket(transport,
222 server_.kHostName, kDefaultSSLConfig)); 226 net::HostPortPair(server_.kHostName, server_.kOKHTTPSPort),
227 kDefaultSSLConfig));
223 228
224 EXPECT_FALSE(sock->IsConnected()); 229 EXPECT_FALSE(sock->IsConnected());
225 230
226 rv = sock->Connect(&callback); 231 rv = sock->Connect(&callback);
227 EXPECT_TRUE(net::LogContainsBeginEvent( 232 EXPECT_TRUE(net::LogContainsBeginEvent(
228 log.entries(), 5, net::NetLog::TYPE_SSL_CONNECT)); 233 log.entries(), 5, net::NetLog::TYPE_SSL_CONNECT));
229 if (rv != net::ERR_SSL_CLIENT_AUTH_CERT_NEEDED) { 234 if (rv != net::ERR_SSL_CLIENT_AUTH_CERT_NEEDED) {
230 ASSERT_EQ(net::ERR_IO_PENDING, rv); 235 ASSERT_EQ(net::ERR_IO_PENDING, rv);
231 EXPECT_FALSE(sock->IsConnected()); 236 EXPECT_FALSE(sock->IsConnected());
232 EXPECT_FALSE(net::LogContainsEndEvent( 237 EXPECT_FALSE(net::LogContainsEndEvent(
(...skipping 30 matching lines...) Expand all
263 EXPECT_EQ(net::OK, rv); 268 EXPECT_EQ(net::OK, rv);
264 269
265 net::ClientSocket* transport = new net::TCPClientSocket(addr, NULL); 270 net::ClientSocket* transport = new net::TCPClientSocket(addr, NULL);
266 rv = transport->Connect(&callback); 271 rv = transport->Connect(&callback);
267 if (rv == net::ERR_IO_PENDING) 272 if (rv == net::ERR_IO_PENDING)
268 rv = callback.WaitForResult(); 273 rv = callback.WaitForResult();
269 EXPECT_EQ(net::OK, rv); 274 EXPECT_EQ(net::OK, rv);
270 275
271 scoped_ptr<net::SSLClientSocket> sock( 276 scoped_ptr<net::SSLClientSocket> sock(
272 socket_factory_->CreateSSLClientSocket(transport, 277 socket_factory_->CreateSSLClientSocket(transport,
273 server_.kHostName, 278 net::HostPortPair(server_.kHostName, server_.kOKHTTPSPort),
274 kDefaultSSLConfig)); 279 kDefaultSSLConfig));
275 280
276 rv = sock->Connect(&callback); 281 rv = sock->Connect(&callback);
277 if (rv != net::OK) { 282 if (rv != net::OK) {
278 ASSERT_EQ(net::ERR_IO_PENDING, rv); 283 ASSERT_EQ(net::ERR_IO_PENDING, rv);
279 284
280 rv = callback.WaitForResult(); 285 rv = callback.WaitForResult();
281 EXPECT_EQ(net::OK, rv); 286 EXPECT_EQ(net::OK, rv);
282 } 287 }
283 EXPECT_TRUE(sock->IsConnected()); 288 EXPECT_TRUE(sock->IsConnected());
284 289
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
325 EXPECT_EQ(net::OK, rv); 330 EXPECT_EQ(net::OK, rv);
326 331
327 net::ClientSocket* transport = new net::TCPClientSocket(addr, NULL); 332 net::ClientSocket* transport = new net::TCPClientSocket(addr, NULL);
328 rv = transport->Connect(&callback); 333 rv = transport->Connect(&callback);
329 if (rv == net::ERR_IO_PENDING) 334 if (rv == net::ERR_IO_PENDING)
330 rv = callback.WaitForResult(); 335 rv = callback.WaitForResult();
331 EXPECT_EQ(net::OK, rv); 336 EXPECT_EQ(net::OK, rv);
332 337
333 scoped_ptr<net::SSLClientSocket> sock( 338 scoped_ptr<net::SSLClientSocket> sock(
334 socket_factory_->CreateSSLClientSocket(transport, 339 socket_factory_->CreateSSLClientSocket(transport,
335 server_.kHostName, 340 net::HostPortPair(server_.kHostName, server_.kOKHTTPSPort),
336 kDefaultSSLConfig)); 341 kDefaultSSLConfig));
337 342
338 rv = sock->Connect(&callback); 343 rv = sock->Connect(&callback);
339 if (rv != net::OK) { 344 if (rv != net::OK) {
340 ASSERT_EQ(net::ERR_IO_PENDING, rv); 345 ASSERT_EQ(net::ERR_IO_PENDING, rv);
341 346
342 rv = callback.WaitForResult(); 347 rv = callback.WaitForResult();
343 EXPECT_EQ(net::OK, rv); 348 EXPECT_EQ(net::OK, rv);
344 } 349 }
345 EXPECT_TRUE(sock->IsConnected()); 350 EXPECT_TRUE(sock->IsConnected());
346 351
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
384 EXPECT_EQ(net::OK, rv); 389 EXPECT_EQ(net::OK, rv);
385 390
386 net::ClientSocket* transport = new net::TCPClientSocket(addr, NULL); 391 net::ClientSocket* transport = new net::TCPClientSocket(addr, NULL);
387 rv = transport->Connect(&callback); 392 rv = transport->Connect(&callback);
388 if (rv == net::ERR_IO_PENDING) 393 if (rv == net::ERR_IO_PENDING)
389 rv = callback.WaitForResult(); 394 rv = callback.WaitForResult();
390 EXPECT_EQ(net::OK, rv); 395 EXPECT_EQ(net::OK, rv);
391 396
392 scoped_ptr<net::SSLClientSocket> sock( 397 scoped_ptr<net::SSLClientSocket> sock(
393 socket_factory_->CreateSSLClientSocket(transport, 398 socket_factory_->CreateSSLClientSocket(transport,
394 server_.kHostName, kDefaultSSLConfig)); 399 net::HostPortPair(server_.kHostName, server_.kOKHTTPSPort),
400 kDefaultSSLConfig));
395 401
396 rv = sock->Connect(&callback); 402 rv = sock->Connect(&callback);
397 if (rv != net::OK) { 403 if (rv != net::OK) {
398 ASSERT_EQ(net::ERR_IO_PENDING, rv); 404 ASSERT_EQ(net::ERR_IO_PENDING, rv);
399 405
400 rv = callback.WaitForResult(); 406 rv = callback.WaitForResult();
401 EXPECT_EQ(net::OK, rv); 407 EXPECT_EQ(net::OK, rv);
402 } 408 }
403 409
404 const char request_text[] = "GET / HTTP/1.0\r\n\r\n"; 410 const char request_text[] = "GET / HTTP/1.0\r\n\r\n";
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
438 EXPECT_EQ(net::OK, rv); 444 EXPECT_EQ(net::OK, rv);
439 445
440 net::ClientSocket* transport = new net::TCPClientSocket(addr, NULL); 446 net::ClientSocket* transport = new net::TCPClientSocket(addr, NULL);
441 rv = transport->Connect(&callback); 447 rv = transport->Connect(&callback);
442 if (rv == net::ERR_IO_PENDING) 448 if (rv == net::ERR_IO_PENDING)
443 rv = callback.WaitForResult(); 449 rv = callback.WaitForResult();
444 EXPECT_EQ(net::OK, rv); 450 EXPECT_EQ(net::OK, rv);
445 451
446 scoped_ptr<net::SSLClientSocket> sock( 452 scoped_ptr<net::SSLClientSocket> sock(
447 socket_factory_->CreateSSLClientSocket(transport, 453 socket_factory_->CreateSSLClientSocket(transport,
448 server_.kHostName, kDefaultSSLConfig)); 454 net::HostPortPair(server_.kHostName, server_.kOKHTTPSPort),
455 kDefaultSSLConfig));
449 456
450 rv = sock->Connect(&callback); 457 rv = sock->Connect(&callback);
451 if (rv != net::OK) { 458 if (rv != net::OK) {
452 ASSERT_EQ(net::ERR_IO_PENDING, rv); 459 ASSERT_EQ(net::ERR_IO_PENDING, rv);
453 460
454 rv = callback.WaitForResult(); 461 rv = callback.WaitForResult();
455 EXPECT_EQ(net::OK, rv); 462 EXPECT_EQ(net::OK, rv);
456 } 463 }
457 464
458 const char request_text[] = "GET / HTTP/1.0\r\n\r\n"; 465 const char request_text[] = "GET / HTTP/1.0\r\n\r\n";
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
507 NULL, 0); 514 NULL, 0);
508 515
509 net::ClientSocket* transport = 516 net::ClientSocket* transport =
510 new net::MockTCPClientSocket(addr, NULL, &data); 517 new net::MockTCPClientSocket(addr, NULL, &data);
511 int rv = transport->Connect(&callback); 518 int rv = transport->Connect(&callback);
512 if (rv == net::ERR_IO_PENDING) 519 if (rv == net::ERR_IO_PENDING)
513 rv = callback.WaitForResult(); 520 rv = callback.WaitForResult();
514 EXPECT_EQ(net::OK, rv); 521 EXPECT_EQ(net::OK, rv);
515 522
516 scoped_ptr<net::SSLClientSocket> sock( 523 scoped_ptr<net::SSLClientSocket> sock(
517 socket_factory_->CreateSSLClientSocket( 524 socket_factory_->CreateSSLClientSocket(transport,
518 transport, server_.kHostName, kDefaultSSLConfig)); 525 net::HostPortPair(server_.kHostName, server_.kOKHTTPSPort),
526 kDefaultSSLConfig));
519 527
520 rv = sock->Connect(&callback); 528 rv = sock->Connect(&callback);
521 EXPECT_EQ(net::ERR_SSL_PROTOCOL_ERROR, rv); 529 EXPECT_EQ(net::ERR_SSL_PROTOCOL_ERROR, rv);
522 } 530 }
OLDNEW
« no previous file with comments | « net/socket/ssl_client_socket_pool_unittest.cc ('k') | net/socket/ssl_client_socket_win.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698