#include "config.h" #include "dns_updater.hpp" #include #include #include #include #include namespace phosphor { namespace network { namespace dns { namespace updater { void updateDNSEntries(const fs::path& inFile, const fs::path& outFile) { using namespace phosphor::logging; using namespace sdbusplus::xyz::openbmc_project::Common::Error; std::fstream outStream(outFile, std::fstream::out); if (!outStream.is_open()) { log("Unable to open output file", entry("FILE=%s", outFile.c_str())); elog(); } std::fstream inStream(inFile, std::fstream::in); if (!inStream.is_open()) { log("Unable to open the input file", entry("FILE=%s", inFile.c_str())); elog(); } outStream << "### Generated by phosphor-networkd ###\n"; for (std::string line; std::getline(inStream, line);) { auto index = line.find("DNS="); if (index != std::string::npos) { auto dns = line.substr(index + 4); outStream << "nameserver " << dns << "\n"; } } return; } } // namespace updater } // namespace dns } // namespace network } // namespace phosphor