From 7c788f0779c017f17110bff90da5467dece85638 Mon Sep 17 00:00:00 2001 From: Luca Deri Date: Fri, 27 Sep 2019 13:42:41 +0200 Subject: Fixed partial string matches --- src/lib/protocols/dns.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'src/lib/protocols') diff --git a/src/lib/protocols/dns.c b/src/lib/protocols/dns.c index b3df9b466..4a11edb84 100644 --- a/src/lib/protocols/dns.c +++ b/src/lib/protocols/dns.c @@ -263,12 +263,14 @@ void ndpi_search_dns(struct ndpi_detection_module_struct *ndpi_struct, struct nd if(j > 0) { ndpi_protocol_match_result ret_match; - - ndpi_match_host_subprotocol(ndpi_struct, flow, - (char *)flow->host_server_name, - strlen((const char*)flow->host_server_name), - &ret_match, - NDPI_PROTOCOL_DNS); + u_int32_t subproto = ndpi_match_host_subprotocol(ndpi_struct, flow, + (char *)flow->host_server_name, + strlen((const char*)flow->host_server_name), + &ret_match, + NDPI_PROTOCOL_DNS); + + if(ret_match.protocol_category != NDPI_PROTOCOL_CATEGORY_UNSPECIFIED) + flow->category = ret_match.protocol_category; } #ifdef DNS_DEBUG -- cgit v1.2.3