]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[5061] Added port parameter
authorFrancis Dupont <fdupont@isc.org>
Fri, 27 Jan 2017 14:49:40 +0000 (15:49 +0100)
committerFrancis Dupont <fdupont@isc.org>
Fri, 27 Jan 2017 14:49:40 +0000 (15:49 +0100)
src/bin/dhcp4/dhcp4_lexer.ll
src/bin/dhcp4/dhcp4_parser.yy
src/bin/dhcp6/dhcp6_lexer.ll
src/bin/dhcp6/dhcp6_parser.yy

index ac84dd70df1adbe939683032e9fade270bf45a35..85f141291033a9af8c1a3a0ccbf2d8799386052f 100644 (file)
@@ -330,6 +330,16 @@ ControlCharacterFill            [^"\\]|\\{JSONEscapeSequence}
     }
 }
 
+\"port\" {
+    switch(driver.ctx_) {
+    case isc::dhcp::Parser4Context::LEASE_DATABASE:
+    case isc::dhcp::Parser4Context::HOSTS_DATABASE:
+        return isc::dhcp::Dhcp4Parser::make_PORT(driver.loc_);
+    default:
+        return isc::dhcp::Dhcp4Parser::make_STRING("port", driver.loc_);
+    }
+}
+
 \"persist\" {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::LEASE_DATABASE:
index a25c101e01e1c3bf342f5832353acbf72416a736..65d945d10e66795b42245a9f415986fde95e87e9 100644 (file)
@@ -72,6 +72,7 @@ using namespace std;
   USER "user"
   PASSWORD "password"
   HOST "host"
+  PORT "port"
   PERSIST "persist"
   LFC_INTERVAL "lfc-interval"
   READONLY "readonly"
@@ -513,6 +514,7 @@ database_map_param: database_type
                   | user
                   | password
                   | host
+                  | port
                   | name
                   | persist
                   | lfc_interval
@@ -558,6 +560,11 @@ host: HOST {
     ctx.leave();
 };
 
+port: PORT COLON INTEGER {
+    ElementPtr p(new IntElement($3, ctx.loc2pos(@3)));
+    ctx.stack_.back()->set("port", p);
+};
+
 name: NAME {
     ctx.enter(ctx.NO_KEYWORD);
 } COLON STRING {
index c3402cea33da015d788017737403d5a788b12db0..1847136109be1a6259962f95d5a7702807f8e93f 100644 (file)
@@ -530,6 +530,16 @@ ControlCharacterFill            [^"\\]|\\{JSONEscapeSequence}
     }
 }
 
+\"port\" {
+    switch(driver.ctx_) {
+    case isc::dhcp::Parser6Context::LEASE_DATABASE:
+    case isc::dhcp::Parser6Context::HOSTS_DATABASE:
+        return isc::dhcp::Dhcp6Parser::make_PORT(driver.loc_);
+    default:
+        return isc::dhcp::Dhcp6Parser::make_STRING("port", driver.loc_);
+    }
+}
+
 \"persist\" {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::LEASE_DATABASE:
index 76b824a07d768d9d54d6b91fd077275e69361ee4..b897e480b9b3419a843a98b3d63607930d140ae8 100644 (file)
@@ -63,6 +63,7 @@ using namespace std;
   USER "user"
   PASSWORD "password"
   HOST "host"
+  PORT "port"
   PERSIST "persist"
   LFC_INTERVAL "lfc-interval"
   READONLY "readonly"
@@ -498,6 +499,7 @@ database_map_param: database_type
                   | user
                   | password
                   | host
+                  | port
                   | name
                   | persist
                   | lfc_interval
@@ -543,6 +545,11 @@ host: HOST {
     ctx.leave();
 };
 
+port: PORT COLON INTEGER {
+    ElementPtr p(new IntElement($3, ctx.loc2pos(@3)));
+    ctx.stack_.back()->set("port", p);
+};
+
 name: NAME {
     ctx.enter(ctx.NO_KEYWORD);
 } COLON STRING {