MXS-2486: Fix listener serialization
The serialization should be done via the parameters. This also makes SSLContext::serialize redundant.
This commit is contained in:
@ -103,13 +103,6 @@ public:
|
|||||||
*/
|
*/
|
||||||
static std::unique_ptr<SSLContext> create(const MXS_CONFIG_PARAMETER& params);
|
static std::unique_ptr<SSLContext> create(const MXS_CONFIG_PARAMETER& params);
|
||||||
|
|
||||||
/**
|
|
||||||
* Serialize the SSL configuration into a INI file section
|
|
||||||
*
|
|
||||||
* @return SSLContext as a INI file section
|
|
||||||
*/
|
|
||||||
std::string serialize() const;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Opens a new OpenSSL session for this configuration context
|
* Opens a new OpenSSL session for this configuration context
|
||||||
*/
|
*/
|
||||||
|
@ -472,20 +472,10 @@ bool Listener::create_listener_config(const char* filename)
|
|||||||
// TODO: Check for return values on all of the dprintf calls
|
// TODO: Check for return values on all of the dprintf calls
|
||||||
dprintf(file, "[%s]\n", m_name.c_str());
|
dprintf(file, "[%s]\n", m_name.c_str());
|
||||||
dprintf(file, "type=listener\n");
|
dprintf(file, "type=listener\n");
|
||||||
dprintf(file, "protocol=%s\n", m_protocol.c_str());
|
|
||||||
dprintf(file, "service=%s\n", m_service->name());
|
|
||||||
dprintf(file, "address=%s\n", m_address.c_str());
|
|
||||||
dprintf(file, "port=%u\n", m_port);
|
|
||||||
dprintf(file, "authenticator=%s\n", m_authenticator.c_str());
|
|
||||||
|
|
||||||
if (!m_auth_options.empty())
|
for (const auto& p : m_params)
|
||||||
{
|
{
|
||||||
dprintf(file, "authenticator_options=%s\n", m_auth_options.c_str());
|
dprintf(file, "%s=%s\n", p.first.c_str(), p.second.c_str());
|
||||||
}
|
|
||||||
|
|
||||||
if (ssl().context())
|
|
||||||
{
|
|
||||||
dprintf(file, "%s", ssl().context()->serialize().c_str());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
::close(file);
|
::close(file);
|
||||||
|
@ -234,29 +234,6 @@ SSLContext::SSLContext(const SSLConfig& cfg)
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string SSLContext::serialize() const
|
|
||||||
{
|
|
||||||
std::ostringstream ss;
|
|
||||||
ss << "ssl=required\n";
|
|
||||||
|
|
||||||
if (!m_cfg.cert.empty())
|
|
||||||
{
|
|
||||||
ss << "ssl_cert=" << m_cfg.cert << "\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!m_cfg.key.empty())
|
|
||||||
{
|
|
||||||
ss << "ssl_key=" << m_cfg.key << "\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
mxb_assert(!m_cfg.ca.empty());
|
|
||||||
ss << "ssl_ca_cert=" << m_cfg.ca << "\n";
|
|
||||||
ss << "ssl_version=" << ssl_method_type_to_string(m_cfg.version) << "\n";
|
|
||||||
ss << "ssl_cert_verify_depth=" << m_cfg.verify_depth << "\n";
|
|
||||||
ss << "ssl_verify_peer_certificate=" << (m_cfg.verify_peer ? "true" : "false") << "\n";
|
|
||||||
return ss.str();
|
|
||||||
}
|
|
||||||
|
|
||||||
bool SSLContext::init()
|
bool SSLContext::init()
|
||||||
{
|
{
|
||||||
bool rval = true;
|
bool rval = true;
|
||||||
|
Reference in New Issue
Block a user