From: Francis Dupont Date: Tue, 20 Nov 2018 13:19:36 +0000 (+0100) Subject: [65-libyang-simplify-update-models] Revert dhcp[46] syntax fixes X-Git-Tag: 75-radius-documentation-needs-an-update_base~24 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a6cdf5f273b964f78dd05945a3242732501b1527;p=thirdparty%2Fkea.git [65-libyang-simplify-update-models] Revert dhcp[46] syntax fixes --- diff --git a/src/bin/dhcp4/dhcp4_lexer.ll b/src/bin/dhcp4/dhcp4_lexer.ll index 46b3d41a05..314ca284ae 100644 --- a/src/bin/dhcp4/dhcp4_lexer.ll +++ b/src/bin/dhcp4/dhcp4_lexer.ll @@ -135,8 +135,6 @@ ControlCharacterFill [^"\\]|\\{JSONEscapeSequence} return isc::dhcp::Dhcp4Parser::make_SUB_HOOKS_LIBRARY(driver.loc_); case Parser4Context::PARSER_DHCP_DDNS: return isc::dhcp::Dhcp4Parser::make_SUB_DHCP_DDNS(driver.loc_); - case Parser4Context::PARSER_CONFIG_CONTROL: - return isc::dhcp::Dhcp4Parser::make_SUB_CONFIG_CONTROL(driver.loc_); case Parser4Context::PARSER_LOGGING: return isc::dhcp::Dhcp4Parser::make_SUB_LOGGING(driver.loc_); } diff --git a/src/bin/dhcp4/dhcp4_parser.yy b/src/bin/dhcp4/dhcp4_parser.yy index 084182e71d..fe1f905fb5 100644 --- a/src/bin/dhcp4/dhcp4_parser.yy +++ b/src/bin/dhcp4/dhcp4_parser.yy @@ -2070,6 +2070,15 @@ control_agent_json_object: CONTROL_AGENT { ctx.leave(); }; +config_control: LCURLY_BRACKET { + ElementPtr m(new MapElement(ctx.loc2pos(@1))); + ctx.stack_.back()->add(m); + ctx.stack_.push_back(m); +} config_control_params RCURLY_BRACKET { + ctx.stack_.pop_back(); +}; + + config_control: CONFIG_CONTROL { ElementPtr i(new MapElement(ctx.loc2pos(@1))); ctx.stack_.back()->set("config-control", i); @@ -2092,12 +2101,13 @@ sub_config_control: LCURLY_BRACKET { // This defines that subnet can have one or more parameters. config_control_params: config_control_param - | config_control_params COMMA config_control_param - ; + | config_control_params COMMA config_control_param + ; // This defines a list of allowed parameters for each subnet. config_control_param: config_databases - ; + | unknown_map_entry + ; config_databases: CONFIG_DATABASES { ElementPtr l(new ListElement(ctx.loc2pos(@1))); diff --git a/src/bin/dhcp4/parser_context.h b/src/bin/dhcp4/parser_context.h index ae95f02c07..a9a35ea2c2 100644 --- a/src/bin/dhcp4/parser_context.h +++ b/src/bin/dhcp4/parser_context.h @@ -88,9 +88,6 @@ public: /// This will parse the input as dhcp-ddns. PARSER_DHCP_DDNS, - /// This will parse the input as config-control. - PARSER_CONFIG_CONTROL, - /// This will parse the content of Logging. PARSER_LOGGING } ParserType; diff --git a/src/bin/dhcp6/dhcp6_lexer.ll b/src/bin/dhcp6/dhcp6_lexer.ll index 4347991bde..0cb1a73fdb 100644 --- a/src/bin/dhcp6/dhcp6_lexer.ll +++ b/src/bin/dhcp6/dhcp6_lexer.ll @@ -137,8 +137,6 @@ ControlCharacterFill [^"\\]|\\{JSONEscapeSequence} return isc::dhcp::Dhcp6Parser::make_SUB_HOOKS_LIBRARY(driver.loc_); case Parser6Context::PARSER_DHCP_DDNS: return isc::dhcp::Dhcp6Parser::make_SUB_DHCP_DDNS(driver.loc_); - case Parser6Context::PARSER_CONFIG_CONTROL: - return isc::dhcp::Dhcp6Parser::make_SUB_CONFIG_CONTROL(driver.loc_); case Parser6Context::PARSER_LOGGING: return isc::dhcp::Dhcp6Parser::make_SUB_LOGGING(driver.loc_); } diff --git a/src/bin/dhcp6/dhcp6_parser.yy b/src/bin/dhcp6/dhcp6_parser.yy index 71253663ec..d29a2975d4 100644 --- a/src/bin/dhcp6/dhcp6_parser.yy +++ b/src/bin/dhcp6/dhcp6_parser.yy @@ -2162,6 +2162,15 @@ control_agent_json_object: CONTROL_AGENT { // Config control information element +config_control: LCURLY_BRACKET { + ElementPtr m(new MapElement(ctx.loc2pos(@1))); + ctx.stack_.back()->add(m); + ctx.stack_.push_back(m); +} config_control_params RCURLY_BRACKET { + ctx.stack_.pop_back(); +}; + + config_control: CONFIG_CONTROL { ElementPtr i(new MapElement(ctx.loc2pos(@1))); ctx.stack_.back()->set("config-control", i); @@ -2184,12 +2193,13 @@ sub_config_control: LCURLY_BRACKET { // This defines that subnet can have one or more parameters. config_control_params: config_control_param - | config_control_params COMMA config_control_param - ; + | config_control_params COMMA config_control_param + ; // This defines a list of allowed parameters for each subnet. config_control_param: config_databases - ; + | unknown_map_entry + ; config_databases: CONFIG_DATABASES { ElementPtr l(new ListElement(ctx.loc2pos(@1))); diff --git a/src/bin/dhcp6/parser_context.h b/src/bin/dhcp6/parser_context.h index aea40cc28b..9cec79b29a 100644 --- a/src/bin/dhcp6/parser_context.h +++ b/src/bin/dhcp6/parser_context.h @@ -91,9 +91,6 @@ public: /// This will parse the input as dhcp-ddns. (D2 client config) PARSER_DHCP_DDNS, - /// This will parse the input as config-control. - PARSER_CONFIG_CONTROL, - /// This will parse the content of Logging. PARSER_LOGGING