]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[576-cb-cmds-empty-value-for-next-server-parameter-is-accepted-which-causes-misconfig... 576-cb-cmds-empty-value-for-next-server-parameter-is-accepted-which-causes-misconfiguration
authorFrancis Dupont <fdupont@isc.org>
Tue, 9 Jul 2019 14:55:56 +0000 (16:55 +0200)
committerFrancis Dupont <fdupont@isc.org>
Wed, 10 Jul 2019 08:01:47 +0000 (04:01 -0400)
src/lib/dhcpsrv/network.cc
src/lib/dhcpsrv/network.h

index dea0f702c48fe349da04e14e3b8cc192b0d69fd7..27562b2740f1c19cc78a5c1f1c8aaf0c838c054e 100644 (file)
@@ -117,6 +117,24 @@ Network::hrModeFromString(const std::string& hr_mode_name) {
     }
 }
 
+Optional<IOAddress>
+Network::getGlobalProperty(Optional<IOAddress> property,
+                           const std::string& global_name) const {
+    if (!global_name.empty() && fetch_globals_fn_) {
+        ConstElementPtr globals = fetch_globals_fn_();
+        if (globals && (globals->getType() == Element::map)) {
+            ConstElementPtr global_param = globals->get(global_name);
+            if (global_param) {
+                std::string global_str = global_param->stringValue();
+                if (!global_str.empty()) {
+                    return (IOAddress(global_str));
+                }
+            }
+        }
+    }
+    return (property);
+}
+
 ElementPtr
 Network::toElement() const {
     ElementPtr map = Element::createMap();
index d526f30938bee04df2cee0a49a32be738231a689..65848eb133d10912ab399b03b6b36a6eddd758f2 100644 (file)
@@ -589,21 +589,7 @@ protected:
     /// of @c property.
     util::Optional<asiolink::IOAddress>
     getGlobalProperty(util::Optional<asiolink::IOAddress> property,
-                      const std::string& global_name) const {
-        if (!global_name.empty() && fetch_globals_fn_) {
-            data::ConstElementPtr globals = fetch_globals_fn_();
-            if (globals && (globals->getType() == data::Element::map)) {
-                data::ConstElementPtr global_param = globals->get(global_name);
-                if (global_param) {
-                    std::string global_str = global_param->stringValue();
-                    if (!global_str.empty()) {
-                        return (asiolink::IOAddress(global_str));
-                    }
-                }
-            }
-        }
-        return (property);
-    }
+                      const std::string& global_name) const;
 
     /// @brief Returns a value associated with a network using inheritance.
     ///