diff options
author | Timo Teräs <timo.teras@iki.fi> | 2014-07-25 09:48:14 +0000 |
---|---|---|
committer | Timo Teräs <timo.teras@iki.fi> | 2014-07-25 09:48:14 +0000 |
commit | f936a682e295cf43fc387f123eb81f62d112dff5 (patch) | |
tree | 6008db95766ac992d06fd73289da2ab9d7c080c1 /main/aaudit/aaudit-common.lua | |
parent | 37b3d87f50e1388430febe0f7b49a2f27717e0bf (diff) | |
download | aports-f936a682e295cf43fc387f123eb81f62d112dff5.tar.bz2 aports-f936a682e295cf43fc387f123eb81f62d112dff5.tar.xz |
main/aaudit: backport from edge/main
Diffstat (limited to 'main/aaudit/aaudit-common.lua')
-rw-r--r-- | main/aaudit/aaudit-common.lua | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/main/aaudit/aaudit-common.lua b/main/aaudit/aaudit-common.lua new file mode 100644 index 0000000000..d7b1bc4837 --- /dev/null +++ b/main/aaudit/aaudit-common.lua @@ -0,0 +1,31 @@ +local M = {} + +local posix = require 'posix' +local json = require 'cjson' + +M.config = "/etc/aaudit/aaudit.json" + +function M.readfile(fn) + local F = io.open(fn, "r") + if F == nil then return nil end + local ret = F:read("*all") + F:close() + return ret +end + +function M.readconfig(fn) + fn = fn or M.config + local success, res = pcall(json.decode, M.readfile(fn)) + if not success then io.stderr:write(("Error reading %s: %s\n"):format(fn, res)) end + return res +end + +function M.writefile(content, fn) + assert(io.open(fn, "w")):write(content):close() +end + +function M.writeconfig(config, fn) + M.writefile(json.encode(config), fn or M.config) +end + +return M |