summaryrefslogtreecommitdiffstats
path: root/shorewall-model.lua
diff options
context:
space:
mode:
authorMika Havela <mika.havela@gmail.com>2008-03-04 08:49:41 +0000
committerMika Havela <mika.havela@gmail.com>2008-03-04 08:49:41 +0000
commit73433bf9ea9a0f7f56203bafa111821bb47856cf (patch)
tree8961f85a4d8827ad05c6c085daf04f0de998b0a3 /shorewall-model.lua
parent8c41156d76be7332fd34d1ab18a078510745b81a (diff)
downloadacf-shorewall-73433bf9ea9a0f7f56203bafa111821bb47856cf.tar.bz2
acf-shorewall-73433bf9ea9a0f7f56203bafa111821bb47856cf.tar.xz
Added the missing (example)-page. Added functionallity so that the page has live data
git-svn-id: svn://svn.alpinelinux.org/acf/shorewall/trunk@799 ab2d0c66-481e-0410-8bed-d214d4d58bed
Diffstat (limited to 'shorewall-model.lua')
-rw-r--r--shorewall-model.lua30
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