diff options
author | Ted Trask <ttrask01@yahoo.com> | 2008-11-03 21:30:32 +0000 |
---|---|---|
committer | Ted Trask <ttrask01@yahoo.com> | 2008-11-03 21:30:32 +0000 |
commit | fc670b19af9f6dd4027dcec0fc6cc0035860f9e2 (patch) | |
tree | b86af704ba7bbef308e28014f3c0162bf2fea627 /iptables-controller.lua | |
download | acf-iptables-fc670b19af9f6dd4027dcec0fc6cc0035860f9e2.tar.bz2 acf-iptables-fc670b19af9f6dd4027dcec0fc6cc0035860f9e2.tar.xz |
Created iptables ACF to directly view / edit rules. Status, view, and expert work. Form to edit / create rules not functional yet.
git-svn-id: svn://svn.alpinelinux.org/acf/iptables/trunk@1575 ab2d0c66-481e-0410-8bed-d214d4d58bed
Diffstat (limited to 'iptables-controller.lua')
-rw-r--r-- | iptables-controller.lua | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/iptables-controller.lua b/iptables-controller.lua new file mode 100644 index 0000000..16fac32 --- /dev/null +++ b/iptables-controller.lua @@ -0,0 +1,64 @@ +module(..., package.seeall) + +-- Load libraries +require("controllerfunctions") + +-- ################################################################################ +-- LOCAL FUNCTIONS + +-- ################################################################################ +-- PUBLIC FUNCTIONS + +default_action = "status" + +function status(self) + return self.model.getstatus() +end + +function details(self) + return self.model.getstatusdetails() +end + +function filterrules(self) + return self.model.getrules("filter") +end + +function natrules(self) + return self.model.getrules("nat") +end + +function manglerules(self) + return self.model.getrules("mangle") +end + +function editchain(self) + return controllerfunctions.handle_form(self, function() return self.model.read_chain(self.clientdata.table, self.clientdata.chain or "") end, self.model.update_chain, self.clientdata, "Save", "Edit Chain", "Chain saved") +end + +function createchain(self) + return controllerfunctions.handle_form(self, function() return self.model.read_chain(self.clientdata.table) end, self.model.create_chain, self.clientdata, "Create", "Create New Chain", "Chain created") +end + +function deletechain(self) + return self:redirect_to_referrer(self.model.delete_chain(self.clientdata.table, self.clientdata.chain)) +end + +function editrule(self) + return controllerfunctions.handle_form(self, function() return self.model.read_rule(self.clientdata.table, self.clientdata.chain or "", self.clientdata.position or "") end, self.model.update_rule, self.clientdata, "Save", "Edit Rule", "Rule saved") +end + +function createrule(self) + return controllerfunctions.handle_form(self, function() return self.model.read_rule(self.clientdata.table, self.clientdata.chain, self.clientdata.position) end, self.model.create_rule, self.clientdata, "Create", "Create New Rule", "Rule created") +end + +function deleterule(self) + return self:redirect_to_referrer(self.model.delete_rule(self.clientdata.table, self.clientdata.chain, self.clientdata.position)) +end + +function expert(self) + return controllerfunctions.handle_form(self, self.model.readrulesfile, self.model.updaterulesfile, self.clientdata, "Save", "Edit Rules File", "Rules File Saved") +end + +function startstop(self) + return controllerfunctions.handle_startstop(self, self.model.startstop_service, self.model.getstatus, self.clientdata) +end |