diff options
-rw-r--r-- | node/NetworkConfigMaster.hpp | 7 | ||||
-rw-r--r-- | node/Node.cpp | 15 |
2 files changed, 22 insertions, 0 deletions
diff --git a/node/NetworkConfigMaster.hpp b/node/NetworkConfigMaster.hpp index 25d5bb1c..c6993c56 100644 --- a/node/NetworkConfigMaster.hpp +++ b/node/NetworkConfigMaster.hpp @@ -30,6 +30,13 @@ #include "Constants.hpp" +#define ZT_LOCAL_CONFIG_NETCONF_REDIS_HOST "netconf.redisHost" +#define ZT_LOCAL_CONFIG_NETCONF_REDIS_PORT "netconf.redisPort" +#define ZT_LOCAL_CONFIG_NETCONF_REDIS_PORT_DEFAULT 6379 +#define ZT_LOCAL_CONFIG_NETCONF_REDIS_AUTH "netconf.redisAuth" +#define ZT_LOCAL_CONFIG_NETCONF_REDIS_DBNUM "netconf.redisDatabaseNumber" +#define ZT_LOCAL_CONFIG_NETCONF_REDIS_DBNUM_DEFAULT 0 + #ifdef ZT_ENABLE_NETCONF_MASTER #include <stdint.h> diff --git a/node/Node.cpp b/node/Node.cpp index d65e4e39..b9f027e3 100644 --- a/node/Node.cpp +++ b/node/Node.cpp @@ -310,6 +310,21 @@ Node::ReasonForTermination Node::run() } RR->node = this; +#ifdef ZT_ENABLE_NETCONF_MASTER + { + std::string redisHost(RR->nc->getLocalConfig(ZT_LOCAL_CONFIG_NETCONF_REDIS_HOST)); + if (redisHost.length() > 0) { + unsigned int redisPort = Utils::strToUInt(RR->nc->getLocalConfig(ZT_LOCAL_CONFIG_NETCONF_REDIS_PORT).c_str()); + if ((redisPort == 0)||(redisPort > 0xffff)) + redisPort = ZT_LOCAL_CONFIG_NETCONF_REDIS_PORT_DEFAULT; + std::string redisAuth(RR->nc->getLocalConfig(ZT_LOCAL_CONFIG_NETCONF_REDIS_AUTH)); + std::string redisDatabaseNumberStr(RR->nc->getLocalConfig(ZT_LOCAL_CONFIG_NETCONF_REDIS_DBNUM)); + unsigned int redisDatabaseNumber = (redisDatabaseNumberStr.length() > 0) ? Utils::strToUInt(redisDatabaseNumberStr.c_str()) : (unsigned int)ZT_LOCAL_CONFIG_NETCONF_REDIS_DBNUM_DEFAULT; + RR->netconfMaster = new NetworkConfigMaster(RR,redisHost.c_str(),redisPort,redisAuth.c_str(),redisDatabaseNumber); + } + } +#endif + #ifdef ZT_AUTO_UPDATE if (ZT_DEFAULTS.updateLatestNfoURL.length()) { RR->updater = new SoftwareUpdater(RR); |