From 73b0c508d98d93fd84636765920ee8ba66cec6f9 Mon Sep 17 00:00:00 2001 From: Jonathan Naylor Date: Mon, 9 Apr 2018 18:41:22 +0100 Subject: [PATCH] Remove the use of the second hosts file. --- NXDNGateway/Conf.cpp | 18 +++++------------- NXDNGateway/Conf.h | 6 ++---- NXDNGateway/NXDNGateway.cpp | 2 +- NXDNGateway/NXDNGateway.ini | 3 +-- NXDNGateway/Reflectors.cpp | 36 +++--------------------------------- NXDNGateway/Reflectors.h | 5 ++--- 6 files changed, 14 insertions(+), 56 deletions(-) diff --git a/NXDNGateway/Conf.cpp b/NXDNGateway/Conf.cpp index c0c704d..33bc8b1 100644 --- a/NXDNGateway/Conf.cpp +++ b/NXDNGateway/Conf.cpp @@ -51,8 +51,7 @@ m_voiceDirectory(), m_logFilePath(), m_logFileRoot(), m_networkPort(0U), -m_networkHosts1(), -m_networkHosts2(), +m_networkHosts(), m_networkReloadTime(0U), m_networkParrotAddress("127.0.0.1"), m_networkParrotPort(0U), @@ -141,10 +140,8 @@ bool CConf::read() } else if (section == SECTION_NETWORK) { if (::strcmp(key, "Port") == 0) m_networkPort = (unsigned int)::atoi(value); - else if (::strcmp(key, "HostsFile1") == 0) - m_networkHosts1 = value; - else if (::strcmp(key, "HostsFile2") == 0) - m_networkHosts2 = value; + else if (::strcmp(key, "HostsFile") == 0) + m_networkHosts = value; else if (::strcmp(key, "ReloadTime") == 0) m_networkReloadTime = (unsigned int)::atoi(value); else if (::strcmp(key, "ParrotAddress") == 0) @@ -239,14 +236,9 @@ unsigned int CConf::getNetworkPort() const return m_networkPort; } -std::string CConf::getNetworkHosts1() const +std::string CConf::getNetworkHosts() const { - return m_networkHosts1; -} - -std::string CConf::getNetworkHosts2() const -{ - return m_networkHosts2; + return m_networkHosts; } unsigned int CConf::getNetworkReloadTime() const diff --git a/NXDNGateway/Conf.h b/NXDNGateway/Conf.h index 368c6db..2ec54bc 100644 --- a/NXDNGateway/Conf.h +++ b/NXDNGateway/Conf.h @@ -53,8 +53,7 @@ public: // The Network section unsigned int getNetworkPort() const; - std::string getNetworkHosts1() const; - std::string getNetworkHosts2() const; + std::string getNetworkHosts() const; unsigned int getNetworkReloadTime() const; std::string getNetworkParrotAddress() const; unsigned int getNetworkParrotPort() const; @@ -84,8 +83,7 @@ private: std::string m_logFileRoot; unsigned int m_networkPort; - std::string m_networkHosts1; - std::string m_networkHosts2; + std::string m_networkHosts; unsigned int m_networkReloadTime; std::string m_networkParrotAddress; unsigned int m_networkParrotPort; diff --git a/NXDNGateway/NXDNGateway.cpp b/NXDNGateway/NXDNGateway.cpp index c48f6f2..65419d4 100644 --- a/NXDNGateway/NXDNGateway.cpp +++ b/NXDNGateway/NXDNGateway.cpp @@ -181,7 +181,7 @@ void CNXDNGateway::run() return; } - CReflectors reflectors(m_conf.getNetworkHosts1(), m_conf.getNetworkHosts2(), m_conf.getNetworkReloadTime()); + CReflectors reflectors(m_conf.getNetworkHosts(), m_conf.getNetworkReloadTime()); if (m_conf.getNetworkParrotPort() > 0U) reflectors.setParrot(m_conf.getNetworkParrotAddress(), m_conf.getNetworkParrotPort()); if (m_conf.getNetworkNXDN2DMRPort() > 0U) diff --git a/NXDNGateway/NXDNGateway.ini b/NXDNGateway/NXDNGateway.ini index 1229776..1d2c544 100644 --- a/NXDNGateway/NXDNGateway.ini +++ b/NXDNGateway/NXDNGateway.ini @@ -21,8 +21,7 @@ FileRoot=NXDNGateway [Network] Port=14050 -HostsFile1=./NXDNHosts.txt -HostsFile2=./private/NXDNHosts.txt +HostsFile=./NXDNHosts.txt ReloadTime=60 ParrotAddress=127.0.0.1 ParrotPort=42021 diff --git a/NXDNGateway/Reflectors.cpp b/NXDNGateway/Reflectors.cpp index fe1f76d..6b11957 100644 --- a/NXDNGateway/Reflectors.cpp +++ b/NXDNGateway/Reflectors.cpp @@ -26,9 +26,8 @@ #include #include -CReflectors::CReflectors(const std::string& hostsFile1, const std::string& hostsFile2, unsigned int reloadTime) : -m_hostsFile1(hostsFile1), -m_hostsFile2(hostsFile2), +CReflectors::CReflectors(const std::string& hostsFile, unsigned int reloadTime) : +m_hostsFile(hostsFile), m_parrotAddress(), m_parrotPort(0U), m_reflectors(), @@ -66,7 +65,7 @@ bool CReflectors::load() m_reflectors.clear(); - FILE* fp = ::fopen(m_hostsFile1.c_str(), "rt"); + FILE* fp = ::fopen(m_hostsFile.c_str(), "rt"); if (fp != NULL) { char buffer[100U]; while (::fgets(buffer, 100U, fp) != NULL) { @@ -95,35 +94,6 @@ bool CReflectors::load() ::fclose(fp); } - fp = ::fopen(m_hostsFile2.c_str(), "rt"); - if (fp != NULL) { - char buffer[100U]; - while (::fgets(buffer, 100U, fp) != NULL) { - if (buffer[0U] == '#') - continue; - - char* p1 = ::strtok(buffer, " \t\r\n"); - char* p2 = ::strtok(NULL, " \t\r\n"); - char* p3 = ::strtok(NULL, " \t\r\n"); - - if (p1 != NULL && p2 != NULL && p3 != NULL) { - std::string host = std::string(p2); - - in_addr address = CUDPSocket::lookup(host); - if (address.s_addr != INADDR_NONE) { - CNXDNReflector* refl = new CNXDNReflector; - refl->m_id = (unsigned short)::atoi(p1); - refl->m_address = address; - refl->m_port = (unsigned int)::atoi(p3); - - m_reflectors.push_back(refl); - } - } - } - - ::fclose(fp); - } - size_t size = m_reflectors.size(); LogInfo("Loaded %u NXDN reflectors", size); diff --git a/NXDNGateway/Reflectors.h b/NXDNGateway/Reflectors.h index 3c3672c..4a79096 100644 --- a/NXDNGateway/Reflectors.h +++ b/NXDNGateway/Reflectors.h @@ -41,7 +41,7 @@ public: class CReflectors { public: - CReflectors(const std::string& hostsFile1, const std::string& hostsFile2, unsigned int reloadTime); + CReflectors(const std::string& hostsFile, unsigned int reloadTime); ~CReflectors(); void setParrot(const std::string& address, unsigned int port); @@ -54,8 +54,7 @@ public: void clock(unsigned int ms); private: - std::string m_hostsFile1; - std::string m_hostsFile2; + std::string m_hostsFile; std::string m_parrotAddress; unsigned int m_parrotPort; std::string m_nxdn2dmrAddress;