diff options
author | Kaarle Ritvanen <kaarle.ritvanen@datakunkku.fi> | 2012-06-26 06:17:43 +0000 |
---|---|---|
committer | Kaarle Ritvanen <kaarle.ritvanen@datakunkku.fi> | 2012-06-26 06:17:43 +0000 |
commit | 20ae74c3dd234ffe004388f27340979f1411ad27 (patch) | |
tree | 0a7587db0e039a04f50bb80f9a09cf31b09ecf93 /awall-cli | |
parent | 6b7e523054e9d4a34f3074c9cb8e268d1ebdfe53 (diff) | |
download | awall-20ae74c3dd234ffe004388f27340979f1411ad27.tar.bz2 awall-20ae74c3dd234ffe004388f27340979f1411ad27.tar.xz |
command for dumping variable and zone definitions
Diffstat (limited to 'awall-cli')
-rwxr-xr-x | awall-cli | 27 |
1 files changed, 26 insertions, 1 deletions
@@ -50,6 +50,9 @@ List optional policies: enabled by the user but is in use because it is required by another policy which is in use. +Dump variable and zone definitions: + awall dump + ]]) os.exit() end @@ -91,7 +94,7 @@ end require 'awall.util' if not awall.util.contains({'translate', 'activate', 'fallback', - 'enable', 'disable', 'list'}, + 'enable', 'disable', 'list', 'dump'}, mode) then help() end @@ -115,8 +118,30 @@ if awall.util.contains({'disable', 'enable'}, mode) then os.exit() end + config = policyset:load() +if mode == 'dump' then + require 'json' + + function dump(title, data) + print(title..':') + local lines = {} + for k, v in pairs(data) do + table.insert(lines, k..' = '..json.encode(v)) + end + table.sort(lines) + for i, line in ipairs(lines) do print(line) end + print() + end + + dump('Variables', config:variables()) + config = config:expand() + dump('Zones', config.zone) + + os.exit() +end + require 'awall.iptables' awall.loadmodules(basedir) |