diff options
author | Luca <deri@ntop.org> | 2016-01-21 13:25:55 +0100 |
---|---|---|
committer | Luca <deri@ntop.org> | 2016-01-21 13:25:55 +0100 |
commit | bc48b770de2afc7383e924eb5fb819ad6c4fcfa2 (patch) | |
tree | eef2da6193f3d5975bd7b33efd4205ac47f83607 /src/lib/protocols/dns.c | |
parent | 0f3222e48946ee20e6de22cbe744ff7a84198dae (diff) |
Added ndpi_automa_match_string_subprotocol call
Fixed DNS dissector decoding bug
Diffstat (limited to 'src/lib/protocols/dns.c')
-rw-r--r-- | src/lib/protocols/dns.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/lib/protocols/dns.c b/src/lib/protocols/dns.c index 9f9bb243b..8749f4d5e 100644 --- a/src/lib/protocols/dns.c +++ b/src/lib/protocols/dns.c @@ -72,10 +72,10 @@ void ndpi_search_dns(struct ndpi_detection_module_struct *ndpi_struct, struct nd /* 0x0000 QUERY */ if((dns_header->flags & FLAGS_MASK) == 0x0000) - is_query = 0; + is_query = 1; /* 0x8000 RESPONSE */ else if((dns_header->flags & FLAGS_MASK) != 0x8000) - is_query = 1; + is_query = 0; else invalid = 1; @@ -89,7 +89,7 @@ void ndpi_search_dns(struct ndpi_detection_module_struct *ndpi_struct, struct nd invalid = 1; } else { /* DNS Reply */ - if((dns_header->num_queries <= NDPI_MAX_DNS_REQUESTS) /* Don't assume that num_queries must be zero */ + if((dns_header->num_queries > 0) && (dns_header->num_queries <= NDPI_MAX_DNS_REQUESTS) /* Don't assume that num_queries must be zero */ && (((dns_header->num_answers > 0) && (dns_header->num_answers <= NDPI_MAX_DNS_REQUESTS)) || ((dns_header->authority_rrs > 0) && (dns_header->authority_rrs <= NDPI_MAX_DNS_REQUESTS)) || ((dns_header->additional_rrs > 0) && (dns_header->additional_rrs <= NDPI_MAX_DNS_REQUESTS))) |