| OLD | NEW |
| 1 // Copyright (c) 2008-2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2008-2009 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_mac.h" | 5 #include "net/socket/ssl_client_socket_mac.h" |
| 6 | 6 |
| 7 #include "base/scoped_cftyperef.h" | 7 #include "base/scoped_cftyperef.h" |
| 8 #include "base/singleton.h" | 8 #include "base/singleton.h" |
| 9 #include "base/string_util.h" | 9 #include "base/string_util.h" |
| 10 #include "net/base/cert_verifier.h" | 10 #include "net/base/cert_verifier.h" |
| (...skipping 413 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 424 | 424 |
| 425 void SSLClientSocketMac::Disconnect() { | 425 void SSLClientSocketMac::Disconnect() { |
| 426 completed_handshake_ = false; | 426 completed_handshake_ = false; |
| 427 | 427 |
| 428 if (ssl_context_) { | 428 if (ssl_context_) { |
| 429 SSLClose(ssl_context_); | 429 SSLClose(ssl_context_); |
| 430 SSLDisposeContext(ssl_context_); | 430 SSLDisposeContext(ssl_context_); |
| 431 ssl_context_ = NULL; | 431 ssl_context_ = NULL; |
| 432 } | 432 } |
| 433 | 433 |
| 434 // Shut down anything that may call us back. |
| 435 verifier_.reset(); |
| 434 transport_->Disconnect(); | 436 transport_->Disconnect(); |
| 435 } | 437 } |
| 436 | 438 |
| 437 bool SSLClientSocketMac::IsConnected() const { | 439 bool SSLClientSocketMac::IsConnected() const { |
| 438 // Ideally, we should also check if we have received the close_notify alert | 440 // Ideally, we should also check if we have received the close_notify alert |
| 439 // message from the server, and return false in that case. We're not doing | 441 // message from the server, and return false in that case. We're not doing |
| 440 // that, so this function may return a false positive. Since the upper | 442 // that, so this function may return a false positive. Since the upper |
| 441 // layer (HttpNetworkTransaction) needs to handle a persistent connection | 443 // layer (HttpNetworkTransaction) needs to handle a persistent connection |
| 442 // closed by the server when we send a request anyway, a false positive in | 444 // closed by the server when we send a request anyway, a false positive in |
| 443 // exchange for simpler code is a good trade-off. | 445 // exchange for simpler code is a good trade-off. |
| (...skipping 490 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 934 | 936 |
| 935 if (rv < 0 && rv != ERR_IO_PENDING) { | 937 if (rv < 0 && rv != ERR_IO_PENDING) { |
| 936 return OSStatusFromNetError(rv); | 938 return OSStatusFromNetError(rv); |
| 937 } | 939 } |
| 938 | 940 |
| 939 // always lie to our caller | 941 // always lie to our caller |
| 940 return noErr; | 942 return noErr; |
| 941 } | 943 } |
| 942 | 944 |
| 943 } // namespace net | 945 } // namespace net |
| OLD | NEW |