OpenVPN 3 Core Library
Loading...
Searching...
No Matches
openvpn::AppleSSLContext::SSL Class Reference

#include <sslctx.hpp>

Inheritance diagram for openvpn::AppleSSLContext::SSL:
[legend]
Collaboration diagram for openvpn::AppleSSLContext::SSL:
[legend]

Public Types

typedef RCPtr< SSLPtr
 
- Public Types inherited from openvpn::SSLAPI
enum  TLSWarnings { TLS_WARN_NONE = 0 , TLS_WARN_SIG_MD5 = (1 << 0) , TLS_WARN_SIG_SHA1 = (1 << 1) }
 
typedef RCPtr< SSLAPIPtr
 
- Public Types inherited from openvpn::RC< thread_unsafe_refcount >
typedef RCPtr< RCPtr
 

Public Member Functions

void start_handshake () override
 
ssize_t write_cleartext_unbuffered (const void *data, const size_t size) override
 
ssize_t read_cleartext (void *data, const size_t capacity) override
 
bool read_cleartext_ready () const override
 
void write_ciphertext (const BufferPtr &buf) override
 
bool read_ciphertext_ready () const override
 
BufferPtr read_ciphertext () override
 
std::string ssl_handshake_details () const override
 
const AuthCert::Ptrauth_cert () const override
 
 ~SSL ()
 
- Public Member Functions inherited from openvpn::SSLAPI
virtual void write_ciphertext_unbuffered (const unsigned char *data, const size_t size)=0
 
virtual bool export_keying_material (const std::string &label, unsigned char *dest, size_t size)=0
 
virtual bool did_full_handshake ()=0
 
virtual void mark_no_cache ()=0
 
uint32_t get_tls_warnings () const
 
- Public Member Functions inherited from openvpn::RC< thread_unsafe_refcount >
 RC () noexcept=default
 
 RC (const RC &)=delete
 
virtual ~RC ()=default
 
RCoperator= (const RC &)=delete
 
olong use_count () const noexcept
 Delegates call to RCImpl and returns the result.
 

Private Member Functions

 SSL (const AppleSSLContext &ctx)
 
void ssl_clear ()
 
void ssl_erase ()
 

Static Private Member Functions

static OSStatus ct_read_func (SSLConnectionRef cref, void *data, size_t *length)
 
static OSStatus ct_write_func (SSLConnectionRef cref, const void *data, size_t *length)
 

Private Attributes

SSLContextRef ssl
 
MemQStream ct_in
 
MemQStream ct_out
 
bool overflow
 

Friends

class AppleSSLContext
 

Additional Inherited Members

- Static Public Member Functions inherited from openvpn::RC< thread_unsafe_refcount >
static constexpr bool is_thread_safe ()
 Delegates call to RCImpl and returns the result.
 
- Protected Attributes inherited from openvpn::SSLAPI
uint32_t tls_warnings = 0
 

Detailed Description

Definition at line 216 of file sslctx.hpp.

Member Typedef Documentation

◆ Ptr

Definition at line 221 of file sslctx.hpp.

Constructor & Destructor Documentation

◆ ~SSL()

openvpn::AppleSSLContext::SSL::~SSL ( )
inline

Definition at line 297 of file sslctx.hpp.

◆ SSL()

openvpn::AppleSSLContext::SSL::SSL ( const AppleSSLContext ctx)
inlineprivate

Definition at line 303 of file sslctx.hpp.

Member Function Documentation

◆ auth_cert()

const AuthCert::Ptr & openvpn::AppleSSLContext::SSL::auth_cert ( ) const
inlineoverridevirtual

Implements openvpn::SSLAPI.

Definition at line 292 of file sslctx.hpp.

◆ ct_read_func()

static OSStatus openvpn::AppleSSLContext::SSL::ct_read_func ( SSLConnectionRef  cref,
void *  data,
size_t *  length 
)
inlinestaticprivate

Definition at line 373 of file sslctx.hpp.

Here is the caller graph for this function:

◆ ct_write_func()

static OSStatus openvpn::AppleSSLContext::SSL::ct_write_func ( SSLConnectionRef  cref,
const void *  data,
size_t *  length 
)
inlinestaticprivate

Definition at line 389 of file sslctx.hpp.

Here is the caller graph for this function:

◆ read_ciphertext()

BufferPtr openvpn::AppleSSLContext::SSL::read_ciphertext ( )
inlineoverridevirtual

Implements openvpn::SSLAPI.

Definition at line 282 of file sslctx.hpp.

◆ read_ciphertext_ready()

bool openvpn::AppleSSLContext::SSL::read_ciphertext_ready ( ) const
inlineoverridevirtual

Implements openvpn::SSLAPI.

Definition at line 277 of file sslctx.hpp.

◆ read_cleartext()

ssize_t openvpn::AppleSSLContext::SSL::read_cleartext ( void *  data,
const size_t  capacity 
)
inlineoverridevirtual

Implements openvpn::SSLAPI.

Definition at line 243 of file sslctx.hpp.

◆ read_cleartext_ready()

bool openvpn::AppleSSLContext::SSL::read_cleartext_ready ( ) const
inlineoverridevirtual

Implements openvpn::SSLAPI.

Definition at line 263 of file sslctx.hpp.

◆ ssl_clear()

void openvpn::AppleSSLContext::SSL::ssl_clear ( )
inlineprivate

Definition at line 403 of file sslctx.hpp.

Here is the caller graph for this function:

◆ ssl_erase()

void openvpn::AppleSSLContext::SSL::ssl_erase ( )
inlineprivate

Definition at line 409 of file sslctx.hpp.

Here is the caller graph for this function:

◆ ssl_handshake_details()

std::string openvpn::AppleSSLContext::SSL::ssl_handshake_details ( ) const
inlineoverridevirtual

Implements openvpn::SSLAPI.

Definition at line 287 of file sslctx.hpp.

◆ start_handshake()

void openvpn::AppleSSLContext::SSL::start_handshake ( )
inlineoverridevirtual

Implements openvpn::SSLAPI.

Definition at line 223 of file sslctx.hpp.

◆ write_ciphertext()

void openvpn::AppleSSLContext::SSL::write_ciphertext ( const BufferPtr buf)
inlineoverridevirtual

Implements openvpn::SSLAPI.

Definition at line 269 of file sslctx.hpp.

◆ write_cleartext_unbuffered()

ssize_t openvpn::AppleSSLContext::SSL::write_cleartext_unbuffered ( const void *  data,
const size_t  size 
)
inlineoverridevirtual

Implements openvpn::SSLAPI.

Definition at line 228 of file sslctx.hpp.

Friends And Related Symbol Documentation

◆ AppleSSLContext

friend class AppleSSLContext
friend

Definition at line 218 of file sslctx.hpp.

Member Data Documentation

◆ ct_in

MemQStream openvpn::AppleSSLContext::SSL::ct_in
private

Definition at line 423 of file sslctx.hpp.

◆ ct_out

MemQStream openvpn::AppleSSLContext::SSL::ct_out
private

Definition at line 424 of file sslctx.hpp.

◆ overflow

bool openvpn::AppleSSLContext::SSL::overflow
private

Definition at line 425 of file sslctx.hpp.

◆ ssl

SSLContextRef openvpn::AppleSSLContext::SSL::ssl
private

Definition at line 422 of file sslctx.hpp.


The documentation for this class was generated from the following file: