]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[#3585] Updated syntax
authorFrancis Dupont <fdupont@isc.org>
Fri, 20 Sep 2024 12:57:22 +0000 (14:57 +0200)
committerFrancis Dupont <fdupont@isc.org>
Wed, 9 Oct 2024 14:25:04 +0000 (16:25 +0200)
src/bin/dhcp4/dhcp4_lexer.ll
src/bin/dhcp4/dhcp4_parser.yy
src/bin/dhcp4/parser_context.cc
src/bin/dhcp4/parser_context.h
src/bin/dhcp6/dhcp6_lexer.ll
src/bin/dhcp6/dhcp6_parser.yy
src/bin/dhcp6/parser_context.cc
src/bin/dhcp6/parser_context.h

index 8c8636fa6df25d04ddf8e6765e71d463e3f3adc2..3a3c9066c7880c9d87dfe6764e19ffc1e235b152 100644 (file)
@@ -408,33 +408,6 @@ ControlCharacterFill            [^"\\]|\\["\\/bfnrtu]
     }
 }
 
-\"memfile\" {
-    switch(driver.ctx_) {
-    case isc::dhcp::Parser4Context::DATABASE_TYPE:
-        return isc::dhcp::Dhcp4Parser::make_MEMFILE(driver.loc_);
-    default:
-        return isc::dhcp::Dhcp4Parser::make_STRING("memfile", driver.loc_);
-    }
-}
-
-\"mysql\" {
-    switch(driver.ctx_) {
-    case isc::dhcp::Parser4Context::DATABASE_TYPE:
-        return isc::dhcp::Dhcp4Parser::make_MYSQL(driver.loc_);
-    default:
-        return isc::dhcp::Dhcp4Parser::make_STRING("mysql", driver.loc_);
-    }
-}
-
-\"postgresql\" {
-    switch(driver.ctx_) {
-    case isc::dhcp::Parser4Context::DATABASE_TYPE:
-        return isc::dhcp::Dhcp4Parser::make_POSTGRESQL(driver.loc_);
-    default:
-        return isc::dhcp::Dhcp4Parser::make_STRING("postgresql", driver.loc_);
-    }
-}
-
 \"user\" {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::LEASE_DATABASE:
index aae280835773c5c44d6b653a11481cd45ee25056..0587d425a1f46a666a4bcee78dc373c917788f78 100644 (file)
@@ -90,9 +90,6 @@ using namespace std;
   HOSTS_DATABASE "hosts-database"
   HOSTS_DATABASES "hosts-databases"
   TYPE "type"
-  MEMFILE "memfile"
-  MYSQL "mysql"
-  POSTGRESQL "postgresql"
   USER "user"
   PASSWORD "password"
   HOST "host"
@@ -306,7 +303,6 @@ using namespace std;
 %type <ElementPtr> map_value
 %type <ElementPtr> socket_type
 %type <ElementPtr> outbound_interface_value
-%type <ElementPtr> db_type
 %type <ElementPtr> on_fail_mode
 %type <ElementPtr> ncr_protocol_value
 %type <ElementPtr> ddns_replace_client_name_value
@@ -1118,17 +1114,13 @@ database_map_param: database_type
 
 database_type: TYPE {
     ctx.unique("type", ctx.loc2pos(@1));
-    ctx.enter(ctx.DATABASE_TYPE);
-} COLON db_type {
-    ctx.stack_.back()->set("type", $4);
+    ctx.enter(ctx.NO_KEYWORD);
+} COLON STRING {
+    ElementPtr db_type(new StringElement($4, ctx.loc2pos(@4)));
+    ctx.stack_.back()->set("type", db_type);
     ctx.leave();
 };
 
-db_type: MEMFILE { $$ = ElementPtr(new StringElement("memfile", ctx.loc2pos(@1))); }
-       | MYSQL { $$ = ElementPtr(new StringElement("mysql", ctx.loc2pos(@1))); }
-       | POSTGRESQL { $$ = ElementPtr(new StringElement("postgresql", ctx.loc2pos(@1))); }
-       ;
-
 user: USER {
     ctx.unique("user", ctx.loc2pos(@1));
     ctx.enter(ctx.NO_KEYWORD);
index daca1e7022d91b38909c666a35f71b460f4ff49e..e8f4157a76d4419fe8435e391996bd041cce0f6f 100644 (file)
@@ -164,8 +164,6 @@ Parser4Context::contextName() {
         return ("lease-database");
     case HOSTS_DATABASE:
         return ("hosts-database");
-    case DATABASE_TYPE:
-        return ("database-type");
     case DATABASE_ON_FAIL:
         return ("database-on-fail");
     case HOST_RESERVATION_IDENTIFIERS:
index 4e875a5bf56108ae87dbf0c56795585509e47361..01e8e147a040cbab5495f92013855f5ff824d1c5 100644 (file)
@@ -255,9 +255,6 @@ public:
         /// Used while parsing Dhcp4/hosts-database[s] structures.
         HOSTS_DATABASE,
 
-        /// Used while parsing Dhcp4/*-database/type.
-        DATABASE_TYPE,
-
         /// Used while parsing Dhcp4/*-database/on-fail.
         DATABASE_ON_FAIL,
 
index 3646d8e4ae48380b9e7ca1c8be5e5936ff4d50fb..dcb3548a777d117d5568f9c0d95f34fa0c960c3a 100644 (file)
@@ -558,33 +558,6 @@ ControlCharacterFill            [^"\\]|\\["\\/bfnrtu]
     }
 }
 
