]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
Flow/Stream: set psuedopacket iface/vlan from flow
authorBendik Hagen <bendik@mnemonic.no>
Thu, 31 Jan 2019 21:43:58 +0000 (22:43 +0100)
committerVictor Julien <victor@inliniac.net>
Tue, 23 Apr 2019 07:55:17 +0000 (09:55 +0200)
This fixes redmine bug #2057 by setting pseudopacket iface and vlan from
flow values, solving the problem of missing vlan/iface when psuedopacket
gets logged/alerted on.

src/flow-timeout.c
src/stream-tcp.c

index 4fde34b952cddef5889d6023e3f8b948a1e93cdb..2619fdf56da5b612b18e6fcb4676445df06b0230 100644 (file)
@@ -88,6 +88,10 @@ static inline Packet *FlowForceReassemblyPseudoPacketSetup(Packet *p,
     p->flags |= PKT_STREAM_EOF;
     p->flags |= PKT_HAS_FLOW;
     p->flags |= PKT_PSEUDO_STREAM_END;
+    p->vlan_id[0] = f->vlan_id[0];
+    p->vlan_id[1] = f->vlan_id[1];
+    p->vlan_idx = f->vlan_idx;
+    p->livedev = (struct LiveDevice_ *)f->livedev;
 
     if (f->flags & FLOW_NOPACKET_INSPECTION) {
         DecodeSetNoPacketInspectionFlag(p);
@@ -469,4 +473,3 @@ void FlowForceReassembly(void)
     FlowForceReassemblyForHash();
     return;
 }
-
index 7c0ff47021b840f8333fb6e0d1afab86d8cae713..119d278104361ef181648c4df80ef1f8229359d8 100644 (file)
@@ -6042,6 +6042,10 @@ static void StreamTcpPseudoPacketCreateDetectLogFlush(ThreadVars *tv,
     np->flags |= PKT_HAS_FLOW;
     np->flags |= PKT_IGNORE_CHECKSUM;
     np->flags |= PKT_PSEUDO_DETECTLOG_FLUSH;
+    np->vlan_id[0] = f->vlan_id[0];
+    np->vlan_id[1] = f->vlan_id[1];
+    np->vlan_idx = f->vlan_idx;
+    np->livedev = (struct LiveDevice_ *)f->livedev;
 
     if (f->flags & FLOW_NOPACKET_INSPECTION) {
         DecodeSetNoPacketInspectionFlag(np);
@@ -10835,4 +10839,3 @@ void StreamTcpRegisterTests (void)
     StreamTcpSackRegisterTests ();
 #endif /* UNITTESTS */
 }
-