12#ifndef ROOT_TSSLSocket
13#define ROOT_TSSLSocket
25typedef struct ssl_st
SSL;
48 TSSLSocket(
const char *host,
const char *service,
Int_t tcpwindowsize = -1);
59 static void SetUpSSL(
const char *cafile,
const char *capath,
60 const char *ucert,
const char *ukey);
#define ClassDef(name, id)
struct ssl_ctx_st SSL_CTX
struct ssl_ctx_st SSL_CTX
This class represents an Internet Protocol (IP) address.
Int_t Recv(Int_t &status, Int_t &kind)
Receives a status and a message type.
Int_t Recv(char *mess, Int_t max)
Receive a character string message of maximum max length.
Int_t Recv(TMessage *&mess)
Receive a TMessage object.
static char fgSSLCAPath[]
void WrapWithSSL()
Wraps the socket with OpenSSL.
static char fgSSLCAFile[]
Int_t Send(const TMessage &mess)
Send a TMessage object.
Int_t Send(Int_t kind)
Send a single message opcode.
Int_t Send(Int_t status, Int_t kind)
Send a status and a single message opcode.
Int_t SendRaw(const void *buffer, Int_t length, ESendRecvOptions opt=kDefault)
Send a raw buffer of specified length.
void Close(Option_t *option="")
Close the SSL connection.
virtual ~TSSLSocket()
Close gracefully the connection, and free SSL structures.
Int_t Send(const char *mess, Int_t kind=kMESS_STRING)
Send a character string buffer.
static void SetUpSSL(const char *cafile, const char *capath, const char *ucert, const char *ukey)
Set up the static configuration variables.
Int_t Recv(char *mess, Int_t max, Int_t &kind)
Receive a character string message of maximum max length.
Int_t RecvRaw(void *buffer, Int_t length, ESendRecvOptions opt=kDefault)
Receive a raw buffer of specified length bytes.
virtual Int_t Recv(TMessage *&mess)
Receive a TMessage object.
virtual Int_t Send(const TMessage &mess)
Send a TMessage object.