diff options
author | Luca Deri <deri@ntop.org> | 2021-12-21 23:04:27 +0100 |
---|---|---|
committer | Luca Deri <deri@ntop.org> | 2021-12-21 23:04:27 +0100 |
commit | 4c02c81bf4698ac3350ee8b77eff5e72a0780f06 (patch) | |
tree | 0c907195f0a6cb2dbdbbbd82455be344f40817a3 /src/lib/protocols | |
parent | a16b4aa564fe407e977614011908ca34b7754f4f (diff) |
Improved bittorrent heuristic
Diffstat (limited to 'src/lib/protocols')
-rw-r--r-- | src/lib/protocols/bittorrent.c | 19 |
1 files changed, 5 insertions, 14 deletions
diff --git a/src/lib/protocols/bittorrent.c b/src/lib/protocols/bittorrent.c index 87eac25c5..3087f5216 100644 --- a/src/lib/protocols/bittorrent.c +++ b/src/lib/protocols/bittorrent.c @@ -141,6 +141,11 @@ static void ndpi_add_connection_as_bittorrent(struct ndpi_detection_module_struc ndpi_lru_add_to_cache(ndpi_struct->bittorrent_cache, key1, NDPI_PROTOCOL_BITTORRENT); ndpi_lru_add_to_cache(ndpi_struct->bittorrent_cache, key2, NDPI_PROTOCOL_BITTORRENT); + /* Now add hosts as twins */ + ndpi_lru_add_to_cache(ndpi_struct->bittorrent_cache, + packet->iph->saddr + packet->iph->daddr, + NDPI_PROTOCOL_BITTORRENT); + /* Also add +2 ports of the sender in order to catch additional sockets open by the same client */ for(i=0; i<2; i++) { if(packet->udp) @@ -509,20 +514,6 @@ static void ndpi_search_bittorrent(struct ndpi_detection_module_struct *ndpi_str if(flow->detected_protocol_stack[0] != NDPI_PROTOCOL_BITTORRENT) { /* check for tcp retransmission here */ - -#ifdef EXCLUDE_BITTORRENT_QUICKLY - u_int16_t sport, dport; - - if(packet->udp) - sport = packet->udp->source, dport = packet->udp->dest; - else - sport = packet->tcp->source, dport = packet->tcp->dest; - - if(ndpi_search_into_bittorrent_cache(ndpi_struct, flow, packet->iph->saddr, sport, packet->iph->daddr, dport)) { - ndpi_search_bittorrent_hash(ndpi_struct, flow, -1); - goto bittorrent_found; - } -#endif if(packet->tcp != NULL) { ndpi_int_search_bittorrent_tcp(ndpi_struct, flow); |