]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
bypass: really bypass udp flow from first packet
authorPhilippe Antoine <pantoine@oisf.net>
Thu, 30 May 2024 07:56:43 +0000 (09:56 +0200)
committerVictor Julien <victor@inliniac.net>
Sun, 7 Jul 2024 05:10:41 +0000 (07:10 +0200)
Ticket: 7053

As flow state would be overwritten by established...

(cherry picked from commit df5dcfef5f1d974779e653d2d1d8b3b5d83dc6fc)

src/flow.c

index b61823efd0ee07e129fa46a7d38e7bde50506677..9e910c4f05f920225de3080d47ee51ef41c2d836 100644 (file)
@@ -507,7 +507,13 @@ void FlowHandlePacketUpdate(Flow *f, Packet *p, ThreadVars *tv, DecodeThreadVars
         SCLogDebug("pkt %p FLOW_PKT_ESTABLISHED", p);
         p->flowflags |= FLOW_PKT_ESTABLISHED;
 
-        FlowUpdateState(f, FLOW_STATE_ESTABLISHED);
+        if (
+#ifdef CAPTURE_OFFLOAD
+                (f->flow_state != FLOW_STATE_CAPTURE_BYPASSED) &&
+#endif
+                (f->flow_state != FLOW_STATE_LOCAL_BYPASSED)) {
+            FlowUpdateState(f, FLOW_STATE_ESTABLISHED);
+        }
     }
 
     if (f->flags & FLOW_ACTION_DROP) {