From 7411696183ff07108fbd6340291006deb5a75eaf Mon Sep 17 00:00:00 2001 From: Jason Ish Date: Fri, 30 May 2025 16:22:34 -0600 Subject: [PATCH] tests/lua: update for suricata.config lua lib --- tests/lua-flowfunctions/lua-flowfunctions.lua | 3 +- tests/lua-flowstats/lua-scflowstats.lua | 3 +- tests/lua-flowtuple/scflowtuple.lua | 3 +- tests/lua-output-dns/test.lua | 3 +- tests/lua-output-http-02/http.lua | 3 +- tests/lua-output-http-03/http.lua | 3 +- tests/lua-output-http/http.lua | 3 +- tests/lua-output-smtp/smtp.lua | 3 +- tests/lua-output-stats-pre8/README.md | 3 ++ tests/lua-output-stats-pre8/suricata.yaml | 9 ++++++ tests/lua-output-stats-pre8/test.lua | 29 ++++++++++++++++++ tests/lua-output-stats-pre8/test.pcap | Bin 0 -> 1181 bytes tests/lua-output-stats-pre8/test.yaml | 9 ++++++ tests/lua-output-stats/test.lua | 4 ++- tests/lua-output-stats/test.yaml | 3 +- tests/lua-output-streaming/streaming-http.lua | 3 +- tests/lua-output-streaming/streaming-tcp.lua | 3 +- tests/lua-scfileinfo/scfileinfo.lua | 3 +- tests/lua-scpackettuple/scpackettuple.lua | 3 +- tests/lua-scrule-ids/lua-scrule-ids.lua | 3 +- tests/lua/lua-base64/output.lua | 3 +- tests/lua/lua-fastlog/fast.lua | 3 +- tests/lua/lua-hashlib-output/test.lua | 3 +- tests/lua/lua-tlslib-01/lua-tlsfunctions.lua | 3 +- tests/ssh-lua-output/output.lua | 3 +- 25 files changed, 90 insertions(+), 21 deletions(-) create mode 100644 tests/lua-output-stats-pre8/README.md create mode 100644 tests/lua-output-stats-pre8/suricata.yaml create mode 100644 tests/lua-output-stats-pre8/test.lua create mode 100644 tests/lua-output-stats-pre8/test.pcap create mode 100644 tests/lua-output-stats-pre8/test.yaml diff --git a/tests/lua-flowfunctions/lua-flowfunctions.lua b/tests/lua-flowfunctions/lua-flowfunctions.lua index acffbb6c0..b527c442f 100644 --- a/tests/lua-flowfunctions/lua-flowfunctions.lua +++ b/tests/lua-flowfunctions/lua-flowfunctions.lua @@ -3,6 +3,7 @@ name = "flow_http_lua.log" local flow = require("suricata.flow") local logger = require("suricata.log") +local config = require("suricata.config") function init (args) local needs = {} @@ -12,7 +13,7 @@ function init (args) end function setup (args) - filename = SCLogPath() .. "/" .. name + filename = config.log_path() .. "/" .. name file = assert(io.open(filename, "a")) logger.info("Log Filename " .. filename) http = 0 diff --git a/tests/lua-flowstats/lua-scflowstats.lua b/tests/lua-flowstats/lua-scflowstats.lua index 0d3484423..77cf80455 100644 --- a/tests/lua-flowstats/lua-scflowstats.lua +++ b/tests/lua-flowstats/lua-scflowstats.lua @@ -3,6 +3,7 @@ name = "lua-scflowstats.log" local flow = require("suricata.flow") local logger = require("suricata.log") +local config = require("suricata.config") function init(args) local needs = {} @@ -11,7 +12,7 @@ function init(args) end function setup(args) - filename = SCLogPath() .. "/" .. name + filename = config.log_path() .. "/" .. name file = assert(io.open(filename, "a")) logger.info("lua SCFlowStats Log Filename " .. filename) end diff --git a/tests/lua-flowtuple/scflowtuple.lua b/tests/lua-flowtuple/scflowtuple.lua index 3eb15afe8..604609056 100644 --- a/tests/lua-flowtuple/scflowtuple.lua +++ b/tests/lua-flowtuple/scflowtuple.lua @@ -1,6 +1,7 @@ -- simple SCFlowTuple log test local flow = require("suricata.flow") local logger = require("suricata.log") +local config = require("suricata.config") name = "scflow-tuple.log" @@ -12,7 +13,7 @@ end function setup(args) - filename = SCLogPath() .. "/" .. name + filename = config.log_path() .. "/" .. name file = assert(io.open(filename, "a")) logger.notice("lua SCFlowTuple Log Filename " .. filename) end diff --git a/tests/lua-output-dns/test.lua b/tests/lua-output-dns/test.lua index 0dbb6eb3c..e5e26aafd 100644 --- a/tests/lua-output-dns/test.lua +++ b/tests/lua-output-dns/test.lua @@ -2,6 +2,7 @@ local flow = require("suricata.flow") local packet = require("suricata.packet") local dns = require("suricata.dns") local logger = require("suricata.log") +local config = require "suricata.config" filename = "lua-dns.log" @@ -13,7 +14,7 @@ end function setup (args) logger.notice("lua: setup()") - file = assert(io.open(SCLogPath() .. "/" .. filename, "w")) + file = assert(io.open(config.log_path() .. "/" .. filename, "w")) end function log(args) diff --git a/tests/lua-output-http-02/http.lua b/tests/lua-output-http-02/http.lua index e5ccb624d..d12da9dd9 100644 --- a/tests/lua-output-http-02/http.lua +++ b/tests/lua-output-http-02/http.lua @@ -3,6 +3,7 @@ local flow = require("suricata.flow") local packet = require "suricata.packet" local http = require("suricata.http") local logger = require("suricata.log") +local config = require("suricata.config") name = "http_lua.log" @@ -13,7 +14,7 @@ function init (args) end function setup (args) - filename = SCLogPath() .. "/" .. name + filename = config.log_path() .. "/" .. name file = assert(io.open(filename, "a")) logger.info("HTTP Log Filename " .. filename) http_tx = 0 diff --git a/tests/lua-output-http-03/http.lua b/tests/lua-output-http-03/http.lua index 2a3551ee1..c5d4b8f95 100644 --- a/tests/lua-output-http-03/http.lua +++ b/tests/lua-output-http-03/http.lua @@ -3,6 +3,7 @@ local flow = require("suricata.flow") local packet = require "suricata.packet" local http = require("suricata.http") local logger = require("suricata.log") +local config = require("suricata.config") name = "http_lua.log" @@ -13,7 +14,7 @@ function init (args) end function setup (args) - filename = SCLogPath() .. "/" .. name + filename = config.log_path() .. "/" .. name file = assert(io.open(filename, "a")) logger.info("HTTP Log Filename " .. filename) http_tx = 0 diff --git a/tests/lua-output-http/http.lua b/tests/lua-output-http/http.lua index 6d4892634..2ae540480 100644 --- a/tests/lua-output-http/http.lua +++ b/tests/lua-output-http/http.lua @@ -3,6 +3,7 @@ local packet = require "suricata.packet" local flow = require("suricata.flow") local http = require("suricata.http") local logger = require("suricata.log") +local config = require("suricata.config") name = "http_lua.log" @@ -13,7 +14,7 @@ function init (args) end function setup (args) - filename = SCLogPath() .. "/" .. name + filename = config.log_path() .. "/" .. name file = assert(io.open(filename, "a")) http_tx = 0 end diff --git a/tests/lua-output-smtp/smtp.lua b/tests/lua-output-smtp/smtp.lua index a9caac207..93fd88132 100644 --- a/tests/lua-output-smtp/smtp.lua +++ b/tests/lua-output-smtp/smtp.lua @@ -2,6 +2,7 @@ local packet = require "suricata.packet" local smtp = require "suricata.smtp" local logger = require("suricata.log") +local config = require "suricata.config" name = "smtp_lua.log" @@ -12,7 +13,7 @@ function init (args) end function setup (args) - filename = SCLogPath() .. "/" .. name + filename = config.log_path() .. "/" .. name file = assert(io.open(filename, "a")) logger.info("Log Filename " .. filename) count = 0 diff --git a/tests/lua-output-stats-pre8/README.md b/tests/lua-output-stats-pre8/README.md new file mode 100644 index 000000000..bdafb8ca6 --- /dev/null +++ b/tests/lua-output-stats-pre8/README.md @@ -0,0 +1,3 @@ +Tests the output of stats being logged by Lua. + +PCAPs created by Jason Ish. diff --git a/tests/lua-output-stats-pre8/suricata.yaml b/tests/lua-output-stats-pre8/suricata.yaml new file mode 100644 index 000000000..5cd3ea744 --- /dev/null +++ b/tests/lua-output-stats-pre8/suricata.yaml @@ -0,0 +1,9 @@ +%YAML 1.1 +--- + +outputs: + - lua: + enabled: yes + scripts-dir: . + scripts: + - test.lua diff --git a/tests/lua-output-stats-pre8/test.lua b/tests/lua-output-stats-pre8/test.lua new file mode 100644 index 000000000..d3c0f6dcd --- /dev/null +++ b/tests/lua-output-stats-pre8/test.lua @@ -0,0 +1,29 @@ +filename = "lua-stats.log" + +function init (args) + local needs = {} + needs["type"] = "stats" + return needs +end + +function setup (args) + file = assert(io.open(SCLogPath() .. "/" .. filename, "w")) +end + +function log(args) + for n, v in ipairs(args) do + --print(n .. " - " .. v["name"] .. " == " .. v["value"]); + if (v["name"] == "decoder.pkts") then + msg = string.format("packets %u", v["value"]); + 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-output-stats-pre8/test.pcap b/tests/lua-output-stats-pre8/test.pcap new file mode 100644 index 0000000000000000000000000000000000000000..20db7a12e8f6c0ab90ed3166446cc09bc69f8845 GIT binary patch literal 1181 zc-p&ic+)~A1{MYcU}0bclCFlsWL^u=;!t_JF7gqX#doRgWFSE8Go#-37?Uyzhv!JM3*3zBAZ z16mL&%F2)kR0hHjqaoISEeMX22U&2;A7nVl5(ZPC753-qXRdB+0GU9*f&)BIMfwaZ zCZPqQAPeKR@G$rSg?zF3$bOyz$ilWHn2!!A0)3<{mci?f@DXcLPJVJWhGp(R!|Qz+ z8A5?dLa`a{KJPFC(D0+%VTLzt0vc{CR6GS0sRnUdX(269Ar#*d;knCRao z2p!Oeh9U<8i>{TMBFGJ*?d%LuK%ppXZt#gy1iK*w;Rc{rEwpc}dyR-TY#xQh7vp9I zmW<|8=^j9vG=6d7Nr6k&fNZM21PjuKN{|$28A((M1X(ceHz&Rns08+k55g-zE9@2H zEh9-wfx3_snEHny;@MY(^EVZZ@9NVmU#Xun* iAV0G>Gd)i?y{PzrVFbgU2nGgr4zM;(D`5BrHUI#CKoyDr literal 0 Hc-jL100001 diff --git a/tests/lua-output-stats-pre8/test.yaml b/tests/lua-output-stats-pre8/test.yaml new file mode 100644 index 000000000..b2594978b --- /dev/null +++ b/tests/lua-output-stats-pre8/test.yaml @@ -0,0 +1,9 @@ +requires: + lt-version: 8 + features: + - HAVE_LUA + +checks: + - shell: + args: grep 'packets 10' lua-stats.log | wc -l + expect: 1 diff --git a/tests/lua-output-stats/test.lua b/tests/lua-output-stats/test.lua index d3c0f6dcd..65c7c8a80 100644 --- a/tests/lua-output-stats/test.lua +++ b/tests/lua-output-stats/test.lua @@ -1,3 +1,5 @@ +local config = require("suricata.config") + filename = "lua-stats.log" function init (args) @@ -7,7 +9,7 @@ function init (args) end function setup (args) - file = assert(io.open(SCLogPath() .. "/" .. filename, "w")) + file = assert(io.open(config.log_path() .. "/" .. filename, "w")) end function log(args) diff --git a/tests/lua-output-stats/test.yaml b/tests/lua-output-stats/test.yaml index 0513752f7..253a0be0e 100644 --- a/tests/lua-output-stats/test.yaml +++ b/tests/lua-output-stats/test.yaml @@ -1,6 +1,5 @@ requires: - features: - - HAVE_LUA + min-version: 8 checks: - shell: diff --git a/tests/lua-output-streaming/streaming-http.lua b/tests/lua-output-streaming/streaming-http.lua index c83b036fa..f105df39a 100644 --- a/tests/lua-output-streaming/streaming-http.lua +++ b/tests/lua-output-streaming/streaming-http.lua @@ -1,5 +1,6 @@ local flow = require "suricata.flow" local logger = require("suricata.log") +local config = require "suricata.config" function init (args) local needs = {} @@ -9,7 +10,7 @@ function init (args) end function setup (args) - filepath = SCLogPath() + filepath = config.log_path() end function log(args) diff --git a/tests/lua-output-streaming/streaming-tcp.lua b/tests/lua-output-streaming/streaming-tcp.lua index f54c7e368..3cae85a0f 100644 --- a/tests/lua-output-streaming/streaming-tcp.lua +++ b/tests/lua-output-streaming/streaming-tcp.lua @@ -1,4 +1,5 @@ local flow = require("suricata.flow") +local config = require("suricata.config") function init (args) local needs = {} @@ -8,7 +9,7 @@ function init (args) end function setup (args) - filepath = SCLogPath() + filepath = config.log_path() alerts = 0 end diff --git a/tests/lua-scfileinfo/scfileinfo.lua b/tests/lua-scfileinfo/scfileinfo.lua index d5bd220e8..a0d3bf601 100644 --- a/tests/lua-scfileinfo/scfileinfo.lua +++ b/tests/lua-scfileinfo/scfileinfo.lua @@ -1,5 +1,6 @@ local filelib = require("suricata.file") local logger = require("suricata.log") +local config = require("suricata.config") -- Output test for SCFileInfo file_name = "scfileinfo.log" @@ -9,7 +10,7 @@ function init (args) end function setup(args) - filename = SCLogPath() .. "/" .. file_name + filename = config.log_path() .. "/" .. file_name output = assert(io.open(filename, "w")) logger.info("lua SCFileInfo Log Filename " .. filename) end diff --git a/tests/lua-scpackettuple/scpackettuple.lua b/tests/lua-scpackettuple/scpackettuple.lua index 5799062b1..d6507cddf 100644 --- a/tests/lua-scpackettuple/scpackettuple.lua +++ b/tests/lua-scpackettuple/scpackettuple.lua @@ -1,5 +1,6 @@ local packet = require "suricata.packet" local logger = require("suricata.log") +local config = require "suricata.config" -- simple SCPacketTuple log test name = "scpacket-tuple.log" @@ -11,7 +12,7 @@ function init(args) end function setup(args) - filename = SCLogPath() .. "/" .. name + filename = config.log_path() .. "/" .. name file = assert(io.open(filename, "a")) logger.info("Lua SCPacketTuple Log Filename " .. filename) packets = 0 diff --git a/tests/lua-scrule-ids/lua-scrule-ids.lua b/tests/lua-scrule-ids/lua-scrule-ids.lua index 95a9d702f..6d97e3833 100644 --- a/tests/lua-scrule-ids/lua-scrule-ids.lua +++ b/tests/lua-scrule-ids/lua-scrule-ids.lua @@ -2,6 +2,7 @@ local packet = require "suricata.packet" local rule = require "suricata.rule" local logger = require "suricata.log" +local config = require "suricata.config" name = "lua-scrule-ids.log" @@ -13,7 +14,7 @@ function init(args) end function setup(args) - filename = SCLogPath() .. "/" .. name + filename = config.log_path() .. "/" .. name file = assert(io.open(filename, "a")) logger.info("lua SCRuleIds Log Filename " .. filename) end diff --git a/tests/lua/lua-base64/output.lua b/tests/lua/lua-base64/output.lua index 4bf8c1ba1..416954358 100644 --- a/tests/lua/lua-base64/output.lua +++ b/tests/lua/lua-base64/output.lua @@ -4,6 +4,7 @@ local base64 = require("suricata.base64") local dns = require("suricata.dns") local logger = require("suricata.log") +local config = require("suricata.config") local expected_base64 = "d3d3LnN1cmljYXRhLWlkcy5vcmc=" @@ -17,7 +18,7 @@ end function setup (args) logger.notice("lua: setup()") - file = assert(io.open(SCLogPath() .. "/" .. filename, "w")) + file = assert(io.open(config.log_path() .. "/" .. filename, "w")) end function log(args) diff --git a/tests/lua/lua-fastlog/fast.lua b/tests/lua/lua-fastlog/fast.lua index f72283ef0..abeb9d055 100644 --- a/tests/lua/lua-fastlog/fast.lua +++ b/tests/lua/lua-fastlog/fast.lua @@ -18,6 +18,7 @@ local packet = require("suricata.packet") local rule = require("suricata.rule") +local config = require("suricata.config") function init() local needs = {} @@ -27,7 +28,7 @@ function init() end function setup() - filename = SCLogPath() .. "/fast.log" + filename = config.log_path() .. "/fast.log" file = assert(io.open(filename, "a")) alert_count = 0 end diff --git a/tests/lua/lua-hashlib-output/test.lua b/tests/lua/lua-hashlib-output/test.lua index d071b8227..c1ca1b616 100644 --- a/tests/lua/lua-hashlib-output/test.lua +++ b/tests/lua/lua-hashlib-output/test.lua @@ -1,6 +1,7 @@ local hashlib = require("suricata.hashlib") local dns = require("suricata.dns") local logger = require("suricata.log") +local config = require("suricata.config") -- We don't actually use, but the script will fail to run if it fails -- to "require". @@ -19,7 +20,7 @@ end function setup (args) logger.notice("lua: setup()") - file = assert(io.open(SCLogPath() .. "/" .. filename, "w")) + file = assert(io.open(config.log_path() .. "/" .. filename, "w")) end function log(args) diff --git a/tests/lua/lua-tlslib-01/lua-tlsfunctions.lua b/tests/lua/lua-tlslib-01/lua-tlsfunctions.lua index cec0862c2..d520bc3f0 100644 --- a/tests/lua/lua-tlslib-01/lua-tlsfunctions.lua +++ b/tests/lua/lua-tlslib-01/lua-tlsfunctions.lua @@ -3,6 +3,7 @@ name = "tlslib_lua.log" local tls = require("suricata.tls") local logger = require("suricata.log") +local config = require("suricata.config") function init (args) local needs = {} @@ -11,7 +12,7 @@ function init (args) end function setup (args) - filename = SCLogPath() .. "/" .. name + filename = config.log_path() .. "/" .. name file = assert(io.open(filename, "a")) logger.info("Log Filename " .. filename) http = 0 diff --git a/tests/ssh-lua-output/output.lua b/tests/ssh-lua-output/output.lua index 704e25046..63ad208da 100644 --- a/tests/ssh-lua-output/output.lua +++ b/tests/ssh-lua-output/output.lua @@ -1,5 +1,6 @@ local ssh = require("suricata.ssh") local logger = require("suricata.log") +local config = require("suricata.config") filename = "results.log" @@ -11,7 +12,7 @@ end function setup (args) logger.notice("lua: setup()") - file = assert(io.open(SCLogPath() .. "/" .. filename, "w")) + file = assert(io.open(config.log_path() .. "/" .. filename, "w")) end function log(args) -- 2.47.3