-\"memfile\" {
-    switch(driver.ctx_) {
-    case isc::dhcp::Parser6Context::DATABASE_TYPE:
-        return isc::dhcp::Dhcp6Parser::make_MEMFILE(driver.loc_);
-    default:
-        return isc::dhcp::Dhcp6Parser::make_STRING("memfile", driver.loc_);
-    }
-}
-
-\"mysql\" {
-    switch(driver.ctx_) {
-    case isc::dhcp::Parser6Context::DATABASE_TYPE:
-        return isc::dhcp::Dhcp6Parser::make_MYSQL(driver.loc_);
-    default:
-        return isc::dhcp::Dhcp6Parser::make_STRING("mysql", driver.loc_);
-    }
-}
-
-\"postgresql\" {
-    switch(driver.ctx_) {
-    case isc::dhcp::Parser6Context::DATABASE_TYPE:
-        return isc::dhcp::Dhcp6Parser::make_POSTGRESQL(driver.loc_);
-    default:
-        return isc::dhcp::Dhcp6Parser::make_STRING("postgresql", driver.loc_);
-    }
-}
-
 \"user\" {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::LEASE_DATABASE:
index 0247e2df65afaf9c77fc122fbd20ff5f9f29858a..295f0173d24510378e68bb6d8cdba921701567b9 100644 (file)
@@ -72,9 +72,6 @@ using namespace std;
   HOSTS_DATABASE "hosts-database"
   HOSTS_DATABASES "hosts-databases"
   TYPE "type"
-  MEMFILE "memfile"
-  MYSQL "mysql"
-  POSTGRESQL "postgresql"
   USER "user"
   PASSWORD "password"
   HOST "host"
@@ -308,7 +305,6 @@ using namespace std;
 
 %type <ElementPtr> value
 %type <ElementPtr> map_value
-%type <ElementPtr> db_type
 %type <ElementPtr> on_fail_mode
 %type <ElementPtr> duid_type
 %type <ElementPtr> ncr_protocol_value
@@ -1041,17 +1037,13 @@ database_map_param: database_type
 
 database_type: TYPE {
     ctx.unique("type", ctx.loc2pos(@1));
-    ctx.enter(ctx.DATABASE_TYPE);
-} COLON db_type {
-    ctx.stack_.back()->set("type", $4);
+    ctx.enter(ctx.NO_KEYWORD);
+} COLON STRING {
+    ElementPtr db_type(new StringElement($4, ctx.loc2pos(@4)));
+    ctx.stack_.back()->set("type", db_type);
     ctx.leave();
 };
 
-db_type: MEMFILE { $$ = ElementPtr(new StringElement("memfile", ctx.loc2pos(@1))); }
-       | MYSQL { $$ = ElementPtr(new StringElement("mysql", ctx.loc2pos(@1))); }
-       | POSTGRESQL { $$ = ElementPtr(new StringElement("postgresql", ctx.loc2pos(@1))); }
-       ;
-
 user: USER {
     ctx.unique("user", ctx.loc2pos(@1));
     ctx.enter(ctx.NO_KEYWORD);
index 97a62c26367f32a51599cae564b683927cc7633b..52c7e8b0a865520f47f98c126327220e5c1a91dc 100644 (file)
@@ -159,8 +159,6 @@ Parser6Context::contextName() {
         return ("lease-database");
     case HOSTS_DATABASE:
         return ("hosts-database");
-    case DATABASE_TYPE:
-        return ("database-type");
     case DATABASE_ON_FAIL:
         return ("database-on-fail");
     case MAC_SOURCES:
index 2f6fbfed4c499d3c35a572e615d78bf2068e37cb..ecf1b5373d4a52956894410fba8ff33dee2c862f 100644 (file)
@@ -252,9 +252,6 @@ public:
         /// Used while parsing Dhcp6/hosts-database[s] structures.
         HOSTS_DATABASE,
 
-        /// Used while parsing Dhcp6/*-database/type.
-        DATABASE_TYPE,
-
         /// Used while parsing Dhcp6/*-database/on-fail.
         DATABASE_ON_FAIL,