Browse Source

[3697] Applied and reindented the proposed patch

Francis Dupont 9 years ago
parent
commit
2a1b3e11d8
1 changed files with 11 additions and 0 deletions
  1. 11 0
      src/bin/dhcp6/kea_controller.cc

+ 11 - 0
src/bin/dhcp6/kea_controller.cc

@@ -69,6 +69,17 @@ void configure(const std::string& file_name) {
             isc_throw(isc::BadValue, "no configuration found");
         }
 
+        // Let's do sanity check before we call json->get() which
+        // works only for map.
+        if (json->getType() != isc::data::Element::map) {
+            isc_throw(isc::BadValue, "Configuration file is expected to be "
+		      "a map, i.e., start with { and end with } and contain "
+		      "at least an entry called 'Dhcp6' that itself is a map. "
+		      << file_name
+                      << " is a valid JSON, but its top element is not a map."
+		      " Did you forget to add { } around your configuration?");
+        }
+
         // Let's configure logging before applying the configuration,
         // so we can log things during configuration process.
         // If there's no logging element, we'll just pass NULL pointer,