--- /dev/null
+# Description
+
+Test bidirection rule with HTTP analysis
+
+# Ticket
+
+https://redmine.openinfosecfoundation.org/issues/5665
--- /dev/null
+alert http1 any any => any any (msg:"matching both uri and status"; sid: 1; http.uri; content: "/download"; http.stat_code; content: "200";)
\ No newline at end of file
--- /dev/null
+requires:
+ min-version: 8
+ pcap: false
+
+args:
+ - --engine-analysis
+
+checks:
+- filter:
+ filename: rules.json
+ count: 1
+ match:
+ id: 1
+ engines[0].name: "http_uri"
+ engines[0].direction: "toserver"
+ engines[0].app_proto: "http"
+ engines[1].name: "http_stat_code"
+ engines[1].direction: "toclient"
+ engines[1].app_proto: "http"
+ mpm.buffer: "http_uri"
--- /dev/null
+# Description
+
+Test bidirection rule with TLS ja3 analysis
+
+# Ticket
+
+https://redmine.openinfosecfoundation.org/issues/5665
--- /dev/null
+alert tls any any => any any (msg:"bidir ja3"; ja3s.hash; content:"5d79edf64e03689ff559a54e9d9487bc"; ja3.string; content:"771,49196-49200"; sid:1;)
--- /dev/null
+requires:
+ min-version: 8
+ pcap: false
+
+args:
+ - --engine-analysis
+
+checks:
+- filter:
+ filename: rules.json
+ count: 1
+ match:
+ id: 1
+ engines[0].name: "ja3.string"
+ engines[0].direction: "toserver"
+ engines[0].app_proto: "tls"
+ engines[1].name: "ja3s.hash"
+ engines[1].direction: "toclient"
+ engines[1].app_proto: "tls"
+ mpm.buffer: "ja3.string"