Added the ability to use TLS when connecting to a database. (#24348)
* Added the ability to use TLS when connecting to a database. * Trying to kickstart CI checks * Revert the kickstart change Co-authored-by: myuzhobcplidtkieno <[email protected]> Co-authored-by: Giacomo Pozzoni <[email protected]> (cherry picked from commit ae553f89664a4baade80020856c9ff66323de963)
This commit is contained in:
committed by
Shauren
parent
d0e1794d99
commit
de5f7edede
@@ -34,7 +34,7 @@ MySQLConnectionInfo::MySQLConnectionInfo(std::string const& infoString)
|
||||
{
|
||||
Tokenizer tokens(infoString, ';');
|
||||
|
||||
if (tokens.size() != 5)
|
||||
if (tokens.size() != 5 && tokens.size() != 6)
|
||||
return;
|
||||
|
||||
uint8 i = 0;
|
||||
@@ -44,6 +44,9 @@ MySQLConnectionInfo::MySQLConnectionInfo(std::string const& infoString)
|
||||
user.assign(tokens[i++]);
|
||||
password.assign(tokens[i++]);
|
||||
database.assign(tokens[i++]);
|
||||
|
||||
if (tokens.size() == 6)
|
||||
ssl.assign(tokens[i++]);
|
||||
}
|
||||
|
||||
MySQLConnection::MySQLConnection(MySQLConnectionInfo& connInfo) :
|
||||
@@ -129,6 +132,16 @@ uint32 MySQLConnection::Open()
|
||||
}
|
||||
#endif
|
||||
|
||||
if (m_connectionInfo.ssl != "")
|
||||
{
|
||||
my_bool opt_use_ssl = false;
|
||||
if (m_connectionInfo.ssl == "ssl")
|
||||
{
|
||||
opt_use_ssl = true;
|
||||
}
|
||||
mysql_options(mysqlInit, MYSQL_OPT_SSL_ENFORCE, (char const*)&opt_use_ssl);
|
||||
}
|
||||
|
||||
m_Mysql = reinterpret_cast<MySQLHandle*>(mysql_real_connect(mysqlInit, m_connectionInfo.host.c_str(), m_connectionInfo.user.c_str(),
|
||||
m_connectionInfo.password.c_str(), m_connectionInfo.database.c_str(), port, unix_socket, 0));
|
||||
|
||||
|
||||
Reference in New Issue
Block a user