#include <tls_tunnel.h>
Public Member Functions | |
ClientProxy (const std::string &connect_address, unsigned short connect_port, const std::string &ca_file, bool check_hostname) | |
virtual void | setup () |
virtual void | stop () |
const std::string & | local_address () const |
unsigned short | local_port () const |
Private Member Functions | |
void | on_transport_connect (transport_ptr_t transport_ptr, socket_ptr_t remote_socket_ptr) |
void | on_client_connect (const asio::error_code &error, transport_ptr_t transport_ptr, session_ptr_t session_ptr, socket_ptr_t local_socket_ptr, socket_ptr_t remote_socket_ptr) |
session_ptr_t | setup_tls_session (socket_ptr_t remote_socket_ptr) |
Private Attributes | |
std::string | local_address_ |
unsigned short | local_port_ |
std::string | connect_address_ |
unsigned short | connect_port_ |
boost::shared_ptr < asio::ip::tcp::acceptor > | acceptor_ptr |
bool | check_hostname_ |
tls_tunnel::ClientProxy::ClientProxy | ( | const std::string & | connect_address, | |
unsigned short | connect_port, | |||
const std::string & | ca_file, | |||
bool | check_hostname | |||
) |
const std::string & tls_tunnel::ClientProxy::local_address | ( | ) | const |
References local_address_.
unsigned short tls_tunnel::ClientProxy::local_port | ( | ) | const |
References local_port_.
void tls_tunnel::ClientProxy::on_client_connect | ( | const asio::error_code & | error, | |
transport_ptr_t | transport_ptr, | |||
session_ptr_t | session_ptr, | |||
socket_ptr_t | local_socket_ptr, | |||
socket_ptr_t | remote_socket_ptr | |||
) | [private] |
References tls_tunnel::Proxy::disconnect_(), and tls_tunnel::Proxy::tunnel().
Referenced by on_transport_connect().
void tls_tunnel::ClientProxy::on_transport_connect | ( | transport_ptr_t | transport_ptr, | |
socket_ptr_t | remote_socket_ptr | |||
) | [private] |
References acceptor_ptr, tls_tunnel::Proxy::disconnect_(), abicollab::service::error(), on_client_connect(), setup_tls_session(), and TLS_SETUP_ERROR.
Referenced by setup().
void tls_tunnel::ClientProxy::setup | ( | ) | [virtual] |
Implements tls_tunnel::Proxy.
References acceptor_ptr, connect_address_, connect_port_, local_address_, local_port_, MAX_CLIENT_PORT, MIN_CLIENT_PORT, on_transport_connect(), TRANSPORT_ERROR, and tls_tunnel::Proxy::transport_ptr_.
session_ptr_t tls_tunnel::ClientProxy::setup_tls_session | ( | socket_ptr_t | remote_socket_ptr | ) | [private] |
void tls_tunnel::ClientProxy::stop | ( | ) | [virtual] |
Reimplemented from tls_tunnel::Proxy.
References acceptor_ptr.
boost::shared_ptr<asio::ip::tcp::acceptor> tls_tunnel::ClientProxy::acceptor_ptr [private] |
Referenced by on_transport_connect(), setup(), and stop().
bool tls_tunnel::ClientProxy::check_hostname_ [private] |
Referenced by setup_tls_session().
std::string tls_tunnel::ClientProxy::connect_address_ [private] |
Referenced by setup(), and setup_tls_session().
unsigned short tls_tunnel::ClientProxy::connect_port_ [private] |
Referenced by setup().
std::string tls_tunnel::ClientProxy::local_address_ [private] |
Referenced by local_address(), and setup().
unsigned short tls_tunnel::ClientProxy::local_port_ [private] |
Referenced by local_port(), and setup().