From fc2824a9f7885e4fa9dc207e30c1749d812e4df6 Mon Sep 17 00:00:00 2001 From: Jason Ish Date: Sun, 22 Dec 2024 10:46:28 -0600 Subject: [PATCH] qa: fix suricatasc path --- .github/workflows/live/afp-ids.sh | 37 +++++++++++++++------------ .github/workflows/live/dpdk.sh | 11 +++++--- .github/workflows/live/pcap.sh | 42 ++++++++++++++++++------------- qa/unix.sh | 3 ++- 4 files changed, 55 insertions(+), 38 deletions(-) diff --git a/.github/workflows/live/afp-ids.sh b/.github/workflows/live/afp-ids.sh index 2af91572bb..5cb79b065b 100755 --- a/.github/workflows/live/afp-ids.sh +++ b/.github/workflows/live/afp-ids.sh @@ -28,9 +28,14 @@ if [ -f eve.json ]; then rm eve.json fi +if [ -e ./rust/target/release/suricatasc ]; then + SURICATASC=./rust/target/release/suricatasc +else + SURICATASC=./rust/target/debug/suricatasc +fi + RES=0 -export PYTHONPATH=python/ # Get listen interface and "ping" target address IFACE=$(ip r|grep default|awk '{print $5}') echo $IFACE @@ -75,7 +80,7 @@ if [ $CHECK -ne 1 ]; then echo "ERROR alerts count off for sid 222 (datasets)" RES=1 fi -JSON=$(python3 python/bin/suricatasc -v -c "dataset-clear ipv4-list ipv4" /var/run/suricata/suricata-command.socket) +JSON=$(${SURICATASC} -v -c "dataset-clear ipv4-list ipv4" /var/run/suricata/suricata-command.socket) echo $JSON sleep 5 @@ -91,41 +96,41 @@ echo "SURIPID $SURIPID PINGPID $PINGPID" cp .github/workflows/live/icmp2.rules suricata.rules # trigger the reload -JSON=$(python3 python/bin/suricatasc -c "iface-list" /var/run/suricata/suricata-command.socket) +JSON=$(${SURICATASC} -c "iface-list" /var/run/suricata/suricata-command.socket) PIFACE=$(echo $JSON | jq -r .message.ifaces[0]) -JSON=$(python3 python/bin/suricatasc -c "iface-stat $PIFACE") +JSON=$(${SURICATASC} -c "iface-stat $PIFACE") STATSCHECK=$(echo $JSON | jq '.message.pkts > 0') if [ $STATSCHECK = false ]; then echo "ERROR unix socket stats check failed" RES=1 fi -python3 python/bin/suricatasc -c "reload-rules" /var/run/suricata/suricata-command.socket +${SURICATASC} -c "reload-rules" /var/run/suricata/suricata-command.socket -JSON=$(python3 python/bin/suricatasc -c "iface-bypassed-stat" /var/run/suricata/suricata-command.socket) +JSON=$(${SURICATASC} -c "iface-bypassed-stat" /var/run/suricata/suricata-command.socket) echo $JSON -JSON=$(python3 python/bin/suricatasc -c "capture-mode" /var/run/suricata/suricata-command.socket) +JSON=$(${SURICATASC} -c "capture-mode" /var/run/suricata/suricata-command.socket) if [ "$(echo $JSON | jq -r .message)" != "AF_PACKET_DEV" ]; then echo "ERROR unix socket capture mode check failed" RES=1 fi -JSON=$(python3 python/bin/suricatasc -c "dump-counters" /var/run/suricata/suricata-command.socket) +JSON=$(${SURICATASC} -c "dump-counters" /var/run/suricata/suricata-command.socket) STATSCHECK=$(echo $JSON | jq '.message.uptime >= 15') if [ $STATSCHECK = false ]; then echo "ERROR unix socket dump-counters uptime check failed" RES=1 fi -JSON=$(python3 python/bin/suricatasc -c "memcap-list" /var/run/suricata/suricata-command.socket) +JSON=$(${SURICATASC} -c "memcap-list" /var/run/suricata/suricata-command.socket) echo $JSON -JSON=$(python3 python/bin/suricatasc -c "running-mode" /var/run/suricata/suricata-command.socket) +JSON=$(${SURICATASC} -c "running-mode" /var/run/suricata/suricata-command.socket) echo $JSON if [ "$(echo $JSON | jq -r .message)" != "$RUNMODE" ]; then echo "ERROR unix socket runmode check failed" RES=1 fi -JSON=$(python3 python/bin/suricatasc -c "version" /var/run/suricata/suricata-command.socket) +JSON=$(${SURICATASC} -c "version" /var/run/suricata/suricata-command.socket) echo $JSON -JSON=$(python3 python/bin/suricatasc -c "uptime" /var/run/suricata/suricata-command.socket) +JSON=$(${SURICATASC} -c "uptime" /var/run/suricata/suricata-command.socket) echo $JSON STATSCHECK=$(echo $JSON | jq '.message >= 15') if [ $STATSCHECK = false ]; then @@ -133,7 +138,7 @@ if [ $STATSCHECK = false ]; then RES=1 fi sleep 15 -JSON=$(python3 python/bin/suricatasc -c "add-hostbit $GW test 60" /var/run/suricata/suricata-command.socket) +JSON=$(${SURICATASC} -c "add-hostbit $GW test 60" /var/run/suricata/suricata-command.socket) echo $JSON sleep 15 @@ -148,17 +153,17 @@ if [ $SID2CHECK = false ]; then echo "ERROR no alerts for sid 2" RES=1 fi -JSON=$(python3 python/bin/suricatasc -c "list-hostbit $GW" /var/run/suricata/suricata-command.socket) +JSON=$(${SURICATASC} -c "list-hostbit $GW" /var/run/suricata/suricata-command.socket) CHECK=$(echo $JSON|jq -r .message.hostbits[0].name) if [ "$CHECK" != "test" ]; then echo "ERROR hostbit listing failed" RES=1 fi -JSON=$(python3 python/bin/suricatasc -c "remove-hostbit $GW test" /var/run/suricata/suricata-command.socket) +JSON=$(${SURICATASC} -c "remove-hostbit $GW test" /var/run/suricata/suricata-command.socket) kill -INT $PINGPID wait $PINGPID -python3 python/bin/suricatasc -c "shutdown" /var/run/suricata/suricata-command.socket +${SURICATASC} -c "shutdown" /var/run/suricata/suricata-command.socket wait $SURIPID echo "done: $RES" diff --git a/.github/workflows/live/dpdk.sh b/.github/workflows/live/dpdk.sh index fab36cb0c1..f11a69631b 100755 --- a/.github/workflows/live/dpdk.sh +++ b/.github/workflows/live/dpdk.sh @@ -21,6 +21,12 @@ if [ -f eve.json ]; then rm eve.json fi +if [ -e ./rust/target/release/suricatasc ]; then + SURICATASC=./rust/target/release/suricatasc +else + SURICATASC=./rust/target/debug/suricatasc +fi + RES=0 # set first rule file @@ -47,8 +53,7 @@ echo "SURIPID $SURIPID" cp .github/workflows/live/icmp2.rules suricata.rules # trigger the reload -export PYTHONPATH=python/ -python3 python/bin/suricatasc -c "reload-rules" /var/run/suricata/suricata-command.socket +${SURICATASC} -c "reload-rules" /var/run/suricata/suricata-command.socket sleep 15 @@ -59,7 +64,7 @@ if [ $STATSCHECK = false ]; then RES=1 fi -python3 python/bin/suricatasc -c "shutdown" /var/run/suricata/suricata-command.socket +${SURICATASC} -c "shutdown" /var/run/suricata/suricata-command.socket wait $SURIPID echo "done: $RES" diff --git a/.github/workflows/live/pcap.sh b/.github/workflows/live/pcap.sh index 24119d8af6..f671e5bb50 100755 --- a/.github/workflows/live/pcap.sh +++ b/.github/workflows/live/pcap.sh @@ -26,6 +26,12 @@ if [ -f eve.json ]; then rm eve.json fi +if [ -e ./rust/target/release/suricatasc ]; then + SURICATASC=./rust/target/release/suricatasc +else + SURICATASC=./rust/target/debug/suricatasc +fi + RES=0 export PYTHONPATH=python/ @@ -65,7 +71,7 @@ if [ $CHECK -ne 1 ]; then echo "ERROR alerts count off for sid 222 (datasets)" RES=1 fi -JSON=$(python3 python/bin/suricatasc -v -c "dataset-clear ipv4-list ipv4" /var/run/suricata/suricata-command.socket) +JSON=$(${SURICATASC} -v -c "dataset-clear ipv4-list ipv4" /var/run/suricata/suricata-command.socket) echo $JSON sleep 5 @@ -75,7 +81,7 @@ if [ $CHECK -ne 2 ]; then RES=1 fi -JSON=$(python3 python/bin/suricatasc -c "dataset-add ipv6-list ip 192.168.1.1" /var/run/suricata/suricata-command.socket) +JSON=$(${SURICATASC} -c "dataset-add ipv6-list ip 192.168.1.1" /var/run/suricata/suricata-command.socket) echo $JSON if [ "$(echo $JSON | jq -r .message)" != "data added" ]; then echo "ERROR unix socket dataset add failed" @@ -83,7 +89,7 @@ if [ "$(echo $JSON | jq -r .message)" != "data added" ]; then fi # look it up in IPv4 in IPv6 notation -JSON=$(python3 python/bin/suricatasc -c "dataset-lookup ipv6-list ip ::ffff:c0a8:0101" /var/run/suricata/suricata-command.socket) +JSON=$(${SURICATASC} -c "dataset-lookup ipv6-list ip ::ffff:c0a8:0101" /var/run/suricata/suricata-command.socket) echo $JSON if [ "$(echo $JSON | jq -r .message)" != "item found in set" ]; then echo "ERROR unix socket dataset lookup failed" @@ -91,7 +97,7 @@ if [ "$(echo $JSON | jq -r .message)" != "item found in set" ]; then fi # fail to add junk -JSON=$(python3 python/bin/suricatasc -c "dataset-add ipv6-list ip ::ffff:c0a8:0z0z" /var/run/suricata/suricata-command.socket) +JSON=$(${SURICATASC} -c "dataset-add ipv6-list ip ::ffff:c0a8:0z0z" /var/run/suricata/suricata-command.socket) echo $JSON if [ "$(echo $JSON | jq -r .message)" != "failed to add data" ]; then echo "ERROR unix socket dataset added junk" @@ -104,41 +110,41 @@ echo "SURIPID $SURIPID PINGPID $PINGPID" cp .github/workflows/live/icmp2.rules suricata.rules # trigger the reload -JSON=$(python3 python/bin/suricatasc -c "iface-list" /var/run/suricata/suricata-command.socket) +JSON=$(${SURICATASC} -c "iface-list" /var/run/suricata/suricata-command.socket) PIFACE=$(echo $JSON | jq -r .message.ifaces[0]) -JSON=$(python3 python/bin/suricatasc -c "iface-stat $PIFACE") +JSON=$(${SURICATASC} -c "iface-stat $PIFACE") STATSCHECK=$(echo $JSON | jq '.message.pkts > 0') if [ $STATSCHECK = false ]; then echo "ERROR unix socket stats check failed" RES=1 fi -python3 python/bin/suricatasc -c "reload-rules" /var/run/suricata/suricata-command.socket +${SURICATASC} -c "reload-rules" /var/run/suricata/suricata-command.socket -JSON=$(python3 python/bin/suricatasc -c "iface-bypassed-stat" /var/run/suricata/suricata-command.socket) +JSON=$(${SURICATASC} -c "iface-bypassed-stat" /var/run/suricata/suricata-command.socket) echo $JSON -JSON=$(python3 python/bin/suricatasc -c "capture-mode" /var/run/suricata/suricata-command.socket) +JSON=$(${SURICATASC} -c "capture-mode" /var/run/suricata/suricata-command.socket) if [ "$(echo $JSON | jq -r .message)" != "PCAP_DEV" ]; then echo "ERROR unix socket capture mode check failed" RES=1 fi -JSON=$(python3 python/bin/suricatasc -c "dump-counters" /var/run/suricata/suricata-command.socket) +JSON=$(${SURICATASC} -c "dump-counters" /var/run/suricata/suricata-command.socket) STATSCHECK=$(echo $JSON | jq '.message.uptime >= 15') if [ $STATSCHECK = false ]; then echo "ERROR unix socket dump-counters uptime check failed" RES=1 fi -JSON=$(python3 python/bin/suricatasc -c "memcap-list" /var/run/suricata/suricata-command.socket) +JSON=$(${SURICATASC} -c "memcap-list" /var/run/suricata/suricata-command.socket) echo $JSON -JSON=$(python3 python/bin/suricatasc -c "running-mode" /var/run/suricata/suricata-command.socket) +JSON=$(${SURICATASC} -c "running-mode" /var/run/suricata/suricata-command.socket) echo $JSON if [ "$(echo $JSON | jq -r .message)" != "$RUNMODE" ]; then echo "ERROR unix socket runmode check failed" RES=1 fi -JSON=$(python3 python/bin/suricatasc -c "version" /var/run/suricata/suricata-command.socket) +JSON=$(${SURICATASC} -c "version" /var/run/suricata/suricata-command.socket) echo $JSON -JSON=$(python3 python/bin/suricatasc -c "uptime" /var/run/suricata/suricata-command.socket) +JSON=$(${SURICATASC} -c "uptime" /var/run/suricata/suricata-command.socket) echo $JSON STATSCHECK=$(echo $JSON | jq '.message >= 15') if [ $STATSCHECK = false ]; then @@ -146,7 +152,7 @@ if [ $STATSCHECK = false ]; then RES=1 fi sleep 15 -JSON=$(python3 python/bin/suricatasc -c "add-hostbit $GW test 60" /var/run/suricata/suricata-command.socket) +JSON=$(${SURICATASC} -c "add-hostbit $GW test 60" /var/run/suricata/suricata-command.socket) echo $JSON sleep 15 @@ -161,17 +167,17 @@ if [ $SID2CHECK = false ]; then echo "ERROR no alerts for sid 2" RES=1 fi -JSON=$(python3 python/bin/suricatasc -c "list-hostbit $GW" /var/run/suricata/suricata-command.socket) +JSON=$(${SURICATASC} -c "list-hostbit $GW" /var/run/suricata/suricata-command.socket) CHECK=$(echo $JSON|jq -r .message.hostbits[0].name) if [ "$CHECK" != "test" ]; then echo "ERROR hostbit listing failed" RES=1 fi -JSON=$(python3 python/bin/suricatasc -c "remove-hostbit $GW test" /var/run/suricata/suricata-command.socket) +JSON=$(${SURICATASC} -c "remove-hostbit $GW test" /var/run/suricata/suricata-command.socket) kill -INT $PINGPID wait $PINGPID -python3 python/bin/suricatasc -c "shutdown" /var/run/suricata/suricata-command.socket +${SURICATASC} -c "shutdown" /var/run/suricata/suricata-command.socket wait $SURIPID echo "done: $RES" diff --git a/qa/unix.sh b/qa/unix.sh index deb6a9de79..15aa16c9c3 100755 --- a/qa/unix.sh +++ b/qa/unix.sh @@ -20,7 +20,8 @@ VERBOSE="" UnixCommand () { COMMAND=$1 - PYTHONPATH=python/ python3 python/bin/suricatasc -c "${COMMAND}" ${USOCKET} + #PYTHONPATH=python/ python3 python/bin/suricatasc -c "${COMMAND}" ${USOCKET} + ./rust/target/release/suricatasc -c "${COMMAND}" ${USOCKET} } Start () {