diff --git a/tests/lua/lua-hashlib-output/README.md b/tests/lua/lua-hashlib-output/README.md new file mode 100644 index 000000000..101025fca --- /dev/null +++ b/tests/lua/lua-hashlib-output/README.md @@ -0,0 +1,3 @@ +A rather simple test to make sure that out built-in libraries can be +loaded by a Lua output script. + diff --git a/tests/lua/lua-hashlib-output/suricata.yaml b/tests/lua/lua-hashlib-output/suricata.yaml new file mode 100644 index 000000000..c7319fcca --- /dev/null +++ b/tests/lua/lua-hashlib-output/suricata.yaml @@ -0,0 +1,13 @@ +%YAML 1.1 +--- + +include: ../../../etc/suricata-3.1.2.yaml + +rule-files: + +outputs: + - lua: + enabled: yes + scripts-dir: . + scripts: + - test.lua diff --git a/tests/lua/lua-hashlib-output/test.lua b/tests/lua/lua-hashlib-output/test.lua new file mode 100644 index 000000000..d356f1cc1 --- /dev/null +++ b/tests/lua/lua-hashlib-output/test.lua @@ -0,0 +1,43 @@ +local hashlib = require("suricata.hashlib") + +-- We don't actually use, but the script will fail to run if it fails +-- to "require". +local dataset = require("suricata.dataset") + +-- www.suricata-ids.org +local expected_md5 = "27170ec0609347c6a158bb5b694822a5" + +filename = "results.log" + +function init (args) + local needs = {} + needs["protocol"] = "dns" + return needs +end + +function setup (args) + SCLogNotice("lua: setup()") + file = assert(io.open(SCLogPath() .. "/" .. filename, "w")) +end + +function log(args) + queries = DnsGetQueries() + if queries ~= nil then + for n, t in pairs(queries) do + if hashlib.md5_hexdigest(t["rrname"]) == expected_md5 then + msg = "OK" + else + msg = "FAIL" + end + write(msg) + end + end +end + +function deinit(args) + file:close(file) +end + +function write(msg) + file:write(msg .. "\n") +end diff --git a/tests/lua/lua-hashlib-output/test.pcap b/tests/lua/lua-hashlib-output/test.pcap new file mode 100644 index 000000000..d3065bd40 Binary files /dev/null and b/tests/lua/lua-hashlib-output/test.pcap differ diff --git a/tests/lua/lua-hashlib-output/test.yaml b/tests/lua/lua-hashlib-output/test.yaml new file mode 100644 index 000000000..3041fd56a --- /dev/null +++ b/tests/lua/lua-hashlib-output/test.yaml @@ -0,0 +1,10 @@ +requires: + min-version: 8 + +pcap: ../../cond-log-dns-dig/input.pcap + +checks: + - shell: + args: grep "OK" results.log | wc -l + expect: 2 +