// Copyright 2012 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. // // This StreamSocket implementation is to be used with servers that // accept connections on port 443 but don't really use SSL. For // example, the Google Talk servers do this to bypass proxies. (The // connection is upgraded to TLS as part of the XMPP negotiation, so // security is preserved.) A "fake" SSL handshake is done immediately // after connection to fool proxies into thinking that this is a real // SSL connection. // // NOTE: This StreamSocket implementation does *not* do a real SSL // handshake nor does it do any encryption! #ifndef COMPONENTS_WEBRTC_FAKE_SSL_CLIENT_SOCKET_H_ #define COMPONENTS_WEBRTC_FAKE_SSL_CLIENT_SOCKET_H_ #include <stdint.h> #include <cstddef> #include <memory> #include <string_view> #include "base/compiler_specific.h" #include "base/memory/ref_counted.h" #include "net/base/completion_once_callback.h" #include "net/base/net_errors.h" #include "net/socket/stream_socket.h" #include "net/traffic_annotation/network_traffic_annotation.h" namespace net { class DrainableIOBuffer; class SSLInfo; } // namespace net namespace webrtc { class FakeSSLClientSocket : public net::StreamSocket { … }; } // namespace webrtc #endif // COMPONENTS_WEBRTC_FAKE_SSL_CLIENT_SOCKET_H_