diff options
author | Ivan Nardi <12729895+IvanNardi@users.noreply.github.com> | 2021-11-23 10:57:13 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-11-23 10:57:13 +0100 |
commit | fd02e1b3043eecc5711eb8254aadaa3f43ca7503 (patch) | |
tree | d52a52712d9d4979e5addd4e70814769c48db756 | |
parent | 4c39ed293e03c59af9d69a412107d41b00ebc21d (diff) |
QUIC: fix extra dissection (#1376)
When we have fully reassembled the Client Hello, we need to stop extra
dissection.
-rw-r--r-- | src/lib/protocols/quic.c | 5 | ||||
-rw-r--r-- | tests/result/quic_frags_ch_in_multiple_packets.pcapng.out | 4 |
2 files changed, 6 insertions, 3 deletions
diff --git a/src/lib/protocols/quic.c b/src/lib/protocols/quic.c index f908dc58c..358edb064 100644 --- a/src/lib/protocols/quic.c +++ b/src/lib/protocols/quic.c @@ -1541,7 +1541,10 @@ static int ndpi_search_quic_extra(struct ndpi_detection_module_struct *ndpi_stru if (is_ch_reassembler_pending(flow)) { ndpi_search_quic(ndpi_struct, flow); - return is_ch_reassembler_pending(flow); + if(is_ch_reassembler_pending(flow)) + return 1; + flow->extra_packets_func = NULL; + return 0; } /* RTP/RTCP stuff */ diff --git a/tests/result/quic_frags_ch_in_multiple_packets.pcapng.out b/tests/result/quic_frags_ch_in_multiple_packets.pcapng.out index 2c5e1c1bf..852933034 100644 --- a/tests/result/quic_frags_ch_in_multiple_packets.pcapng.out +++ b/tests/result/quic_frags_ch_in_multiple_packets.pcapng.out @@ -1,6 +1,6 @@ -Guessed flow protos: 1 +Guessed flow protos: 0 -DPI Packets (UDP): 4 (4.00 pkts/flow) +DPI Packets (UDP): 2 (2.00 pkts/flow) QUIC 4 3998 1 |