summaryrefslogtreecommitdiffstats
path: root/shorewall-model.lua
diff options
context:
space:
mode:
authorMika Havela <mika.havela@gmail.com>2008-03-03 16:54:31 +0000
committerMika Havela <mika.havela@gmail.com>2008-03-03 16:54:31 +0000
commit8c41156d76be7332fd34d1ab18a078510745b81a (patch)
treeb6c940129b860f8844e6c031e47ef9120b673a45 /shorewall-model.lua
parent7c698f58e0661639b5bff855e82a76fff8c90b65 (diff)
downloadacf-shorewall-8c41156d76be7332fd34d1ab18a078510745b81a.tar.bz2
acf-shorewall-8c41156d76be7332fd34d1ab18a078510745b81a.tar.xz
Cleaning up the code a bit.
Adding some examples into the config-tab. Minor modifications on the view-files. git-svn-id: svn://svn.alpinelinux.org/acf/shorewall/trunk@794 ab2d0c66-481e-0410-8bed-d214d4d58bed
Diffstat (limited to 'shorewall-model.lua')
-rw-r--r--shorewall-model.lua98
1 files changed, 9 insertions, 89 deletions
diff --git a/shorewall-model.lua b/shorewall-model.lua
index c572cc9..cecf0a1 100644
--- a/shorewall-model.lua
+++ b/shorewall-model.lua
@@ -50,6 +50,15 @@ end
function getconfig()
local config = {}
+
+ config.interfaces_list = cfe({
+ name = "interfaces_list",
+ label="List of interfaces",
+ type="select",
+ option={"BRN", "DMZ", "REZ", }
+ })
+ config.interfaces_list.size=#config.interfaces_list.option + 1
+
config.zones_list = cfe({
name = "zones_list",
label="List of zones",
@@ -291,92 +300,3 @@ end
-
-
---[===[
-
--- shorewall model methods
-module (..., package.seeall)
-require("format")
-require("fs")
-require("daemoncontrol")
-
-local baseurl = "/etc/shorewall/"
-
--- ################################################################################
--- PUBLIC FUNCTIONS
-
-function startstop_service ( self, state )
- return daemoncontrol.daemoncontrol("shorewall", state)
-end
-
-
-function getstatus ()
- local f,error = io.popen("/sbin/shorewall status")
- local fake = f:read("*l")
- local fake = f:read("*l")
- local programstatus = f:read("*l") or ""
- local programstate = f:read("*l") or ""
- f:close()
- local f,error = io.popen("/sbin/shorewall version")
- local programversion = "shorewall-" .. f:read("*l")
- f:close()
- return {version=programversion,status=programstatus,state=programstate}
-end
-
-function get_filelist ()
- local filepath = baseurl
- local listed_files = {}
- local k,v
- for name in posix.files(filepath) do
- if not string.match(name, "^%.") and not string.match(name, "^Makefile") then
- local filedetails = fs.stat(filepath .. name)
- table.insert ( listed_files , {name=name, path=filepath .. name, filedetails=filedetails} )
- end
- end
- table.sort(listed_files, function (a,b) return (a.name < b.name) end )
- return listed_files
-end
-
-function get_filedetails (self, name)
- local name = basename(name)
- local path = baseurl .. basename(name)
- local file_content = nil
- local available_files = get_filelist()
- for k,v in pairs(available_files) do
- if ( available_files[k].name == name ) then
- file_content = cfe{name=name, content=fs.read_file(path), details=fs.stat(path)}
- end
- end
- return file_content
-end
-
-function get_logfile ()
- local me = {}
- local cmdtxt = "cat /var/log/messages | grep Shorewall"
- local cmd, error = io.popen(cmdtxt ,r)
- local cmdoutput = cmd:read("*a")
- cmd:close()
- me.value = cmdoutput
- me.cmd = cmdtxt
- return me
-end
-
-function update_filecontent (self, name, modifications)
- path = baseurl .. basename(name)
- name=basename(name)
- local available_files = get_filelist()
- for k,v in pairs(available_files) do
- if ( available_files[k].name == name ) then
- local file = io.open( path, "w+" )
- local file_result,err = file:write(format.dostounix(modifications))
- file:close()
- if (err ~= nil) then
- local filedetails = fs.stat(path)
- file_content = {name=name, value=file_result, filedetails=filedetails, err=err}
- end
- end
- end
- return name, file_content
-end
---]===]