summaryrefslogtreecommitdiffstats
path: root/iptables-controller.lua
blob: 16fac325b3fcf6b28c471b5ec61adbe0229f8254 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
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