mirror of
https://gitlab.isc.org/isc-projects/kea
synced 2025-09-01 14:35:29 +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\" {
|
\"interfaces\" {
|
||||||
switch(driver.ctx_) {
|
switch(driver.ctx_) {
|
||||||
case isc::dhcp::Parser4Context::INTERFACES_CONFIG:
|
case isc::dhcp::Parser4Context::INTERFACES_CONFIG:
|
||||||
@@ -1026,7 +1017,9 @@ ControlCharacterFill [^"\\]|\\{JSONEscapeSequence}
|
|||||||
|
|
||||||
(?i:\"UDP\") {
|
(?i:\"UDP\") {
|
||||||
/* dhcp-ddns value keywords are case insensitive */
|
/* dhcp-ddns value keywords are case insensitive */
|
||||||
if (driver.ctx_ == isc::dhcp::Parser4Context::NCR_PROTOCOL) {
|
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_);
|
return isc::dhcp::Dhcp4Parser::make_UDP(driver.loc_);
|
||||||
}
|
}
|
||||||
std::string tmp(yytext+1);
|
std::string tmp(yytext+1);
|
||||||
|
@@ -157,8 +157,7 @@ using namespace std;
|
|||||||
OVERRIDE_CLIENT_UPDATE "override-client-update"
|
OVERRIDE_CLIENT_UPDATE "override-client-update"
|
||||||
REPLACE_CLIENT_NAME "replace-client-name"
|
REPLACE_CLIENT_NAME "replace-client-name"
|
||||||
GENERATED_PREFIX "generated-prefix"
|
GENERATED_PREFIX "generated-prefix"
|
||||||
UDP "UDP"
|
TCP "tcp"
|
||||||
TCP "TCP"
|
|
||||||
JSON "JSON"
|
JSON "JSON"
|
||||||
WHEN_PRESENT "when-present"
|
WHEN_PRESENT "when-present"
|
||||||
NEVER "never"
|
NEVER "never"
|
||||||
|
@@ -380,14 +380,6 @@ public:
|
|||||||
hooks_libraries_parser_->loadLibraries();
|
hooks_libraries_parser_->loadLibraries();
|
||||||
continue;
|
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
|
int family = parser_context_->universe_ == Option::V4
|
||||||
@@ -437,36 +429,6 @@ public:
|
|||||||
return (answer);
|
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
|
/// @brief DHCP-specific method that sets global, and option specific defaults
|
||||||
///
|
///
|
||||||
/// This method sets the defaults in the global scope, in option definitions,
|
/// This method sets the defaults in the global scope, in option definitions,
|
||||||
|
Reference in New Issue
Block a user