]> git.ipfire.org Git - thirdparty/suricata-verify.git/commitdiff
datasets: test to load invalid encoded string
authorShivani Bhardwaj <shivanib134@gmail.com>
Wed, 14 Jun 2023 12:26:57 +0000 (17:56 +0530)
committerJason Ish <jason.ish@oisf.net>
Tue, 20 Jun 2023 16:30:42 +0000 (10:30 -0600)
tests/datasets-invalid-encoding/README.md [new file with mode: 0644]
tests/datasets-invalid-encoding/datasets.csv [new file with mode: 0644]
tests/datasets-invalid-encoding/suricata.yaml [new file with mode: 0644]
tests/datasets-invalid-encoding/test.rules [new file with mode: 0644]
tests/datasets-invalid-encoding/test.yaml [new file with mode: 0644]

diff --git a/tests/datasets-invalid-encoding/README.md b/tests/datasets-invalid-encoding/README.md
new file mode 100644 (file)
index 0000000..aac932f
--- /dev/null
@@ -0,0 +1,9 @@
+# Test Description
+
+This test demonstrates that datasets would error out in case they're
+given a bad base64 encoded string to load.
+
+
+## Related issues
+
+https://redmine.openinfosecfoundation.org/issues/5885
diff --git a/tests/datasets-invalid-encoding/datasets.csv b/tests/datasets-invalid-encoding/datasets.csv
new file mode 100644 (file)
index 0000000..5e07066
--- /dev/null
@@ -0,0 +1 @@
+Y3VybC83Lj!QzLjA=
diff --git a/tests/datasets-invalid-encoding/suricata.yaml b/tests/datasets-invalid-encoding/suricata.yaml
new file mode 100644 (file)
index 0000000..bb94cf5
--- /dev/null
@@ -0,0 +1,20 @@
+%YAML 1.1
+---
+
+# Logging configuration.  This is not about logging IDS alerts/events, but
+# output about what Suricata is doing, like startup messages, errors, etc.
+logging:
+  default-log-level: notice
+  outputs:
+  - console:
+      enabled: yes
+      # type: json
+  - file:
+      enabled: yes
+      level: info
+      filename: suricata.json
+      type: json
+  - syslog:
+      enabled: no
+      facility: local5
+      format: "[%i] <%d> -- "
diff --git a/tests/datasets-invalid-encoding/test.rules b/tests/datasets-invalid-encoding/test.rules
new file mode 100644 (file)
index 0000000..7cd7d67
--- /dev/null
@@ -0,0 +1,2 @@
+alert http any any -> any any (http.user_agent; dataset:isset,ua-seen,type string,load datasets.csv; sid:1;)
+alert http any any -> any any (http.user_agent; dataset:isnotset,ua-seen,type string,load datasets.csv; sid:2;)
diff --git a/tests/datasets-invalid-encoding/test.yaml b/tests/datasets-invalid-encoding/test.yaml
new file mode 100644 (file)
index 0000000..1e6c05a
--- /dev/null
@@ -0,0 +1,20 @@
+requires:
+  files:
+    - src/datasets.c
+
+pcap: ../datasets-02-load/input.pcap
+
+args:
+ - -k none
+
+exit-code: 1
+
+checks:
+  - filter:
+      filename: suricata.json
+      count: 1
+      match:
+        log_level: "Error"
+        event_type: "engine"
+        engine.message.__find: "bad base64 encoding ua-seen"
+        engine.module: "datasets"