1#if !defined(RESIP_TLSBASETRANSPORT_HXX)
2#define RESIP_TLSBASETRANSPORT_HXX
4#if defined(HAVE_CONFIG_H)
14#include <openssl/ssl.h>
32 const Data& interfaceObj,
34 const Data& sipDomain,
39 unsigned transportFlags = 0,
41 bool useEmailAsSIP =
false,
42 const Data& certificateFilename =
"",
43 const Data& privateKeyFilename =
"",
44 const Data& privateKeyPassPhrase =
"");
100 void reloadDomainCtx();
103 int (*mCertVerifyCallback)(X509_STORE_CTX*,
void*) =
nullptr;
104 void* mCertVerifyCallbackArg =
nullptr;
struct ssl_ctx_st SSL_CTX
static Compression Disabled
Represents a compression configuration object with compression disabled.
Connection implements, via sockets, ConnectionBase for managed connections.
An alternative to std::string, encapsulates an arbitrary buffer of bytes.
A templated, threadsafe message-queue class.
SecurityTypes::TlsClientVerificationMode mClientVerificationMode
SecurityTypes::TlsClientVerificationMode getClientVerificationMode()
std::atomic< bool > mReloadCertificate
bool setPeerCertificateVerificationCallback(SecurityTypes::SSLVendor vendor, void *func, void *arg)
Set a custom callback function to be used by the SSL stack to inspect the peer certificate.
RESIP_HeapCount(TlsBaseTransport)
const Data mPrivateKeyPassPhrase
SecurityTypes::SSLType mSslType
const Data mPrivateKeyFilename
const Data mCertificateFilename
virtual ~TlsBaseTransport()
Connection * createConnection(const Tuple &who, Socket fd, bool server=false)
Makes new Connection using provided socket.
Represents a network address.
TlsClientVerificationMode
SSLType
Note: Before adding to the SSLType enum, please see the comments about mTlsCtx in resip/stack/ssl/Sec...
dcm! – add UnusedChecking(_enum) below;
void(* AfterSocketCreationFuncPtr)(Socket s, int transportType, const char *file, int line)
TransportType
An enumeration of transport protocols.
IpVersion
An enumeration of IP versions.