bool getEDNSOpts(const MOADNSParser& mdp, EDNSOpts* eo)
{
+ eo->d_Z=0;
if(mdp.d_header.arcount && !mdp.d_answers.empty()) {
for(const MOADNSParser::answers_t::value_type& val : mdp.d_answers) {
if(val.first.d_place == DNSResourceRecord::ADDITIONAL && val.first.d_type == QType::OPT) {
sr.d_requestor=dc->d_remote;
}
- if(pw.getHeader()->cd || edo.d_Z & EDNSOpts::DNSSECOK)
+ if(pw.getHeader()->cd || edo.d_Z & EDNSOpts::DNSSECOK) {
+ g_stats.dnssecQueries++;
sr.d_doDNSSEC=true;
+ }
bool tracedQuery=false; // we could consider letting Lua know about this too
bool variableAnswer = false;
}
sendit:;
-
g_rs.submitResponse(dc->d_mdp.d_qtype, packet.size(), !dc->d_tcp);
updateResponseStats(res, dc->d_remote, packet.size(), &dc->d_mdp.d_qname, dc->d_mdp.d_qtype);
if(!dc->d_tcp) {
addGetStat("edns-ping-matches", &g_stats.ednsPingMatches);
addGetStat("edns-ping-mismatches", &g_stats.ednsPingMismatches);
+ addGetStat("dnssec-queries", &g_stats.dnssecQueries);
addGetStat("noping-outqueries", &g_stats.noPingOutQueries);
addGetStat("noedns-outqueries", &g_stats.noEdnsOutQueries);
uint64_t noPacketError;
uint64_t ignoredCount;
time_t startupTime;
+ uint64_t dnssecQueries;
unsigned int maxMThreadStackUsage;
};