]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
add a 'wants DNSSEC' metric to recursor
authorbert hubert <bert.hubert@netherlabs.nl>
Wed, 2 Mar 2016 12:02:58 +0000 (13:02 +0100)
committerbert hubert <bert.hubert@netherlabs.nl>
Wed, 2 Mar 2016 12:02:58 +0000 (13:02 +0100)
pdns/dnsrecords.cc
pdns/pdns_recursor.cc
pdns/rec_channel_rec.cc
pdns/syncres.hh

index a2775bdbea8a4f8a9ba55cd58085905965b4a852..cce6ab714b415ccde8579836a761b4fdea521972 100644 (file)
@@ -508,6 +508,7 @@ uint16_t DNSKEYRecordContent::getTag()
 
 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) {
index 4f6f021aba8366c14267d820c7da006375006936..00887eac1a6892d18ab0d677ce0821ce1be8d39c 100644 (file)
@@ -634,8 +634,10 @@ void startDoResolve(void *p)
       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;
@@ -857,7 +859,6 @@ void startDoResolve(void *p)
     }
   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) {
index e1f7a4130a1982924c0053f3ec8f8d173e8119ad..835ca5e5f00c7005c12d3c86f10d59ade217b119 100644 (file)
@@ -624,6 +624,7 @@ RecursorControlParser::RecursorControlParser()
 
   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);
index 9cc243b659445050ad7c067f622b01b1598e18f2..b5bc2f9135c30db6cda09ea32458307a088b1b0d 100644 (file)
@@ -596,6 +596,7 @@ struct RecursorStats
   uint64_t noPacketError;
   uint64_t ignoredCount;
   time_t startupTime;
+  uint64_t dnssecQueries;
   unsigned int maxMThreadStackUsage;
 };