summaryrefslogtreecommitdiffstats
path: root/phosphor-rsyslog-config/server-conf.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'phosphor-rsyslog-config/server-conf.cpp')
-rw-r--r--phosphor-rsyslog-config/server-conf.cpp22
1 files changed, 20 insertions, 2 deletions
diff --git a/phosphor-rsyslog-config/server-conf.cpp b/phosphor-rsyslog-config/server-conf.cpp
index 836e83b..e8da82e 100644
--- a/phosphor-rsyslog-config/server-conf.cpp
+++ b/phosphor-rsyslog-config/server-conf.cpp
@@ -15,6 +15,19 @@
#include <string>
+#if __has_include(<filesystem>)
+#include <filesystem>
+#elif __has_include(<experimental/filesystem>)
+#include <experimental/filesystem>
+namespace std
+{
+// splice experimental::filesystem into std
+namespace filesystem = std::experimental::filesystem;
+} // namespace std
+#else
+#error filesystem not available
+#endif
+
namespace phosphor
{
namespace rsyslog_config
@@ -23,6 +36,7 @@ namespace rsyslog_config
namespace utils = phosphor::rsyslog_utils;
using namespace phosphor::logging;
using namespace sdbusplus::xyz::openbmc_project::Common::Error;
+namespace fs = std::filesystem;
std::string Server::address(std::string value)
{
@@ -103,8 +117,7 @@ void Server::writeConfig(const std::string& serverAddress, uint16_t serverPort,
}
else // this is a disable request
{
- // write '#*.* @@remote-host:port'
- stream << "#*.* @@remote-host:port";
+ fs::remove(filePath);
}
restart();
@@ -130,6 +143,11 @@ bool Server::addressValid(const std::string& address)
void Server::restore(const char* filePath)
{
+ if (!fs::exists(filePath))
+ {
+ return;
+ }
+
std::fstream stream(filePath, std::fstream::in);
std::string line;
OpenPOWER on IntegriCloud