24#ifndef SSL_ACCEPTOR_CONTEXT_OPERATOR
25#define SSL_ACCEPTOR_CONTEXT_OPERATOR
100 bool warn_without_force_pqc);
121 operator SSL_CTX *() {
app_data_ptr new_data(u_int n, char *val, cons_type consensus)
TLS context access wrapper for ease of use.
Definition: ssl_acceptor_context_operator.h:106
Ssl_acceptor_context_data_lock::ReadLock read_lock_
Read lock over TLS context.
Definition: ssl_acceptor_context_operator.h:169
Lock_and_access_ssl_acceptor_context(Ssl_acceptor_context_container *context)
Definition: ssl_acceptor_context_operator.h:108
bool have_ssl()
TLS context validity.
Definition: ssl_acceptor_context_operator.cc:130
~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:119
std::string channel_name()
Fetch channel name.
Definition: ssl_acceptor_context_operator.cc:125
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:48
Ssl_acceptor_context_data_lock * lock_
Definition: ssl_acceptor_context_operator.h:49
~Ssl_acceptor_context_container()
Definition: ssl_acceptor_context_operator.cc:43
Ssl_acceptor_context_container(Ssl_acceptor_context_data *data)
Definition: ssl_acceptor_context_operator.cc:37
Container of SSL Acceptor context data.
Definition: ssl_acceptor_context_data.h:107
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:206
struct st_VioSSLFd * ssl_acceptor_fd_
SSL_CTX barerer.
Definition: ssl_acceptor_context_data.h:199
Definition: ssl_init_callback.h:70
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:97
static void singleton_flush(Ssl_acceptor_context_container *container, std::string channel, Ssl_init_callback *callbacks, enum enum_ssl_init_error *error, bool force, bool warn_without_force_pqc)
Re-initialize the single instance of the acceptor.
Definition: ssl_acceptor_context_operator.cc:102
static bool singleton_init(Ssl_acceptor_context_container **out, const std::string &channel, Ssl_init_callback *callbacks, bool db_init)
Initialize the single instance of the acceptor.
Definition: ssl_acceptor_context_operator.cc:53
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:135
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:34
Ssl_acceptor_context_container * mysql_admin
Definition: ssl_acceptor_context_operator.cc:35
Definition: violite.h:260
SSL_CTX * ssl_context
Definition: violite.h:261
enum_ssl_init_error
Definition: violite.h:236