]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[master] Finished merge of trac5033 (migrate D2client) (tentative fixes)
authorFrancis Dupont <fdupont@isc.org>
Mon, 16 Jan 2017 13:01:28 +0000 (14:01 +0100)
committerFrancis Dupont <fdupont@isc.org>
Mon, 16 Jan 2017 13:01:28 +0000 (14:01 +0100)
src/bin/dhcp4/dhcp4_lexer.ll
src/bin/dhcp4/dhcp4_parser.yy
src/lib/dhcpsrv/tests/dhcp_parsers_unittest.cc

index 9d4ef42b2578527c33a22e90fcf32e1f4eefc326..f79c0e318fce954446d4a5d510344cbc90c767c7 100644 (file)
@@ -207,15 +207,6 @@ ControlCharacterFill            [^"\\]|\\{JSONEscapeSequence}
     }
 }
 
-\"udp\" {
-    switch(driver.ctx_) {
-    case isc::dhcp::Parser4Context::DHCP_SOCKET_TYPE:
-        return  isc::dhcp::Dhcp4Parser::make_UDP(driver.loc_);
-    default:
-        return isc::dhcp::Dhcp4Parser::make_STRING("udp", driver.loc_);
-    }
-}
-
 \"interfaces\" {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::INTERFACES_CONFIG:
@@ -1026,8 +1017,10 @@ ControlCharacterFill            [^"\\]|\\{JSONEscapeSequence}
 
 (?i:\"UDP\") {
     /* dhcp-ddns value keywords are case insensitive */
-    if (driver.ctx_ == isc::dhcp::Parser4Context::NCR_PROTOCOL) {
-        return isc::dhcp::Dhcp4Parser::make_UDP(driver.loc_);
+    if ((driver.ctx_ == isc::dhcp::Parser4Context::NCR_PROTOCOL) ||
+        ((driver.ctx_ == isc::dhcp::Parser4Context::DHCP_SOCKET_TYPE) &&
+        (yytext == "\"udp\"")) {
+        return isc::dhcp::Dhcp4Parser::make_UDP(driver.loc_);
     }
     std::string tmp(yytext+1);
     tmp.resize(tmp.size() - 1);
index 34f9e8b261e5b52f8f8413c89641bc52e8e4a94f..2393315c78dd55085877f182db0244e52120b39a 100644 (file)
@@ -157,8 +157,7 @@ using namespace std;
   OVERRIDE_CLIENT_UPDATE "override-client-update"
   REPLACE_CLIENT_NAME "replace-client-name"
   GENERATED_PREFIX "generated-prefix"
-  UDP "UDP"
-  TCP "TCP"
+  TCP "tcp"
   JSON "JSON"
   WHEN_PRESENT "when-present"
   NEVER "never"
index 4f5469948dff2e6cdf3c0d1fd0b4f5f1bb83f73c..3b32b35566f5d1439912b61c29f5a31b7186754b 100644 (file)
@@ -380,14 +380,6 @@ public:
                     hooks_libraries_parser_->loadLibraries();
                     continue;
                 }
-
-                // Remaining ones are old style parsers. Need go do
-                // the build/commit dance with them.
-
-                // Create the parser based on element name.
-                ParserPtr parser(createConfigParser(config_pair.first));
-                parser->build(config_pair.second);
-                parser->commit();
             }
 
             int family = parser_context_->universe_ == Option::V4
@@ -437,36 +429,6 @@ public:
         return (answer);
     }
 
-    /// @brief Create an element parser based on the element name.
-    ///
-    /// Creates a parser for the appropriate element and stores a pointer to it
-    /// in the appropriate class variable.
-    ///
-    /// Note that the method currently it only supports option-defs, option-data
-    /// and hooks-libraries.
-    ///
-    /// @param config_id is the name of the configuration element.
-    ///
-    /// @return returns a shared pointer to DhcpConfigParser.
-    ///
-    /// @throw throws NotImplemented if element name isn't supported.
-    ParserPtr createConfigParser(const std::string& config_id) {
-        ParserPtr parser;
-        // option-data and option-def converted to SimpleParser, so they
-        // are no longer here.
-        if (config_id.compare("hooks-libraries") == 0) {
-            parser.reset(new HooksLibrariesParser(config_id));
-            hooks_libraries_parser_ =
-                boost::dynamic_pointer_cast<HooksLibrariesParser>(parser);
-        } else {
-            isc_throw(NotImplemented,
-                "Parser error: configuration parameter not supported: "
-                << config_id);
-        }
-
-        return (parser);
-    }
-
     /// @brief DHCP-specific method that sets global, and option specific defaults
     ///
     /// This method sets the defaults in the global scope, in option definitions,