summaryrefslogtreecommitdiffstats
path: root/shorewall-model.lua
diff options
context:
space:
mode:
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
---]===]