aboutsummaryrefslogtreecommitdiff
path: root/src/lib/protocols/skype.c
diff options
context:
space:
mode:
authorLuca <deri@ntop.org>2018-11-29 08:44:41 +0100
committerLuca <deri@ntop.org>2018-11-29 08:44:41 +0100
commitc09284ba276a3caf9dd4a8d9440e35e2808d5551 (patch)
tree9b5b82ceca28b6f89ef37f73069e2c624cee1fca /src/lib/protocols/skype.c
parent622519e90ec2327ce8507783fb3858397bd42c07 (diff)
Improved heuristics
Used the host guessed protocol if upper protocol has not been detected
Diffstat (limited to 'src/lib/protocols/skype.c')
-rw-r--r--src/lib/protocols/skype.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/lib/protocols/skype.c b/src/lib/protocols/skype.c
index faeac17c5..0f5e8c780 100644
--- a/src/lib/protocols/skype.c
+++ b/src/lib/protocols/skype.c
@@ -72,7 +72,10 @@ static void ndpi_check_skype(struct ndpi_detection_module_struct *ndpi_struct, s
NDPI_EXCLUDE_PROTO(ndpi_struct, flow);
return;
// TCP check
- } else if(packet->tcp != NULL) {
+ } else if((packet->tcp != NULL)
+ /* As the TCP skype heuristic is weak, we need to make sure no other protocols overlap */
+ && (flow->guessed_host_protocol_id == NDPI_PROTOCOL_UNKNOWN)
+ && (flow->guessed_protocol_id == NDPI_PROTOCOL_UNKNOWN)) {
flow->l4.tcp.skype_packet_id++;
if(flow->l4.tcp.skype_packet_id < 3) {