Issue: 6144
Add tests for new byte_test functionality that permits a variable name
to be used for nbytes.
--- /dev/null
+Simple DNS match with byte extract variable used by byte test.
--- /dev/null
+alert dns any any -> any any (msg:"byte_test varname test sig"; byte_extract:1,5,rpkt_len; byte_test:rpkt_len,=,0x01,5, bitmask 0xFF; sid:1;)
--- /dev/null
+requires:
+ min-version: 7
+
+args:
+- --set stream.midstream=true
+
+checks:
+- filter:
+ count: 1
+ match:
+ event_type: dns
+- filter:
+ count: 1
+ match:
+ event_type: alert
+ alert.signature_id: 1
--- /dev/null
+#!/usr/bin/env python
+from scapy.all import *
+
+pkts = []
+
+data = ('\x38\x35\x01\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x01\x00')
+
+pkts += Ether(dst='ff:ff:ff:ff:ff:ff', src='00:01:02:03:04:05')/ \
+ Dot1Q(vlan=6)/ \
+ IP(dst='1.2.3.4', src='5.6.7.8')/UDP(dport=53)/Raw(load=data)
+
+wrpcap('input.pcap', pkts)
--- /dev/null
+alert dns any any -> any any (msg:"byte_test invalid varname test sig"; byte_extract:1,5,rpkt_len; byte_test:no_var,=,0x01,5,bitmask 0xFF; sid:1;)
--- /dev/null
+requires:
+ min-version: 7
+
+args:
+- --set stream.midstream=true
+
+pcap: ../detect-bytetest-04/input.pcap
+
+checks:
+ - shell:
+ args: grep "Unknown byte_extract var seen in byte_test - no_var" suricata.log | wc -l | xargs
+ expect: 1
+
+exit-code: 1