#include <tls_tunnel.h>
Public Member Functions | |
virtual | ~Proxy () |
virtual void | setup ()=0 |
void | run () |
virtual void | stop () |
Static Public Member Functions | |
static bool | tls_tunnel_init () |
static void | tls_tunnel_deinit () |
Protected Member Functions | |
Proxy (const std::string &ca_file) | |
void | on_local_read (const asio::error_code &error, std::size_t bytes_transferred, transport_ptr_t transport_ptr, session_ptr_t session_ptr, socket_ptr_t local_socket_ptr, buffer_ptr_t local_buffer_ptr, socket_ptr_t remote_socket_ptr) |
void | tunnel (transport_ptr_t transport_ptr, session_ptr_t session_ptr, socket_ptr_t local_socket_ptr, socket_ptr_t remote_socket_ptr) |
void | disconnect_ (transport_ptr_t transport_ptr, session_ptr_t session_ptr, socket_ptr_t local_socket_ptr, socket_ptr_t remote_socket_ptr) |
Protected Attributes | |
gnutls_certificate_credentials_t | x509cred |
transport_ptr_t | transport_ptr_ |
Private Member Functions | |
void | tunnel_ (transport_ptr_t transport_ptr, session_ptr_t session_ptr, socket_ptr_t local_socket_ptr, buffer_ptr_t local_buffer_ptr, socket_ptr_t remote_socket) |
Private Attributes | |
asio::thread * | t |
tls_tunnel::Proxy::Proxy | ( | const std::string & | ca_file | ) | [protected] |
References TLS_SETUP_ERROR, and x509cred.
void tls_tunnel::Proxy::disconnect_ | ( | transport_ptr_t | transport_ptr, | |
session_ptr_t | session_ptr, | |||
socket_ptr_t | local_socket_ptr, | |||
socket_ptr_t | remote_socket_ptr | |||
) | [protected] |
void tls_tunnel::Proxy::on_local_read | ( | const asio::error_code & | error, | |
std::size_t | bytes_transferred, | |||
transport_ptr_t | transport_ptr, | |||
session_ptr_t | session_ptr, | |||
socket_ptr_t | local_socket_ptr, | |||
buffer_ptr_t | local_buffer_ptr, | |||
socket_ptr_t | remote_socket_ptr | |||
) | [protected] |
References disconnect_(), and abicollab::service::error().
Referenced by tunnel_().
void tls_tunnel::Proxy::run | ( | ) |
References transport_ptr_.
Referenced by RealmConnection::connect().
virtual void tls_tunnel::Proxy::setup | ( | ) | [pure virtual] |
Implemented in tls_tunnel::ClientProxy, and tls_tunnel::ServerProxy.
void tls_tunnel::Proxy::stop | ( | ) | [virtual] |
void tls_tunnel::Proxy::tls_tunnel_deinit | ( | ) | [static] |
Referenced by AbiCollabSessionManager::unregisterAccountHandlers().
bool tls_tunnel::Proxy::tls_tunnel_init | ( | ) | [static] |
Referenced by AbiCollabSessionManager::registerAccountHandlers().
void tls_tunnel::Proxy::tunnel | ( | transport_ptr_t | transport_ptr, | |
session_ptr_t | session_ptr, | |||
socket_ptr_t | local_socket_ptr, | |||
socket_ptr_t | remote_socket_ptr | |||
) | [protected] |
References LOCAL_BUFFER_SIZE, t, and tunnel_().
Referenced by tls_tunnel::ClientProxy::on_client_connect(), and tls_tunnel::ServerProxy::on_transport_connect().
void tls_tunnel::Proxy::tunnel_ | ( | transport_ptr_t | transport_ptr, | |
session_ptr_t | session_ptr, | |||
socket_ptr_t | local_socket_ptr, | |||
buffer_ptr_t | local_buffer_ptr, | |||
socket_ptr_t | remote_socket | |||
) | [private] |
References disconnect_(), abicollab::service::error(), on_local_read(), TUNNEL_BUFFER_SIZE, and tls_tunnel::write().
Referenced by tunnel().
asio::thread* tls_tunnel::Proxy::t [private] |
transport_ptr_t tls_tunnel::Proxy::transport_ptr_ [protected] |
Referenced by run(), tls_tunnel::ServerProxy::setup(), tls_tunnel::ClientProxy::setup(), and stop().
gnutls_certificate_credentials_t tls_tunnel::Proxy::x509cred [protected] |