aboutsummaryrefslogtreecommitdiffstats
path: root/main/aaudit/aaudit-common.lua
diff options
context:
space:
mode:
Diffstat (limited to 'main/aaudit/aaudit-common.lua')
-rw-r--r--main/aaudit/aaudit-common.lua31
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