aboutsummaryrefslogtreecommitdiff
path: root/src/lib/protocols/skype.c
diff options
context:
space:
mode:
authorLuca Deri <deri@ntop.org>2019-10-27 12:23:57 +0100
committerLuca Deri <deri@ntop.org>2019-10-27 12:23:57 +0100
commit64804a2a24b0a7bfdca3b3262d184048990ad0d6 (patch)
tree9f5cb56946de0c25599511fb5f574e8af96a4500 /src/lib/protocols/skype.c
parentb603cb453069708a5e9e9f54312f25d889fd7232 (diff)
Fixed some false positivies with skype and stun-based protocols
Diffstat (limited to 'src/lib/protocols/skype.c')
-rw-r--r--src/lib/protocols/skype.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/lib/protocols/skype.c b/src/lib/protocols/skype.c
index 8ada5d997..890a20cb9 100644
--- a/src/lib/protocols/skype.c
+++ b/src/lib/protocols/skype.c
@@ -32,11 +32,17 @@ static void ndpi_check_skype(struct ndpi_detection_module_struct *ndpi_struct, s
// const u_int8_t *packet_payload = packet->payload;
u_int32_t payload_len = packet->payload_packet_len;
- if(flow->host_server_name[0] != '\0')
+ /* No need to do ntohl() with 0xFFFFFFFF */
+ if(packet->iph && (packet->iph->daddr == 0xFFFFFFFF /* 255.255.255.255 */)) {
+ NDPI_EXCLUDE_PROTO(ndpi_struct, flow);
return;
+ }
+ if(flow->host_server_name[0] != '\0')
+ return;
+
// UDP check
- if(packet->udp != NULL) {
+ if(packet->udp != NULL) {
flow->l4.udp.skype_packet_id++;
if(flow->l4.udp.skype_packet_id < 5) {