diff options
author | Ivan Nardi <12729895+IvanNardi@users.noreply.github.com> | 2021-10-03 21:38:49 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-10-03 21:38:49 +0200 |
commit | bc5be1e76cd8b3d6733f66bffe346486de89b8a0 (patch) | |
tree | 385115ff1b786fddb0e0ed3afe6805b0ddb6f51c /src/lib/protocols/tinc.c | |
parent | e84da386c791caf79bbcf9b46357703c946473d9 (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/tinc.c')
-rw-r--r-- | src/lib/protocols/tinc.c | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/src/lib/protocols/tinc.c b/src/lib/protocols/tinc.c index b661ad251..0adfbebd5 100644 --- a/src/lib/protocols/tinc.c +++ b/src/lib/protocols/tinc.c @@ -129,14 +129,10 @@ static void ndpi_check_tinc(struct ndpi_detection_module_struct *ndpi_struct, st } void ndpi_search_tinc(struct ndpi_detection_module_struct* ndpi_struct, struct ndpi_flow_struct* flow) { - struct ndpi_packet_struct* packet = &flow->packet; - NDPI_LOG_DBG(ndpi_struct, "tinc detection\n"); if(flow->detected_protocol_stack[0] != NDPI_PROTOCOL_TINC) { - if(packet->tcp_retransmission == 0) { - ndpi_check_tinc(ndpi_struct, flow); - } + ndpi_check_tinc(ndpi_struct, flow); } } @@ -145,7 +141,7 @@ void init_tinc_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int ndpi_set_bitmask_protocol_detection("TINC", ndpi_struct, detection_bitmask, *id, NDPI_PROTOCOL_TINC, ndpi_search_tinc, - NDPI_SELECTION_BITMASK_PROTOCOL_TCP_OR_UDP, + NDPI_SELECTION_BITMASK_PROTOCOL_TCP_OR_UDP_WITHOUT_RETRANSMISSION, SAVE_DETECTION_BITMASK_AS_UNKNOWN, ADD_TO_DETECTION_BITMASK); |