diff --git a/Common/HostsFileDownloader.cpp b/Common/HostsFileDownloader.cpp deleted file mode 100644 index 765f6b0..0000000 --- a/Common/HostsFileDownloader.cpp +++ /dev/null @@ -1,78 +0,0 @@ -/* - * Copyright (C) 2010-2013,2015,2018 by Jonathan Naylor G4KLX - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ - -#include -#include -#include -#include - -#include "HostsFileDownloader.h" -#include "Log.h" - -size_t CHostsFileDownloader::write_data(void *ptr, size_t size, size_t nmemb, FILE *stream) -{ - size_t written = fwrite(ptr, size, nmemb, stream); - return written; -} - - -bool CHostsFileDownloader::download(const std::string & hostsFileURL, const std::string & hostFilePath) -{ - CURL *curl; - FILE *fp; - bool ok = false; - std::string outFileName; - char outFileNameBuf[] = "/tmp/HostFile_XXXXXX"; - - CLog::logInfo("Downloading host file from %s", hostsFileURL.c_str()); - - curl = curl_easy_init(); - if (curl) { - int filedes = mkstemp(outFileNameBuf); - if(filedes > 0 && (fp = fdopen(filedes,"wb")) != nullptr) { - curl_easy_setopt(curl, CURLOPT_URL, hostsFileURL.c_str()); - curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data); - curl_easy_setopt(curl, CURLOPT_WRITEDATA, fp); - CURLcode res = curl_easy_perform(curl); - ok = res == 0; - /* always cleanup */ - curl_easy_cleanup(curl); - fclose(fp); - } - } - - - if(ok) { - outFileName = std::string(outFileNameBuf); - - try - { - std::filesystem::copy_file(outFileName, hostFilePath, std::filesystem::copy_options::overwrite_existing); - } - catch(std::filesystem::filesystem_error& e) - { - ok = false; - CLog::logError("Failed to copy host file to %s: %s", hostFilePath.c_str(), e.what()); - } - - } else { - CLog::logWarning("Failed to download Host file from %s, using previous file", hostsFileURL.c_str()); - } - - return ok; -} diff --git a/Common/HostsFileDownloader.h b/Common/HostsFileDownloader.h deleted file mode 100644 index dab6e27..0000000 --- a/Common/HostsFileDownloader.h +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Copyright (c) 2021 by Geoffrey Merck F4FXL / KC3FRA - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ - - -#pragma once - -#include - -class CHostsFileDownloader { -public: - static bool download(const std::string & hostsFileURL, const std::string & hostFilePath); -private: - static size_t write_data(void *ptr, size_t size, size_t nmemb, FILE *stream); -}; - diff --git a/DStarGateway/DStarGatewayThread.cpp b/DStarGateway/DStarGatewayThread.cpp index d86922d..2ee47cd 100644 --- a/DStarGateway/DStarGatewayThread.cpp +++ b/DStarGateway/DStarGatewayThread.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2010-2015,2018 by Jonathan Naylor G4KLX + * Copyright (C) 2010-2015,2018,2026 by Jonathan Naylor G4KLX * Copyright (c) 2021 by Geoffrey F4FXL / KC3FRA * * This program is free software; you can redistribute it and/or modify @@ -55,7 +55,6 @@ #include "Log.h" #include "StringUtils.h" #include "HostsFilesManager.h" -#include "HostsFileDownloader.h" const std::string LOOPBACK_ADDRESS("127.0.0.1"); @@ -140,7 +139,7 @@ CDStarGatewayThread::~CDStarGatewayThread() void* CDStarGatewayThread::Entry() { CHostsFilesManager::setCache(&m_cache); - CHostsFilesManager::setDownloadCallback(CHostsFileDownloader::download); + // CHostsFilesManager::setDownloadCallback(CHostsFileDownloader::download); CHostsFilesManager::UpdateHosts(); // Truncate the old Links.log file diff --git a/Makefile b/Makefile index a9e1485..ffb7f8a 100644 --- a/Makefile +++ b/Makefile @@ -31,7 +31,7 @@ export CPPFLAGS=-W -O3 -Wall -Werror -std=c++17 endif export CC=g++ -export LDFLAGS+= -lcurl -pthread +export LDFLAGS+= -pthread ifeq ($(USE_GPSD), 1) export CPPFLAGS+= -DUSE_GPSD