24#ifndef SSL_ACCEPTOR_CONTEXT_OPERATOR
25#define SSL_ACCEPTOR_CONTEXT_OPERATOR
78 std::string
channel,
bool use_ssl_arg,
120 operator SSL_CTX *() {
app_data_ptr new_data(u_int n, char *val, cons_type consensus)
static const sasl_callback_t callbacks[]
Definition: auth_ldap_sasl_client.h:45
TLS context access wrapper for ease of use.
Definition: ssl_acceptor_context_operator.h:105
Ssl_acceptor_context_data_lock::ReadLock read_lock_
Read lock over TLS context.
Definition: ssl_acceptor_context_operator.h:168
Lock_and_access_ssl_acceptor_context(Ssl_acceptor_context_container *context)
Definition: ssl_acceptor_context_operator.h:107
bool have_ssl()
TLS context validity.
Definition: ssl_acceptor_context_operator.cc:126
~Lock_and_access_ssl_acceptor_context()=default
std::string show_property(Ssl_acceptor_context_property_type property_type)
Fetch given property from underlying TLS context.
Definition: ssl_acceptor_context_operator.cc:115
std::string channel_name()
Fetch channel name.
Definition: ssl_acceptor_context_operator.cc:121
High level read API for readers.
Definition: my_rcu_lock.h:113
A class that implements a limited version of the Read-Copy-Update lock pattern.
Definition: my_rcu_lock.h:80
TLS context access protector.
Definition: ssl_acceptor_context_operator.h:41
void switch_data(Ssl_acceptor_context_data *new_data)
Definition: ssl_acceptor_context_operator.cc:46
Ssl_acceptor_context_data_lock * lock_
Definition: ssl_acceptor_context_operator.h:49
~Ssl_acceptor_context_container()
Definition: ssl_acceptor_context_operator.cc:41
Ssl_acceptor_context_container(Ssl_acceptor_context_data *data)
Definition: ssl_acceptor_context_operator.cc:35
Container of SSL Acceptor context data.
Definition: ssl_acceptor_context_data.h:104
SSL * acceptor_
An SSL for ssl_acceptor_fd_ to allow access to parameters not in SSL_CTX to be available even if the ...
Definition: ssl_acceptor_context_data.h:203
struct st_VioSSLFd * ssl_acceptor_fd_
SSL_CTX barerer.
Definition: ssl_acceptor_context_data.h:196
Definition: ssl_init_callback.h:58
TLS context manager.
Definition: ssl_acceptor_context_operator.h:60
static void singleton_deinit(Ssl_acceptor_context_container *container)
De-initialize the single instance of the acceptor.
Definition: ssl_acceptor_context_operator.cc:95
static bool singleton_init(Ssl_acceptor_context_container **out, std::string channel, bool use_ssl_arg, Ssl_init_callback *callbacks, bool db_init)
Initialize the single instance of the acceptor.
Definition: ssl_acceptor_context_operator.cc:51
static void singleton_flush(Ssl_acceptor_context_container *container, std::string channel, Ssl_init_callback *callbacks, enum enum_ssl_init_error *error, bool force)
Re-initialize the single instance of the acceptor.
Definition: ssl_acceptor_context_operator.cc:100
Definition: atomics_array.h:39
Ssl_acceptor_context_property_type
Properties exposed by Ssl Acceptor context.
Definition: ssl_acceptor_context_data.h:44
bool have_ssl()
Definition: ssl_acceptor_context_operator.cc:131
Ssl_acceptor_context_type
Ssl_acceptor_context_data.
Definition: ssl_acceptor_context_operator.h:31
Ssl_acceptor_context_container * mysql_main
Definition: ssl_acceptor_context_operator.cc:32
Ssl_acceptor_context_container * mysql_admin
Definition: ssl_acceptor_context_operator.cc:33
Definition: violite.h:255
SSL_CTX * ssl_context
Definition: violite.h:256
enum_ssl_init_error
Definition: violite.h:236