23#ifndef SSL_ACCEPTOR_CONTEXT_OPERATOR
24#define SSL_ACCEPTOR_CONTEXT_OPERATOR
77 std::string
channel,
bool use_ssl_arg,
119 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:44
TLS context access wrapper for ease of use.
Definition: ssl_acceptor_context_operator.h:104
Ssl_acceptor_context_data_lock::ReadLock read_lock_
Read lock over TLS context.
Definition: ssl_acceptor_context_operator.h:167
Lock_and_access_ssl_acceptor_context(Ssl_acceptor_context_container *context)
Definition: ssl_acceptor_context_operator.h:106
bool have_ssl()
TLS context validity.
Definition: ssl_acceptor_context_operator.cc:133
~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:122
std::string channel_name()
Fetch channel name.
Definition: ssl_acceptor_context_operator.cc:128
High level read API for readers.
Definition: my_rcu_lock.h:112
A class that implements a limited version of the Read-Copy-Update lock pattern.
Definition: my_rcu_lock.h:79
TLS context access protector.
Definition: ssl_acceptor_context_operator.h:40
void switch_data(Ssl_acceptor_context_data *new_data)
Definition: ssl_acceptor_context_operator.cc:45
Ssl_acceptor_context_data_lock * lock_
Definition: ssl_acceptor_context_operator.h:48
~Ssl_acceptor_context_container()
Definition: ssl_acceptor_context_operator.cc:40
Ssl_acceptor_context_container(Ssl_acceptor_context_data *data)
Definition: ssl_acceptor_context_operator.cc:34
Container of SSL Acceptor context data.
Definition: ssl_acceptor_context_data.h:103
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:202
struct st_VioSSLFd * ssl_acceptor_fd_
SSL_CTX barerer.
Definition: ssl_acceptor_context_data.h:195
Definition: ssl_init_callback.h:58
TLS context manager.
Definition: ssl_acceptor_context_operator.h:59
static void singleton_deinit(Ssl_acceptor_context_container *container)
De-initialize the single instance of the acceptor.
Definition: ssl_acceptor_context_operator.cc:102
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:50
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:107
Definition: atomics_array.h:38
Ssl_acceptor_context_property_type
Properties exposed by Ssl Acceptor context.
Definition: ssl_acceptor_context_data.h:43
bool have_ssl()
Definition: ssl_acceptor_context_operator.cc:138
Ssl_acceptor_context_type
Ssl_acceptor_context_data.
Definition: ssl_acceptor_context_operator.h:30
Ssl_acceptor_context_container * mysql_main
Definition: ssl_acceptor_context_operator.cc:31
Ssl_acceptor_context_container * mysql_admin
Definition: ssl_acceptor_context_operator.cc:32
Definition: violite.h:255
SSL_CTX * ssl_context
Definition: violite.h:256
enum_ssl_init_error
Definition: violite.h:235