Commit 158b408b authored by Francis Dupont's avatar Francis Dupont

[master] Finished merge of trac5033 (migrate D2client) (tentative fixes)

parent decb4105
......@@ -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);
......
......@@ -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"
......
......@@ -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,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment