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