Classes | Namespaces | Defines | Typedefs | Functions | Variables

tls_tunnel.cpp File Reference

#include "tls_tunnel.h"

Classes

class  tls_tunnel::mutex
class  tls_tunnel::_SessionPtrDestuctor

Namespaces

namespace  tls_tunnel

Defines

#define return_val_if_neg(C, val)   { if (C < 0) {return val;} }
#define MIN_CLIENT_PORT   50000
#define MAX_CLIENT_PORT   50100
#define TUNNEL_BUFFER_SIZE   4096
#define LOCAL_BUFFER_SIZE   4096
#define TRANSPORT_ERROR   "Transport exception: "
#define TLS_SETUP_ERROR   "Error setting up TLS connection"
#define TLS_CREDENTIALS_ERROR   "Error setting up TLS connection"
#define TLS_VERIFY_PEER_ERROR   "Error verifying peer"
#define TLS_VERIFY_HOSTNAME_ERROR   "Error verifying hostname"
#define TLS_CANT_GET_PEER_CERT_ERROR   "Failed to get peer certificate"

Typedefs

typedef boost::shared_ptr
< asio::ip::tcp::socket > 
tls_tunnel::socket_ptr_t
typedef boost::shared_ptr
< gnutls_session_t > 
tls_tunnel::session_ptr_t
typedef boost::shared_ptr
< std::vector< char > > 
tls_tunnel::buffer_ptr_t

Functions

static int tls_tunnel::gcry_tunnel_mutex_init (void **priv)
static int tls_tunnel::gcry_tunnel_mutex_destroy (void **priv)
static int tls_tunnel::gcry_tunnel_mutex_lock (void **priv)
static int tls_tunnel::gcry_tunnel_mutex_unlock (void **priv)
static ssize_t tls_tunnel::read (gnutls_transport_ptr_t ptr, void *buffer, size_t size)
static ssize_t tls_tunnel::write (gnutls_transport_ptr_t ptr, const void *buffer, size_t size)

Variables

static struct gcry_thread_cbs tls_tunnel::gcry_threads_tunnel
static const int tls_tunnel::PRIORITIES [] = { GNUTLS_KX_ANON_DH, GNUTLS_KX_RSA, GNUTLS_KX_DHE_DSS, GNUTLS_KX_DHE_RSA, 0 }
static const int tls_tunnel::CIPHERS [] = { GNUTLS_CIPHER_AES_256_CBC, GNUTLS_CIPHER_AES_128_CBC, GNUTLS_CIPHER_3DES_CBC, GNUTLS_CIPHER_ARCFOUR_128, 0 }

Define Documentation

#define LOCAL_BUFFER_SIZE   4096
#define MAX_CLIENT_PORT   50100
#define MIN_CLIENT_PORT   50000
#define return_val_if_neg (   C,
  val 
)    { if (C < 0) {return val;} }
#define TLS_CANT_GET_PEER_CERT_ERROR   "Failed to get peer certificate"
#define TLS_CREDENTIALS_ERROR   "Error setting up TLS connection"
#define TLS_SETUP_ERROR   "Error setting up TLS connection"
#define TLS_VERIFY_HOSTNAME_ERROR   "Error verifying hostname"
#define TLS_VERIFY_PEER_ERROR   "Error verifying peer"
#define TRANSPORT_ERROR   "Transport exception: "
#define TUNNEL_BUFFER_SIZE   4096