MXS-2483: Store server SSLContext in unique_ptr
This commit is contained in:
@ -519,12 +519,12 @@ public:
|
||||
|
||||
mxs::SSLContext* ssl_context() const
|
||||
{
|
||||
return m_ssl_context;
|
||||
return m_ssl_context.get();
|
||||
}
|
||||
|
||||
void set_ssl_context(mxs::SSLContext* ssl)
|
||||
void set_ssl_context(std::unique_ptr<mxs::SSLContext> ssl)
|
||||
{
|
||||
m_ssl_context = ssl;
|
||||
m_ssl_context.swap(ssl);
|
||||
}
|
||||
|
||||
protected:
|
||||
@ -538,5 +538,6 @@ private:
|
||||
static const int DEFAULT_CHARSET = 0x08; /**< The latin1 charset */
|
||||
maxbase::EMAverage m_response_time; /**< Response time calculations for this server */
|
||||
std::mutex m_average_write_mutex; /**< Protects response time from concurrent writing */
|
||||
mxs::SSLContext* m_ssl_context; /**< SSL context */
|
||||
|
||||
std::unique_ptr<mxs::SSLContext> m_ssl_context; /**< SSL context */
|
||||
};
|
||||
|
@ -441,11 +441,12 @@ bool runtime_enable_server_ssl(Server* server,
|
||||
else if (key && cert && ca)
|
||||
{
|
||||
std::lock_guard<std::mutex> guard(crt_lock);
|
||||
mxs::SSLContext* ssl = create_ssl(server->name(), key, cert, ca, version, depth, verify);
|
||||
std::unique_ptr<mxs::SSLContext> ssl(create_ssl(server->name(), key, cert, ca,
|
||||
version, depth, verify));
|
||||
|
||||
if (ssl)
|
||||
{
|
||||
server->set_ssl_context(ssl);
|
||||
server->set_ssl_context(std::move(ssl));
|
||||
|
||||
if (server->serialize())
|
||||
{
|
||||
|
@ -6347,12 +6347,12 @@ static int blr_set_master_ssl(ROUTER_INSTANCE* router,
|
||||
{CN_SSL_VERIFY_PEER_CERTIFICATE, "true"}
|
||||
});
|
||||
|
||||
auto ssl = mxs::SSLContext::create(params);
|
||||
std::unique_ptr<mxs::SSLContext> ssl(mxs::SSLContext::create(params));
|
||||
|
||||
if (ssl)
|
||||
{
|
||||
updated = 1;
|
||||
router->service->dbref->server->set_ssl_context(ssl);
|
||||
router->service->dbref->server->set_ssl_context(std::move(ssl));
|
||||
|
||||
/* Update options in router fields */
|
||||
if (!config.ssl_key.empty())
|
||||
|
Reference in New Issue
Block a user