qlen = decryptedQueryLen;
}
#endif
+ struct dnsheader* dh = (struct dnsheader*) query;
+
+ if(dh->qr) { // don't respond to responses
+ g_stats.nonCompliantQueries++;
+ goto drop;
+ }
+
+ if(dh->qdcount == 0) {
+ g_stats.emptyQueries++;
+ goto drop;
+ }
uint16_t qtype;
unsigned int consumed = 0;
stat_t queries{0};
stat_t nonCompliantQueries{0};
stat_t rdQueries{0};
+ stat_t emptyQueries{0};
stat_t aclDrops{0};
stat_t blockFilter{0};
stat_t dynBlocked{0};
{"real-memory-usage", getRealMemoryUsage},
{"noncompliant-queries", &nonCompliantQueries},
{"rdqueries", &rdQueries},
+ {"empty-queries", &emptyQueries},
{"cpu-user-msec", getCPUTimeUser},
{"cpu-sys-msec", getCPUTimeSystem},
{"fd-usage", getOpenFileDescriptors}, {"dyn-blocked", &dynBlocked},