]> granicus.if.org Git - pdns/commitdiff
add dont-queries statistic, plus make sure we add :: and 0.0.0.0 to the dontquery...
authorBert Hubert <bert.hubert@netherlabs.nl>
Mon, 14 Jun 2010 18:05:22 +0000 (18:05 +0000)
committerBert Hubert <bert.hubert@netherlabs.nl>
Mon, 14 Jun 2010 18:05:22 +0000 (18:05 +0000)
git-svn-id: svn://svn.powerdns.com/pdns/trunk/pdns@1637 d19b8d6e-7fed-0310-83ef-9ca221ded41b

pdns/pdns_recursor.cc
pdns/rec_channel_rec.cc
pdns/syncres.cc
pdns/syncres.hh

index 3460ac0f799f51e8a9bc470ab98594f7cf46865d..7a373b93a7e1c42ac07cef6f3ccee92ddc31ff43 100644 (file)
@@ -1590,6 +1590,8 @@ int serviceMain(int argc, char*argv[])
     g_dontQuery=new NetmaskGroup;
     vector<string> ips;
     stringtok(ips, ::arg()["dont-query"], ", ");
+    ips.push_back("0.0.0.0");
+    ips.push_back("::");
     L<<Logger::Warning<<"Will not send queries to: ";
     for(vector<string>::const_iterator i = ips.begin(); i!= ips.end(); ++i) {
       g_dontQuery->addMask(*i);
index 7edc81ffa0101e9d3d4a40e2f3d4af22c9602d7c..52dce418f2438ee31b47a82336c97d151d80772e 100644 (file)
@@ -390,6 +390,7 @@ RecursorControlParser::RecursorControlParser()
   addGetStat("all-outqueries", &SyncRes::s_outqueries);
   addGetStat("ipv6-outqueries", &g_stats.ipv6queries);
   addGetStat("throttled-outqueries", &SyncRes::s_throttledqueries);
+  addGetStat("dont-outqueries", &SyncRes::s_dontqueries);
   addGetStat("throttled-out", &SyncRes::s_throttledqueries);
   addGetStat("unreachables", &SyncRes::s_unreachables);
   addGetStat("chain-resends", &g_stats.chainResends);
index 146e21af0726825867bb8ab07992d39036f5a5ab..71878efe5675540ca338186b3d183478f999ab54 100644 (file)
@@ -48,6 +48,7 @@ unsigned int SyncRes::s_outgoingtimeouts;
 unsigned int SyncRes::s_outqueries;
 unsigned int SyncRes::s_tcpoutqueries;
 unsigned int SyncRes::s_throttledqueries;
+unsigned int SyncRes::s_dontqueries;
 unsigned int SyncRes::s_nodelegated;
 unsigned int SyncRes::s_unreachables;
 bool SyncRes::s_doIPv6;
@@ -864,6 +865,7 @@ int SyncRes::doResolveAt(set<string, CIStringCompare> nameservers, string auth,
           } 
           else if(!pierceDontQuery && g_dontQuery && g_dontQuery->match(&*remoteIP)) {
             LOG<<prefix<<qname<<": not sending query to " << remoteIP->toString() << ", blocked by 'dont-query' setting" << endl;
+            s_dontqueries++;
             continue;
           }
           else {
index b6b857d141183a42506fc1a8a8ae4dfb8ca016bd..3df31b36157acc7b1fc6f7524f39c6510cbef262 100644 (file)
@@ -199,6 +199,7 @@ public:
   static unsigned int s_queries;
   static unsigned int s_outgoingtimeouts;
   static unsigned int s_throttledqueries;
+  static unsigned int s_dontqueries;
   static unsigned int s_outqueries;
   static unsigned int s_tcpoutqueries;
   static unsigned int s_nodelegated;