Browse Source

Add radius to lexer/parser

Baptiste Jonglez 7 years ago
parent
commit
13be12d919

+ 9 - 0
src/bin/dhcp4/dhcp4_lexer.ll

@@ -317,6 +317,15 @@ ControlCharacterFill            [^"\\]|\\{JSONEscapeSequence}
     }
 }
 
+\"radius\" {
+    switch(driver.ctx_) {
+    case isc::dhcp::Parser4Context::DATABASE_TYPE:
+        return isc::dhcp::Dhcp4Parser::make_RADIUS(driver.loc_);
+    default:
+        return isc::dhcp::Dhcp4Parser::make_STRING("radius", driver.loc_);
+    }
+}
+
 \"user\" {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::LEASE_DATABASE:

+ 2 - 0
src/bin/dhcp4/dhcp4_parser.yy

@@ -70,6 +70,7 @@ using namespace std;
   MYSQL "mysql"
   POSTGRESQL "postgresql"
   CQL "cql"
+  RADIUS "radius"
   USER "user"
   PASSWORD "password"
   HOST "host"
@@ -570,6 +571,7 @@ 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))); }
        | CQL { $$ = ElementPtr(new StringElement("cql", ctx.loc2pos(@1))); }
+       | RADIUS { $$ = ElementPtr(new StringElement("radius", ctx.loc2pos(@1))); }
        ;
 
 user: USER {

+ 9 - 0
src/bin/dhcp6/dhcp6_lexer.ll

@@ -508,6 +508,15 @@ ControlCharacterFill            [^"\\]|\\{JSONEscapeSequence}
     }
 }
 
+\"radius\" {
+    switch(driver.ctx_) {
+    case isc::dhcp::Parser6Context::DATABASE_TYPE:
+        return isc::dhcp::Dhcp6Parser::make_RADIUS(driver.loc_);
+    default:
+        return isc::dhcp::Dhcp6Parser::make_STRING("radius", driver.loc_);
+    }
+}
+
 \"user\" {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::LEASE_DATABASE:

+ 2 - 0
src/bin/dhcp6/dhcp6_parser.yy

@@ -61,6 +61,7 @@ using namespace std;
   MYSQL "mysql"
   POSTGRESQL "postgresql"
   CQL "cql"
+  RADIUS "radius"
   USER "user"
   PASSWORD "password"
   HOST "host"
@@ -560,6 +561,7 @@ 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))); }
        | CQL { $$ = ElementPtr(new StringElement("cql", ctx.loc2pos(@1))); }
+       | RADIUS { $$ = ElementPtr(new StringElement("radius", ctx.loc2pos(@1))); }
        ;
 
 user: USER {