diff options
-rw-r--r-- | tcpproxy-controller.lua | 28 | ||||
-rw-r--r-- | tcpproxy-model.lua | 41 |
2 files changed, 36 insertions, 33 deletions
diff --git a/tcpproxy-controller.lua b/tcpproxy-controller.lua index 3809a10..198da9d 100644 --- a/tcpproxy-controller.lua +++ b/tcpproxy-controller.lua @@ -1,47 +1,49 @@ -module(..., package.seeall) +local mymodule = {} -default_action = "status" +mymodule.default_action = "status" -function status(self) +function mymodule.status(self) return self.model.getstatus() end -function startstop(self) +function mymodule.startstop(self) return self.handle_form(self, self.model.get_startstop, self.model.startstop_service, self.clientdata) end -function expert(self) +function mymodule.expert(self) return self.handle_form(self, self.model.getconfigfile, self.model.setconfigfile, self.clientdata, "Save", "Edit Config", "Configuration Saved") end -function smtpstatus(self) +function mymodule.smtpstatus(self) return self.model.getsmtpstatus() end -function listsmtpentries(self) +function mymodule.listsmtpentries(self) return self.model.listsmtpentries(self) end -function editsmtpentry(self) +function mymodule.editsmtpentry(self) return self.handle_form(self, function() return self.model.readsmtpentry(self.clientdata.ipaddr) end, self.model.updatesmtpentry, self.clientdata, "Save", "Edit SMTP Proxy Entry", "SMTP Proxy Entry Saved" ) end -function delsmtpentry(self) +function mymodule.delsmtpentry(self) return self.handle_form(self, self.model.getdelsmtpentry, self.model.delsmtpentry, self.clientdata, "Delete", "Delete SMTP Proxy Entry", "SMTP Proxy Entry Deleted" ) end -function listsmtpfiles(self) +function mymodule.listsmtpfiles(self) return self.model.listsmtpfiles(self) end -function createsmtpfile(self) +function mymodule.createsmtpfile(self) return self.handle_form(self, self.model.getnewsmtpfile, self.model.createsmtpfile, self.clientdata, "Create", "Create New SMTP Proxy File", "SMTP Proxy File Created") end -function editsmtpfile(self) +function mymodule.editsmtpfile(self) return self.handle_form(self, function() return self.model.readsmtpfile(self.clientdata.filename) end, self.model.updatesmtpfile, self.clientdata, "Save", "Edit SMTP Proxy File", "SMTP Proxy File Saved" ) end -function delsmtpfile(self) +function mymodule.delsmtpfile(self) return self.handle_form(self, self.model.getdelsmtpfile, self.model.delsmtpfile, self.clientdata, "Delete", "Delete SMTP Proxy File", "SMTP Proxy File Deleted" ) end + +return mymodule diff --git a/tcpproxy-model.lua b/tcpproxy-model.lua index 9f6f8a5..ecd7017 100644 --- a/tcpproxy-model.lua +++ b/tcpproxy-model.lua @@ -1,4 +1,4 @@ -module(..., package.seeall) +local mymodule = {} -- Load libraries modelfunctions = require("modelfunctions") @@ -189,33 +189,33 @@ end -- ################################################################################ -- PUBLIC FUNCTIONS -function get_startstop(self, clientdata) +function mymodule.get_startstop(self, clientdata) return modelfunctions.get_startstop(processname) end -function startstop_service(self, startstop, action) +function mymodule.startstop_service(self, startstop, action) return modelfunctions.startstop_service(startstop, action) end -function getstatus() +function mymodule.getstatus() return modelfunctions.getstatus(processname, packagename, "TCP Proxy Status") end -function getconfigfile() +function mymodule.getconfigfile() return modelfunctions.getfiledetails(configfile) end -function setconfigfile(self, filedetails) +function mymodule.setconfigfile(self, filedetails) return modelfunctions.setfiledetails(self, filedetails, {configfile}) end -function getsmtpstatus() +function mymodule.getsmtpstatus() local value, errtxt = processinfo.package_version(smtppackagename) local version = cfe({ value=value, label="Program version", errtxt=errtxt, name=smtppackagename }) return cfe({ type="group", value={version=version}, label="SMTP Proxy Status" }) end -function listsmtpentries(self) +function mymodule.listsmtpentries(self) local entries = cfe({ type="structure", value={}, label="SMTP Command Entries" }) if self then local interfacescontroller = self:new("alpine-baselayout/interfaces") @@ -253,10 +253,10 @@ function listsmtpentries(self) return entries end -function readsmtpentry(ipaddr) +function mymodule.readsmtpentry(ipaddr) local exec = getsmtpcmd(ipaddr) - local listfiles = listsmtpfiles() + local listfiles = mymodule.listsmtpfiles() table.insert(listfiles.value, 1, "") local ipaddrcfe = cfe({ value=ipaddr, label="Interface / IP Address", readonly=true, seq=0 }) @@ -284,7 +284,7 @@ function readsmtpentry(ipaddr) return cfe({ type="group", value={ipaddr=ipaddrcfe, server=server, addressonly=addressonly, domain=domain, optionalserver=optionalserver, optionalrewritelist=optionalrewritelist, senderlistfile=senderlistfile, rcptlistfile=rcptlistfile}, label="SMTP Proxy Entry" }) end -function updatesmtpentry(self, entry) +function mymodule.updatesmtpentry(self, entry) local success, entry = validatesmtpentry(entry) if success then @@ -333,19 +333,19 @@ function updatesmtpentry(self, entry) return entry end -function getdelsmtpentry(self, clientdata) +function mymodule.getdelsmtpentry(self, clientdata) local retval = {} retval.ipaddr = cfe({ value=clientdata.ipaddr or "", label="IP Address" }) return cfe({ type="group", value=retval, label="Delete SMTP Proxy Entry" }) end -function delsmtpentry(self, delentry) +function mymodule.delsmtpentry(self, delentry) -- TODO - validate ipaddr setsmtpcmd(delentry.value.ipaddr.value, nil) return delentry end -function listsmtpfiles() +function mymodule.listsmtpfiles() local retval = cfe({ type="list", value={}, label="SMTP Proxy Files" }) if not fs.is_dir(smtpdirectory) then fs.create_directory(smtpdirectory) end for file in posix.files(smtpdirectory) do @@ -356,12 +356,12 @@ function listsmtpfiles() return retval end -function getnewsmtpfile() +function mymodule.getnewsmtpfile() local filename = cfe({ label="File Name", descr="Must be in "..smtpdirectory }) return cfe({ type="group", value={filename=filename}, label="SMTP Proxy File" }) end -function createsmtpfile(self, filedetails) +function mymodule.createsmtpfile(self, filedetails) local success = true if not validator.is_valid_filename(filedetails.value.filename.value, smtpdirectory) then @@ -384,21 +384,21 @@ function createsmtpfile(self, filedetails) return filedetails end -function readsmtpfile(filename) +function mymodule.readsmtpfile(filename) return modelfunctions.getfiledetails(filename, function(filename) return validator.is_valid_filename(filename, smtpdirectory) end) end -function updatesmtpfile(self, filedetails) +function mymodule.updatesmtpfile(self, filedetails) return modelfunctions.setfiledetails(self, filedetails, function(filename) return validator.is_valid_filename(filename, smtpdirectory) end) end -function getdelsmtpfile(self, clientdata) +function mymodule.getdelsmtpfile(self, clientdata) local retval = {} retval.filename = cfe({ value=clientdata.filename or "", label="File Name" }) return cfe({ type="group", value=retval, label="Delete SMTP Proxy File" }) end -function delsmtpfile(self, delfile) +function mymodule.delsmtpfile(self, delfile) local filename = delfile.value.filename.value if validator.is_valid_filename(filename, smtpdirectory) and fs.is_file(filename) then os.remove(filename) @@ -410,3 +410,4 @@ function delsmtpfile(self, delfile) return delfile end +return mymodule |