diff options
author | Ted Trask <ttrask01@yahoo.com> | 2016-12-26 21:48:41 +0000 |
---|---|---|
committer | Ted Trask <ttrask01@yahoo.com> | 2016-12-26 21:48:41 +0000 |
commit | a6fb76eb348404e8489c42e6d78ea45cb63ea3e5 (patch) | |
tree | 4bb616fa016b88bc941917687727c71ff6039caa /provisioning-model.lua | |
parent | cc1b2583ccea9efbbd563e24a675e63f809a56e7 (diff) | |
download | acf-provisioning-a6fb76eb348404e8489c42e6d78ea45cb63ea3e5.tar.bz2 acf-provisioning-a6fb76eb348404e8489c42e6d78ea45cb63ea3e5.tar.xz |
Add logging for forensics
Diffstat (limited to 'provisioning-model.lua')
-rw-r--r-- | provisioning-model.lua | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/provisioning-model.lua b/provisioning-model.lua index 1b5dd54..af96546 100644 --- a/provisioning-model.lua +++ b/provisioning-model.lua @@ -35,6 +35,14 @@ local functions -- ################################################################################ -- LOCAL FUNCTIONS +local function logcall(fn) + if mymodule.sessiondata and mymodule.sessiondata.userinfo and mymodule.sessiondata.userinfo.userid then + mymodule.logevent("acf-provisioning: "..tostring(fn).." by "..tostring(mymodule.sessiondata.userinfo.userid)) + else + mymodule.logevent("acf-provisioning: "..tostring(fn)) + end +end + -- This function is used by scripts, do not change prototype local runsqlcommand = function(sql) mymodule.logevent(sql) @@ -666,8 +674,10 @@ mymodule.update_template = function(self, template, action, create) end if success then if create then + logcall("create_template "..template.value.filename.value) sql = "INSERT INTO provisioning_options VALUES((SELECT param_id FROM provisioning_params WHERE name='template'), '"..provdb.escape(template.value.label.value).."', '"..provdb.escape(template.value.filename.value).."', '"..provdb.escape(template.value.seq.value).."')" else + logcall("update_template "..template.value.filename.value) sql = "UPDATE provisioning_options SET (label, seq) = ('"..provdb.escape(template.value.label.value).."', '"..provdb.escape(template.value.seq.value).."') WHERE param_id=(SELECT param_id FROM provisioning_params WHERE name = 'template') AND value='"..provdb.escape(template.value.filename.value).."'" end runsqlcommand(sql) @@ -710,6 +720,7 @@ mymodule.delete_template = function(self, delreq) if #tmp == 0 then delreq.value.filename.errtxt = "Template does not exist" else + logcall("delete_template "..filename) -- Remove the template sql = "DELETE FROM provisioning_options WHERE param_id=(SELECT param_id FROM provisioning_params WHERE name = 'template') AND value='"..provdb.escape(filename).."'" runsqlcommand(sql) @@ -819,6 +830,7 @@ mymodule.update_class_group = function(self, group, action, create) if success then local sql if create then + logcall("create_class_group "..group.value.label.value) sql = "INSERT INTO provisioning_class_groups VALUES(DEFAULT, '"..provdb.escape(group.value.name.value).."', '"..provdb.escape(group.value.label.value).."', '"..provdb.escape(group.value.seq.value).."')" runsqlcommand(sql) sql = "SELECT class_group_id FROM provisioning_class_groups WHERE label='"..provdb.escape(group.value.label.value).."'" @@ -829,6 +841,7 @@ mymodule.update_class_group = function(self, group, action, create) error("Failed to insert class group", 0) end else + logcall("update_class_group "..group.value.class_group_id.value) sql = "UPDATE provisioning_class_groups SET (name, label, seq) = ('"..provdb.escape(group.value.name.value).."', '"..provdb.escape(group.value.label.value).."', '"..provdb.escape(group.value.seq.value).."') WHERE class_group_id='"..provdb.escape(group.value.class_group_id.value).."'" runsqlcommand(sql) end @@ -869,6 +882,7 @@ mymodule.delete_class_group = function(self, delreq) if #tmp == 0 then delreq.value.class_group_id.errtxt = "Group does not exist" else + logcall("delete_class_group "..class_group_id) sql = "DELETE FROM provisioning_class_groups WHERE class_group_id='"..provdb.escape(class_group_id).."'" runsqlcommand(sql) delreq.errtxt = nil @@ -999,6 +1013,7 @@ mymodule.update_class = function(self, class, action, create) if success then local sql if create then + logcall("create_class "..class.value.label.value) sql = "INSERT INTO provisioning_classes VALUES(DEFAULT, '"..provdb.escape(class.value.class_group_id.value).."', '"..provdb.escape(class.value.label.value).."', '"..provdb.escape(class.value.seq.value).."')" runsqlcommand(sql) sql = "SELECT class_id FROM provisioning_classes WHERE class_group_id='"..provdb.escape(class.value.class_group_id.value).."' AND label='"..provdb.escape(class.value.label.value).."'" @@ -1009,6 +1024,7 @@ mymodule.update_class = function(self, class, action, create) error("Failed to insert class", 0) end else + logcall("update_class "..class.value.class_id.value) sql = "UPDATE provisioning_classes SET (class_group_id, label, seq) = ('"..provdb.escape(class.value.class_group_id.value).."', '"..provdb.escape(class.value.label.value).."', '"..provdb.escape(class.value.seq.value).."') WHERE class_id='"..provdb.escape(class.value.class_id.value).."'" runsqlcommand(sql) sql = "DELETE FROM classes_to_param_groups WHERE class_id='"..provdb.escape(class.value.class_id.value).."'" @@ -1058,6 +1074,7 @@ mymodule.delete_class = function(self, delreq) if #tmp == 0 then delreq.value.class_id.errtxt = "Class does not exist" else + logcall("delete_class "..class_id) sql = "DELETE FROM classes_to_param_groups WHERE class_id='"..provdb.escape(class_id).."'" runsqlcommand(sql) sql = "DELETE FROM provisioning_classes WHERE class_id='"..provdb.escape(class_id).."'" @@ -1222,6 +1239,7 @@ mymodule.update_group = function(self, group, action, create) end if success then if create then + logcall("create_group "..group.value.label.value) sql = "INSERT INTO provisioning_groups VALUES(DEFAULT, '"..provdb.escape(group.value.name.value).."', '"..provdb.escape(group.value.label.value).."', '"..provdb.escape(group.value.seq.value).."')" runsqlcommand(sql) sql = "SELECT group_id FROM provisioning_groups WHERE name='"..provdb.escape(group.value.name.value).."' AND label='"..provdb.escape(group.value.label.value).."'" @@ -1232,6 +1250,7 @@ mymodule.update_group = function(self, group, action, create) error("Failed to insert parameter group", 0) end else + logcall("update_group "..group.value.group_id.value) sql = "UPDATE provisioning_groups SET (name, label, seq) = ('"..provdb.escape(group.value.name.value).."', '"..provdb.escape(group.value.label.value).."', '"..provdb.escape(group.value.seq.value).."') WHERE group_id='"..provdb.escape(group.value.group_id.value).."'" runsqlcommand(sql) sql = "DELETE FROM param_groups_to_params WHERE group_id='"..provdb.escape(group.value.group_id.value).."'" @@ -1303,6 +1322,7 @@ mymodule.delete_group = function(self, delreq) if #tmp == 0 then delreq.value.group_id.errtxt = "Group does not exist" else + logcall("delete_group "..group_id) sql = "DELETE FROM param_groups_to_params WHERE group_id='"..provdb.escape(group_id).."'" runsqlcommand(sql) sql = "DELETE FROM provisioning_groups WHERE group_id='"..provdb.escape(group_id).."'" @@ -1429,6 +1449,7 @@ mymodule.update_param = function(self, param, action, create) if success then local sql if create then + logcall("create_param "..param.value.label.value) sql = "INSERT INTO provisioning_params VALUES(DEFAULT, '"..provdb.escape(param.value.name.value).."', '"..provdb.escape(param.value.type.value).."', '"..provdb.escape(param.value.label.value).."', '"..provdb.escape(param.value.descr.value).."', '"..provdb.escape(param.value.value.value).."', '"..provdb.escape(param.value.seq.value).."', '"..provdb.escape(param.value.regexp.value).."', '"..provdb.escape(format.dostounix(param.value.validate.value)).."')" runsqlcommand(sql) sql = "SELECT param_id FROM provisioning_params WHERE name='"..provdb.escape(param.value.name.value).."' AND label='"..provdb.escape(param.value.label.value).."'" @@ -1439,6 +1460,7 @@ mymodule.update_param = function(self, param, action, create) error("Failed to insert parameter", 0); end else + logcall("update_param "..param.value.param_id.value) sql = "UPDATE provisioning_params SET (name, type, label, descr, value, seq, regexp, validate) = ('"..provdb.escape(param.value.name.value).."', '"..provdb.escape(param.value.type.value).."', '"..provdb.escape(param.value.label.value).."', '"..provdb.escape(param.value.descr.value).."', '"..provdb.escape(param.value.value.value).."', '"..provdb.escape(param.value.seq.value).."', '"..provdb.escape(param.value.regexp.value).."', '"..provdb.escape(format.dostounix(param.value.validate.value)).."') WHERE param_id='"..provdb.escape(param.value.param_id.value).."'" runsqlcommand(sql) end @@ -1493,6 +1515,7 @@ mymodule.delete_param = function(self, delreq) if #tmp == 0 then delreq.value.param_id.errtxt = "Parameter does not exist" else + logcall("delete_param "..param_id) sql = "DELETE FROM provisioning_options WHERE param_id='"..provdb.escape(param_id).."'" runsqlcommand(sql) sql = "DELETE FROM provisioning_params WHERE param_id='"..provdb.escape(param_id).."'" @@ -1655,6 +1678,9 @@ mymodule.update_device = function(self, device, action, create) if tmp and #tmp>0 then device.value.device_id.value = tmp[1].nextval end + logcall("create_device "..device.value.device_id.value) + else + logcall("update_device "..device.value.device_id.value) end sql = "DELETE FROM devices_to_classes WHERE device_id='"..provdb.escape(device.value.device_id.value).."'" runsqlcommand(sql) @@ -1720,6 +1746,7 @@ mymodule.delete_device = function(self, delreq) if #tmp == 0 then delreq.value.device_id.errtxt = "Device does not exist" else + logcall("delete_device "..device_id) if not saved_device_params[device_id] then get_device_params(device_id) end if not saved_devices[device_id] then get_device(device_id) end @@ -1807,10 +1834,16 @@ mymodule.get_class_values = function(self, retval) end mymodule.set_editable_device_params = function(self, params) + if params and params.value and params.value.device_id and params.value.device_id.value then + logcall("set_editable_device_params "..params.value.device_id.value) + end return set_device_params(params, true) end mymodule.set_all_device_params = function(self, params) + if params and params.value and params.value.device_id and params.value.device_id.value then + logcall("set_all_device_params "..params.value.device_id.value) + end return set_device_params(params, false) end @@ -1978,6 +2011,7 @@ mymodule.set_param_options = function(self, options) errtxt = "Parameter does not exist" end if success then + logcall("set_param_options "..options.value.param_id.value) -- Delete all options for this device local sql = "DELETE FROM provisioning_options WHERE param_id='"..provdb.escape(options.value.param_id.value).."'" runsqlcommand(sql) @@ -2014,6 +2048,9 @@ function mymodule.get_filedetails(self, clientdata) end function mymodule.update_filedetails(self, filedetails) + if filedetails and filedetails.value and filedetails.value.filename and filedetails.value.filename.value then + logcall("update_filedetails "..filedetails.value.filename.value) + end return modelfunctions.setfiledetails(self, filedetails, scriptfiles, validatefiledetails) end @@ -2299,6 +2336,7 @@ mymodule.delete_request = function(self, delreq) if #tmp == 0 then delreq.value.mac.errtxt = "Request does not exist" else + logcall("delete_request "..string.upper(mac)) -- Remove the request sql = "DELETE FROM provisioning_requests WHERE mac='"..provdb.escape(string.upper(mac)).."'" runsqlcommand(sql) @@ -2332,6 +2370,7 @@ mymodule.create_from_request = function(self, request) if #tmp == 0 then request.value.mac.errtxt = "Request does not exist" else + logcall("create_from_request "..string.upper(request.value.mac.value)) -- Determine which class to use (need a class that specifies a template) local c = mymodule.list_classes() local class, group = callscript(determineclassscriptfile, tmp[1].agent, c) @@ -2383,6 +2422,7 @@ mymodule.get_bulk_create_request = function(self, clientdata) end mymodule.bulk_create_devices = function(self, devicelist) + logcall("bulk_create_devices") local connected -- To allow uploading a file, check the bulkdevicedata format -- Haserl will pass a temporary file name if a file is uploaded |