diff options
Diffstat (limited to 'shorewall-model.lua')
-rw-r--r-- | shorewall-model.lua | 30 |
1 files changed, 26 insertions, 4 deletions
diff --git a/shorewall-model.lua b/shorewall-model.lua index cecf0a1..081f842 100644 --- a/shorewall-model.lua +++ b/shorewall-model.lua @@ -34,6 +34,20 @@ local function getdetails() return programversion,programstatus,programstate end +local function read_config(file) + local path = baseurl .. file + if not (fs.is_file(path)) then + return {} + end + local filecontent = fs.read_file_as_array(path) + local output = {} + for k,v in pairs(filecontent) do + if not string.find ( v, "^[;#].*" ) then + table.insert(output, v) + end + end + return output +end -- ################################################################################ -- PUBLIC FUNCTIONS @@ -51,11 +65,19 @@ end function getconfig() local config = {} + config.params_list = cfe({ + name = "params_list", + label="List of parameters", + type="select", + option=read_config("params"), + }) + config.params_list.size=#config.params_list.option + 1 + config.interfaces_list = cfe({ name = "interfaces_list", label="List of interfaces", type="select", - option={"BRN", "DMZ", "REZ", } + option=read_config("interfaces"), }) config.interfaces_list.size=#config.interfaces_list.option + 1 @@ -63,7 +85,7 @@ function getconfig() name = "zones_list", label="List of zones", type="select", - option={"BRN", "DMZ", "REZ", } + option=read_config("zones"), }) config.zones_list.size=#config.zones_list.option + 1 @@ -71,7 +93,7 @@ function getconfig() name = "policies_list", label="List of policies", type="select", - option={"ACCET BRN FW", } + option=read_config("policy"), }) config.policies_list.size=#config.policies_list.option + 1 @@ -79,7 +101,7 @@ function getconfig() name = "rules_list", label="List of rules", type="select", - option={"ACCET BRN FW", } + option=read_config("rules"), }) config.rules_list.size=#config.rules_list.option + 1 |