From: Jason Ish Date: Mon, 27 May 2024 21:54:53 +0000 (-0600) Subject: test: test lua memory limit errors X-Git-Tag: suricata-6.0.20~32 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F1864%2Fhead;p=thirdparty%2Fsuricata-verify.git test: test lua memory limit errors --- diff --git a/tests/lua/lua-memory-limit/README.md b/tests/lua/lua-memory-limit/README.md new file mode 100644 index 000000000..a7a768985 --- /dev/null +++ b/tests/lua/lua-memory-limit/README.md @@ -0,0 +1 @@ +Test for Lua rules that exceed the memory limit. diff --git a/tests/lua/lua-memory-limit/test.lua b/tests/lua/lua-memory-limit/test.lua new file mode 100644 index 000000000..8d69a8261 --- /dev/null +++ b/tests/lua/lua-memory-limit/test.lua @@ -0,0 +1,16 @@ +global_data = {} + +function init(args) + for i = 1, 8000 do + global_data[i] = "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + end + + return {} +end + +function match(args) + local data = {} + for i = 1, 17000 do + data[i] = "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + end +end diff --git a/tests/lua/lua-memory-limit/test.rules b/tests/lua/lua-memory-limit/test.rules new file mode 100644 index 000000000..7a543f17d --- /dev/null +++ b/tests/lua/lua-memory-limit/test.rules @@ -0,0 +1 @@ +alert http any any -> any any (msg:"TEST Lua Memory Limit"; content:"uid=0"; lua:test.lua; sid:1; rev:1;) diff --git a/tests/lua/lua-memory-limit/test.yaml b/tests/lua/lua-memory-limit/test.yaml new file mode 100644 index 000000000..36b4f688f --- /dev/null +++ b/tests/lua/lua-memory-limit/test.yaml @@ -0,0 +1,26 @@ +requires: + min-version: 8 + +args: + - --set default-rule-path=${TEST_DIR} + - --set security.lua.allow-rules=true + - --set logging.outputs.1.file.type=json + +pcap: ../lua-blocked-function-1/testmyids.pcap + +checks: + - filter: + filename: suricata.log + count: 1 + match: + engine.message.__startswith: "Lua script failed to run successfully: memory limit exceeded" + - filter: + count: 1 + match: + event_type: stats + stats.detect.lua.errors: 1 + stats.detect.lua.memory_limit_errors: 1 + - filter: + count: 0 + match: + event_type: alert