]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[#2279] "loggers" should be inside the Dhcp[4|6] map
authorRazvan Becheriu <razvan@isc.org>
Fri, 21 Jan 2022 18:15:53 +0000 (20:15 +0200)
committerRazvan Becheriu <razvan@isc.org>
Fri, 21 Jan 2022 18:59:09 +0000 (18:59 +0000)
src/lib/dhcpsrv/srv_config.cc

index caf0acd60d850f2d6cd03ce730df35a3cb19596d..0e233581c8de564db1b2ea56c703de927ad48a16 100644 (file)
@@ -597,11 +597,8 @@ SrvConfig::sanityChecksLifetime(const SrvConfig& target_config,
 
 ElementPtr
 SrvConfig::toElement() const {
-    // Toplevel map
-    ElementPtr result = ConfigBase::toElement();
-
-    // The "server-tag" is added by configured globals
-    result->remove("server-tag");
+    // Top level map
+    ElementPtr result = Element::createMap();
 
     // Get family for the configuration manager
     uint16_t family = CfgMgr::instance().getFamily();
@@ -609,6 +606,19 @@ SrvConfig::toElement() const {
     // DhcpX global map initialized from configured globals
     ElementPtr dhcp = configured_globals_->toElement();
 
+    auto loggers_info = getLoggingInfo();
+    // Was in the Logging global map.
+    if (!loggers_info.empty()) {
+        // Set loggers list
+        ElementPtr loggers = Element::createList();
+        for (LoggingInfoStorage::const_iterator logger =
+                loggers_info.cbegin();
+             logger != loggers_info.cend(); ++logger) {
+            loggers->add(logger->toElement());
+        }
+        dhcp->set("loggers", loggers);
+    }
+
     // Set user-context
     contextToElement(dhcp);