mirror of
https://gitlab.isc.org/isc-projects/kea
synced 2025-08-30 21:45:37 +00:00
[master] Finished merge of trac5033 (migrate D2client) (tentative fixes)
This commit is contained in:
@@ -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,
|
||||
|
Reference in New Issue
Block a user