diff options
author | Mika Havela <mika.havela@gmail.com> | 2008-02-29 13:16:53 +0000 |
---|---|---|
committer | Mika Havela <mika.havela@gmail.com> | 2008-02-29 13:16:53 +0000 |
commit | 7c698f58e0661639b5bff855e82a76fff8c90b65 (patch) | |
tree | 618a17453ffa4a163cf005939c9b8a4172bb169c | |
parent | a243ee4109a54456668945880296f9366fb7ccbc (diff) | |
download | acf-shorewall-7c698f58e0661639b5bff855e82a76fff8c90b65.tar.bz2 acf-shorewall-7c698f58e0661639b5bff855e82a76fff8c90b65.tar.xz |
Added a 'Guided configuration' for Shorewall. This is a test!
git-svn-id: svn://svn.alpinelinux.org/acf/shorewall/trunk@781 ab2d0c66-481e-0410-8bed-d214d4d58bed
-rw-r--r-- | shorewall-controller.lua | 72 | ||||
-rw-r--r-- | shorewall-model.lua | 30 | ||||
-rw-r--r-- | shorewall.menu | 2 |
3 files changed, 94 insertions, 10 deletions
diff --git a/shorewall-controller.lua b/shorewall-controller.lua index 27da886..a2ff244 100644 --- a/shorewall-controller.lua +++ b/shorewall-controller.lua @@ -23,19 +23,10 @@ local function getstatus(self) return status end -local function displaycmdsave(self) - -- Add a cmd button to the view - local cmdsave = cfe({ name="cmdsave", - label="Save/Apply above settings", - value="Save", - type="submit", - }) - return cmdsave -end - local function displaycmdmanagement(disablestart,disablestop,disablerestart) -- Add a management buttons local management = {} +---[[ management.start = cfe({ name="cmdmanagement", label="Program control-panel", value="Start", @@ -46,6 +37,7 @@ local function displaycmdmanagement(disablestart,disablestop,disablerestart) value="Stop", type="submit", }) +--]] management.restart = cfe({ name="cmdmanagement", label="Program control-panel", value="Restart", @@ -60,10 +52,70 @@ local function displaycmdmanagement(disablestart,disablestop,disablerestart) return management end +local function displaycmdsave(self) + -- Add a cmd button to the view + local cmdsave = cfe({ name="cmdsave", + label="Save/Apply above settings", + value="Save", + type="submit", + }) + return cmdsave +end + function status(self) return { status=getstatus(self) } end +function config(self) + local config=self.model:getconfig() + local status=getstatus(self) + + -- Add a [New] record to the options + table.insert(config.zones_list.option, "[New]") + table.insert(config.policies_list.option, "[New]") + + -- Add button + config.zones_list_cmd = cfe ({ + name="zones_list_cmd", + label="Edit above record", + value="Edit", + type="submit", + disabled="yes", + }) + config.zones_list_cmd.descr="Mark a item in above list before pressing [" .. config.zones_list_cmd.value .. "]" + + -- Add button + config.policies_list_cmd = cfe ({ + name="policies_list_cmd", + label="Edit above record", + value="Edit", + type="submit", + disabled="yes", + }) + config.zones_list_cmd.descr="Mark a item in above list before pressing [" .. config.zones_list_cmd.value .. "]" + + -- Add button + config.rules_list_cmd = cfe ({ + name="rules_list_cmd", + label="Edit above record", + value="Edit", + type="submit", + disabled="yes", + }) + config.zones_list_cmd.descr="Mark a item in above list before pressing [" .. config.zones_list_cmd.value .. "]" + + -- Management buttons + -- Display management buttons + local management = displaycmdmanagement(disablestart,disablestop,disablerestart) + + return { + status=status, + config=config, + management = management, + + } +end + --[=[ function config(self) local cmdmanagement, cmdmanagementresult diff --git a/shorewall-model.lua b/shorewall-model.lua index cc6a85f..c572cc9 100644 --- a/shorewall-model.lua +++ b/shorewall-model.lua @@ -48,6 +48,36 @@ function startstop_service ( self, action ) end +function getconfig() + local config = {} + config.zones_list = cfe({ + name = "zones_list", + label="List of zones", + type="select", + option={"BRN", "DMZ", "REZ", } + }) + config.zones_list.size=#config.zones_list.option + 1 + + config.policies_list = cfe({ + name = "policies_list", + label="List of policies", + type="select", + option={"ACCET BRN FW", } + }) + config.policies_list.size=#config.policies_list.option + 1 + + config.rules_list = cfe({ + name = "rules_list", + label="List of rules", + type="select", + option={"ACCET BRN FW", } + }) + config.rules_list.size=#config.rules_list.option + 1 + + return config + +end + function getstatus() local status = {} local programversion,programstatus,programstate = getdetails() diff --git a/shorewall.menu b/shorewall.menu index 42baf7d..557f401 100644 --- a/shorewall.menu +++ b/shorewall.menu @@ -3,3 +3,5 @@ Networking 40Firewall Status status Networking 40Firewall Expert expert Networking 40Firewall Check check Networking 40Firewall Logfile logfile +Networking 40Firewall Config_(Example) config + |