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 // This StreamSocket implementation is to be used with servers that | 5 // This StreamSocket implementation is to be used with servers that |
6 // accept connections on port 443 but don't really use SSL. For | 6 // accept connections on port 443 but don't really use SSL. For |
7 // example, the Google Talk servers do this to bypass proxies. (The | 7 // example, the Google Talk servers do this to bypass proxies. (The |
8 // connection is upgraded to TLS as part of the XMPP negotiation, so | 8 // connection is upgraded to TLS as part of the XMPP negotiation, so |
9 // security is preserved.) A "fake" SSL handshake is done immediately | 9 // security is preserved.) A "fake" SSL handshake is done immediately |
10 // after connection to fool proxies into thinking that this is a real | 10 // after connection to fool proxies into thinking that this is a real |
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
60 int GetPeerAddress(net::IPEndPoint* address) const override; | 60 int GetPeerAddress(net::IPEndPoint* address) const override; |
61 int GetLocalAddress(net::IPEndPoint* address) const override; | 61 int GetLocalAddress(net::IPEndPoint* address) const override; |
62 const net::BoundNetLog& NetLog() const override; | 62 const net::BoundNetLog& NetLog() const override; |
63 void SetSubresourceSpeculation() override; | 63 void SetSubresourceSpeculation() override; |
64 void SetOmniboxSpeculation() override; | 64 void SetOmniboxSpeculation() override; |
65 bool WasEverUsed() const override; | 65 bool WasEverUsed() const override; |
66 bool UsingTCPFastOpen() const override; | 66 bool UsingTCPFastOpen() const override; |
67 bool WasNpnNegotiated() const override; | 67 bool WasNpnNegotiated() const override; |
68 net::NextProto GetNegotiatedProtocol() const override; | 68 net::NextProto GetNegotiatedProtocol() const override; |
69 bool GetSSLInfo(net::SSLInfo* ssl_info) override; | 69 bool GetSSLInfo(net::SSLInfo* ssl_info) override; |
| 70 void GetConnectionAttempts(net::ConnectionAttempts* out) const override; |
| 71 void ClearConnectionAttempts() override {} |
| 72 void AddConnectionAttempts(const net::ConnectionAttempts& attempts) override { |
| 73 } |
70 | 74 |
71 private: | 75 private: |
72 enum HandshakeState { | 76 enum HandshakeState { |
73 STATE_NONE, | 77 STATE_NONE, |
74 STATE_CONNECT, | 78 STATE_CONNECT, |
75 STATE_SEND_CLIENT_HELLO, | 79 STATE_SEND_CLIENT_HELLO, |
76 STATE_VERIFY_SERVER_HELLO, | 80 STATE_VERIFY_SERVER_HELLO, |
77 }; | 81 }; |
78 | 82 |
79 int DoHandshakeLoop(); | 83 int DoHandshakeLoop(); |
(...skipping 24 matching lines...) Expand all Loading... |
104 // The callback passed to Connect(). | 108 // The callback passed to Connect(). |
105 net::CompletionCallback user_connect_callback_; | 109 net::CompletionCallback user_connect_callback_; |
106 | 110 |
107 scoped_refptr<net::DrainableIOBuffer> write_buf_; | 111 scoped_refptr<net::DrainableIOBuffer> write_buf_; |
108 scoped_refptr<net::DrainableIOBuffer> read_buf_; | 112 scoped_refptr<net::DrainableIOBuffer> read_buf_; |
109 }; | 113 }; |
110 | 114 |
111 } // namespace jingle_glue | 115 } // namespace jingle_glue |
112 | 116 |
113 #endif // JINGLE_GLUE_FAKE_SSL_CLIENT_SOCKET_H_ | 117 #endif // JINGLE_GLUE_FAKE_SSL_CLIENT_SOCKET_H_ |
OLD | NEW |