description = [[ vulns.lua test post-processing script ]] categories = {"vuln"} require 'stdnse' require 'vulns' local FID --local function save_not_vuln(vuln_table) -- if vuln_table.state == vulns.STATE.NOT_VULN then -- return true -- end --end prerule = function() --FID = vulns.save_reports(save_not_vuln) FID = vulns.save_reports() if FID then return true end return false end postrule = function(host, port) if nmap.registry[SCRIPT_NAME] then FID = nmap.registry[SCRIPT_NAME].FID if FID and vulns.get_ids(FID) then return true end end return false end prerule_action = function() nmap.registry[SCRIPT_NAME] = nmap.registry[SCRIPT_NAME] or {} nmap.registry[SCRIPT_NAME].FID = FID -- save the FID for the postrule return nil end postrule_action = function(host, port) local filter = { } --local list = vulns.find(FID, {}) --if list then -- local out = {} -- for _, vuln_table in ipairs(list) do -- local data = vulns.format_vuln(vuln_table) -- if data then -- table.insert(out, data) -- table.insert(out, "") -- end -- end -- table.insert(out, string.format("printed: %d entry", #list)) -- return stdnse.format_output(true, out) --end --return vulns.make_output(FID, filter) return vulns.make_output(FID) end local tactions = { prerule = prerule_action, postrule = postrule_action, } action = function(...) return tactions[SCRIPT_TYPE](...) end