aboutsummaryrefslogtreecommitdiff
path: root/src/lib/protocols/socks45.c
diff options
context:
space:
mode:
authorIvan Nardi <12729895+IvanNardi@users.noreply.github.com>2021-10-03 21:38:49 +0200
committerGitHub <noreply@github.com>2021-10-03 21:38:49 +0200
commitbc5be1e76cd8b3d6733f66bffe346486de89b8a0 (patch)
tree385115ff1b786fddb0e0ed3afe6805b0ddb6f51c /src/lib/protocols/socks45.c
parente84da386c791caf79bbcf9b46357703c946473d9 (diff)
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.
Diffstat (limited to 'src/lib/protocols/socks45.c')
-rw-r--r--src/lib/protocols/socks45.c10
1 files changed, 3 insertions, 7 deletions
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);
}
}