From: Francis Dupont Date: Sun, 12 May 2024 13:16:06 +0000 (+0200) Subject: [#3378] Updated syntaxes X-Git-Tag: Kea-2.6.0~80 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2a881d3d91bb6f1e5caae0662293f5edd41dd76a;p=thirdparty%2Fkea.git [#3378] Updated syntaxes --- diff --git a/src/bin/dhcp4/dhcp4_lexer.ll b/src/bin/dhcp4/dhcp4_lexer.ll index 9a162f342c..4d740ea4ea 100644 --- a/src/bin/dhcp4/dhcp4_lexer.ll +++ b/src/bin/dhcp4/dhcp4_lexer.ll @@ -1566,7 +1566,6 @@ ControlCharacterFill [^"\\]|\\["\\/bfnrtu] \"ip-address\" { switch(driver.ctx_) { - case isc::dhcp::Parser4Context::RELAY: case isc::dhcp::Parser4Context::RESERVATIONS: return isc::dhcp::Dhcp4Parser::make_IP_ADDRESS(driver.loc_); default: diff --git a/src/bin/dhcp4/dhcp4_parser.yy b/src/bin/dhcp4/dhcp4_parser.yy index a6a535f347..b1b3941885 100644 --- a/src/bin/dhcp4/dhcp4_parser.yy +++ b/src/bin/dhcp4/dhcp4_parser.yy @@ -195,6 +195,7 @@ using namespace std; POOL_ID "pool-id" RESERVATIONS "reservations" + IP_ADDRESS "ip-address" DUID "duid" HW_ADDRESS "hw-address" CIRCUIT_ID "circuit-id" @@ -203,7 +204,6 @@ using namespace std; FLEX_ID "flex-id" RELAY "relay" - IP_ADDRESS "ip-address" IP_ADDRESSES "ip-addresses" HOOKS_LIBRARIES "hooks-libraries" @@ -2333,17 +2333,6 @@ ip_address: IP_ADDRESS { ctx.leave(); }; -ip_addresses: IP_ADDRESSES { - ctx.unique("ip-addresses", ctx.loc2pos(@1)); - ElementPtr l(new ListElement(ctx.loc2pos(@1))); - ctx.stack_.back()->set("ip-addresses", l); - ctx.stack_.push_back(l); - ctx.enter(ctx.NO_KEYWORD); -} COLON list_strings { - ctx.stack_.pop_back(); - ctx.leave(); -}; - duid: DUID { ctx.unique("duid", ctx.loc2pos(@1)); ctx.enter(ctx.NO_KEYWORD); @@ -2423,10 +2412,20 @@ relay: RELAY { ctx.leave(); }; -relay_map: ip_address - | ip_addresses +relay_map: ip_addresses ; +ip_addresses: IP_ADDRESSES { + ctx.unique("ip-addresses", ctx.loc2pos(@1)); + ElementPtr l(new ListElement(ctx.loc2pos(@1))); + ctx.stack_.back()->set("ip-addresses", l); + ctx.stack_.push_back(l); + ctx.enter(ctx.NO_KEYWORD); +} COLON list_strings { + ctx.stack_.pop_back(); + ctx.leave(); +}; + // --- end of relay definitions ------------------------------ // --- client classes ---------------------------------------- diff --git a/src/bin/dhcp6/dhcp6_lexer.ll b/src/bin/dhcp6/dhcp6_lexer.ll index 0710f2a010..6762e6d6b5 100644 --- a/src/bin/dhcp6/dhcp6_lexer.ll +++ b/src/bin/dhcp6/dhcp6_lexer.ll @@ -1908,15 +1908,6 @@ ControlCharacterFill [^"\\]|\\["\\/bfnrtu] } } -\"ip-address\" { - switch(driver.ctx_) { - case isc::dhcp::Parser6Context::RELAY: - return isc::dhcp::Dhcp6Parser::make_IP_ADDRESS(driver.loc_); - default: - return isc::dhcp::Dhcp6Parser::make_STRING("ip-address", driver.loc_); - } -} - \"hooks-libraries\" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: diff --git a/src/bin/dhcp6/dhcp6_parser.yy b/src/bin/dhcp6/dhcp6_parser.yy index 76a932e627..c54ed4aa60 100644 --- a/src/bin/dhcp6/dhcp6_parser.yy +++ b/src/bin/dhcp6/dhcp6_parser.yy @@ -200,7 +200,6 @@ using namespace std; FLEX_ID "flex-id" RELAY "relay" - IP_ADDRESS "ip-address" HOOKS_LIBRARIES "hooks-libraries" LIBRARY "library" @@ -2480,19 +2479,9 @@ relay: RELAY { ctx.leave(); }; -relay_map: ip_address - | ip_addresses +relay_map: ip_addresses ; -ip_address: IP_ADDRESS { - ctx.unique("ip-address", ctx.loc2pos(@1)); - ctx.enter(ctx.NO_KEYWORD); -} COLON STRING { - ElementPtr addr(new StringElement($4, ctx.loc2pos(@4))); - ctx.stack_.back()->set("ip-address", addr); - ctx.leave(); -}; - // --- end of relay definitions ------------------------------ // --- client classes ----------------------------------------