From bc5be1e76cd8b3d6733f66bffe346486de89b8a0 Mon Sep 17 00:00:00 2001 From: Ivan Nardi <12729895+IvanNardi@users.noreply.github.com> Date: Sun, 3 Oct 2021 21:38:49 +0200 Subject: Fix how some protocols handle tcp retransmissions (#1321) Most (all?) protocols don't care about (tcp) retransmissions. If a protocol registers itself with a NDPI_SELECTION_BITMASK_PROTOCOL_*_WITHOUT_RETRANSMISSION value, its callback is never triggered with a retransmitted packet. --- src/lib/protocols/socks45.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) (limited to 'src/lib/protocols/socks45.c') diff --git a/src/lib/protocols/socks45.c b/src/lib/protocols/socks45.c index 29594d093..a39d8da47 100644 --- a/src/lib/protocols/socks45.c +++ b/src/lib/protocols/socks45.c @@ -119,18 +119,14 @@ static void ndpi_check_socks5(struct ndpi_detection_module_struct *ndpi_struct, void ndpi_search_socks(struct ndpi_detection_module_struct *ndpi_struct, struct ndpi_flow_struct *flow) { - struct ndpi_packet_struct *packet = &flow->packet; - NDPI_LOG_DBG(ndpi_struct, "search SOCKS\n"); /* skip marked packets */ if(flow->detected_protocol_stack[0] != NDPI_PROTOCOL_SOCKS) { - if(packet->tcp_retransmission == 0) { - ndpi_check_socks4(ndpi_struct, flow); + ndpi_check_socks4(ndpi_struct, flow); - if(flow->detected_protocol_stack[0] != NDPI_PROTOCOL_SOCKS) - ndpi_check_socks5(ndpi_struct, flow); - } + if(flow->detected_protocol_stack[0] != NDPI_PROTOCOL_SOCKS) + ndpi_check_socks5(ndpi_struct, flow); } } -- cgit v1.2.3