diff options
author | Ivan Nardi <12729895+IvanNardi@users.noreply.github.com> | 2022-12-10 19:49:11 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-12-10 19:49:11 +0100 |
commit | 48a7f6d487862a392bad65e9e2797e6c4874f8cb (patch) | |
tree | 62c6421f4286cab37d9f053f7e86cca77b3d8146 /src/lib/protocols/dns.c | |
parent | 8c7071e040865b3b70b98ff8d8ad18c41f3fb74c (diff) |
fuzz: some enhancements (#1827)
Load some custom configuration (like in the unit tests) and factorize some
(fuzzing) common code.
There is no way to pass file paths to the fuzzers as parameters. The safe
solution seems to be to load them from the process working dir. Anyway,
missing file is not a blocking error.
Remove some dead code (found looking at the coverage report)
Diffstat (limited to 'src/lib/protocols/dns.c')
-rw-r--r-- | src/lib/protocols/dns.c | 9 |
1 files changed, 1 insertions, 8 deletions
diff --git a/src/lib/protocols/dns.c b/src/lib/protocols/dns.c index ff0ac846a..1de7d28f9 100644 --- a/src/lib/protocols/dns.c +++ b/src/lib/protocols/dns.c @@ -238,12 +238,8 @@ static int search_valid_dns(struct ndpi_detection_module_struct *ndpi_struct, if((dns_header->flags & FLAGS_MASK) == 0x0000) *is_query = 1; /* 0x8000 RESPONSE */ - else if((dns_header->flags & FLAGS_MASK) == 0x8000) + else *is_query = 0; - else { - ndpi_set_risk(ndpi_struct, flow, NDPI_MALFORMED_PACKET, "Invalid DNS Flags"); - return(1 /* invalid */); - } if(*is_query) { /* DNS Request */ @@ -448,9 +444,6 @@ static void ndpi_search_dns(struct ndpi_detection_module_struct *ndpi_struct, st s_port = ntohs(packet->tcp->source); d_port = ntohs(packet->tcp->dest); payload_offset = 2; - } else { - NDPI_EXCLUDE_PROTO(ndpi_struct, flow); - return; } if(((s_port == DNS_PORT) || (d_port == DNS_PORT) |