From 631ba8ff6421ef7ddb75fd9e947b7ebb343c3029 Mon Sep 17 00:00:00 2001 From: Roman Nozdrin Date: Sat, 6 Jan 2018 16:48:27 +0300 Subject: [PATCH] MCOL-497 Use CrossEngineSettings section of the XML config for cross-engine connections' TLS settings. --- oam/etc/Columnstore.xml | 6 ++--- oam/etc/Columnstore.xml.singleserver | 6 ++--- oam/oamcpp/liboamcpp.cpp | 10 -------- oam/oamcpp/liboamcpp.h | 3 --- utils/libmysql_client/libmysql_client.cpp | 31 ++++++++--------------- 5 files changed, 17 insertions(+), 39 deletions(-) diff --git a/oam/etc/Columnstore.xml b/oam/etc/Columnstore.xml index 8fee467f0..ccc5e30b2 100644 --- a/oam/etc/Columnstore.xml +++ b/oam/etc/Columnstore.xml @@ -291,9 +291,6 @@ um User Module SIMPLEX - unassigned - unassigned - unassigned 1 0.0.0.0 unassigned @@ -523,6 +520,9 @@ 3306 root + + + N diff --git a/oam/etc/Columnstore.xml.singleserver b/oam/etc/Columnstore.xml.singleserver index 2bf987287..a316ea264 100644 --- a/oam/etc/Columnstore.xml.singleserver +++ b/oam/etc/Columnstore.xml.singleserver @@ -278,9 +278,6 @@ um User Module SIMPLEX - unassigned - unassigned - unassigned 0 0.0.0.0 unassigned @@ -517,6 +514,9 @@ 3306 root + + + N diff --git a/oam/oamcpp/liboamcpp.cpp b/oam/oamcpp/liboamcpp.cpp index 67df61859..b6e9c72ab 100644 --- a/oam/oamcpp/liboamcpp.cpp +++ b/oam/oamcpp/liboamcpp.cpp @@ -532,9 +532,6 @@ void Oam::getSystemConfig(const std::string& module, ModuleConfig& moduleconfig) const string MODULE_DISABLE_STATE = "ModuleDisableState"; const string MODULE_DBROOT_COUNT = "ModuleDBRootCount"; const string MODULE_DBROOT_ID = "ModuleDBRootID"; - const string MODULE_TLS_CA = "ModuleTLSCA"; - const string MODULE_TLS_CL_CERT = "ModuleTLSClientCert"; - const string MODULE_TLS_CL_KEY = "ModuleTLSClientKey"; string moduletype = module.substr(0, MAX_MODULE_TYPE_SIZE); int moduleID = atoi(module.substr(MAX_MODULE_TYPE_SIZE, MAX_MODULE_ID_SIZE).c_str()); @@ -609,13 +606,6 @@ void Oam::getSystemConfig(const std::string& module, ModuleConfig& moduleconfig) sort ( moduleconfig.dbrootConfigList.begin(), moduleconfig.dbrootConfigList.end() ); - if ( moduletype == "um" ) - { - moduleconfig.TLSCA = sysConfig->getConfig(Section, MODULE_TLS_CA + itoa(moduleTypeID) ); - moduleconfig.TLSClientCert = sysConfig->getConfig(Section, MODULE_TLS_CL_CERT + itoa(moduleTypeID) ); - moduleconfig.TLSClientKey = sysConfig->getConfig(Section, MODULE_TLS_CL_KEY + itoa(moduleTypeID) ); - } - return; } } diff --git a/oam/oamcpp/liboamcpp.h b/oam/oamcpp/liboamcpp.h index 8b50f6e41..5601c8573 100644 --- a/oam/oamcpp/liboamcpp.h +++ b/oam/oamcpp/liboamcpp.h @@ -833,9 +833,6 @@ struct ModuleConfig_s std::string ModuleType; //!< Module Type std::string ModuleDesc; //!< Module Description std::string DisableState; //!< Disabled State - std::string TLSCA; //!< TLS CA cert or path - std::string TLSClientCert; //!< TLS client cert path - std::string TLSClientKey; //!< TLS client key path HostConfigList hostConfigList; //!< IP Address and Hostname List DBRootConfigList dbrootConfigList; //!< DBRoot ID list }; diff --git a/utils/libmysql_client/libmysql_client.cpp b/utils/libmysql_client/libmysql_client.cpp index 537d7ab54..03408841d 100644 --- a/utils/libmysql_client/libmysql_client.cpp +++ b/utils/libmysql_client/libmysql_client.cpp @@ -22,10 +22,9 @@ #include using namespace std; -#include "idberrorinfo.h" -using namespace logging; - -#include "liboamcpp.h" +#include "errorids.h" +#include "exceptclasses.h" +#include "configcpp.h" #include "libmysql_client.h" @@ -61,23 +60,15 @@ int LibMySQL::init(const char* h, unsigned int p, const char* u, const char* w, fCon = mysql_init(NULL); - oam::Oam oam; - oam::oamModuleInfo_t moduleInfo; - moduleInfo = oam.getModuleInfo(); - string moduleName = boost::get<0>(moduleInfo); - int serverTypeInstall = boost::get<5>(moduleInfo); + config::Config* cf = config::Config::makeConfig(); + const string TLSCA = cf->getConfig("CrossEngineSupport", "TLSCA"); + const string TLSClientCert = cf->getConfig("CrossEngineSupport", "TLSClientCert"); + const string TLSClientKey = cf->getConfig("CrossEngineSupport", "TLSClientKey"); - // This is single server installation so use um1 instead of pm1. - if ( serverTypeInstall == 2 ) - moduleName.assign("um1"); - - oam::ModuleConfig moduleconfig; - oam.getSystemConfig(moduleName, moduleconfig); - - if (!(moduleconfig.TLSCA.empty() || moduleconfig.TLSClientCert.empty() || moduleconfig.TLSClientKey.empty())) + if (!(TLSCA.empty() || TLSClientCert.empty() || TLSClientKey.empty())) { - mysql_ssl_set(fCon, moduleconfig.TLSClientKey.c_str(), moduleconfig.TLSClientCert.c_str(), - moduleconfig.TLSCA.c_str(), NULL, NULL); + mysql_ssl_set(fCon, TLSClientKey.c_str(), TLSClientCert.c_str(), + TLSCA.c_str(), NULL, NULL); } if (fCon != NULL) @@ -136,7 +127,7 @@ void LibMySQL::handleMySqlError(const char* errStr, unsigned int errCode) else oss << "(" << errCode << ")"; - throw IDBExcept(oss.str(), ERR_CROSS_ENGINE_CONNECT); + throw logging::IDBExcept(oss.str(), logging::ERR_CROSS_ENGINE_CONNECT); return; }