Browse Source

Add IPv6 parser for radius conf

Baptiste Jonglez 7 years ago
parent
commit
4ccf3dedb2
2 changed files with 11 additions and 0 deletions
  1. 9 0
      src/bin/dhcp6/dhcp6_lexer.ll
  2. 2 0
      src/bin/dhcp6/dhcp6_parser.yy

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

@@ -502,6 +502,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\" {
 \"user\" {
     switch(driver.ctx_) {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::LEASE_DATABASE:
     case isc::dhcp::Parser6Context::LEASE_DATABASE:

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

@@ -61,6 +61,7 @@ using namespace std;
   MYSQL "mysql"
   MYSQL "mysql"
   POSTGRESQL "postgresql"
   POSTGRESQL "postgresql"
   CQL "cql"
   CQL "cql"
+  RADIUS "radius"
   USER "user"
   USER "user"
   PASSWORD "password"
   PASSWORD "password"
   HOST "host"
   HOST "host"
@@ -548,6 +549,7 @@ db_type: MEMFILE { $$ = ElementPtr(new StringElement("memfile", ctx.loc2pos(@1))
        | MYSQL { $$ = ElementPtr(new StringElement("mysql", ctx.loc2pos(@1))); }
        | MYSQL { $$ = ElementPtr(new StringElement("mysql", ctx.loc2pos(@1))); }
        | POSTGRESQL { $$ = ElementPtr(new StringElement("postgresql", ctx.loc2pos(@1))); }
        | POSTGRESQL { $$ = ElementPtr(new StringElement("postgresql", ctx.loc2pos(@1))); }
        | CQL { $$ = ElementPtr(new StringElement("cql", ctx.loc2pos(@1))); }
        | CQL { $$ = ElementPtr(new StringElement("cql", ctx.loc2pos(@1))); }
+       | RADIUS { $$ = ElementPtr(new StringElement("radius", ctx.loc2pos(@1))); }
        ;
        ;
 
 
 user: USER {
 user: USER {