]> granicus.if.org Git - pdns/commitdiff
Replace PacketHandler with UeberBackend where possible
authorChristian Hofstaedtler <christian@hofstaedtler.name>
Sun, 15 Feb 2015 14:01:28 +0000 (15:01 +0100)
committerChristian Hofstaedtler <christian@hofstaedtler.name>
Sun, 15 Feb 2015 14:01:28 +0000 (15:01 +0100)
Makes reasoning about PacketHandler usage easier.

pdns/dynhandler.cc
pdns/mastercommunicator.cc
pdns/slavecommunicator.cc

index cb10990ac89bd9a470e8eae09affda22283bc19e..51d52328dd7203b42376fa23f4612f2e63049700 100644 (file)
@@ -231,8 +231,8 @@ string DLNotifyRetrieveHandler(const vector<string>&parts, Utility::pid_t ppid)
 
   const string& domain=parts[1];
   DomainInfo di;
-  PacketHandler P;
-  if(!P.getBackend()->getDomainInfo(domain, di))
+  UeberBackend B;
+  if(!B.getDomainInfo(domain, di))
     return "Domain '"+domain+"' unknown";
   
   if(di.masters.empty())
@@ -300,11 +300,11 @@ string DLNotifyHandler(const vector<string>&parts, Utility::pid_t ppid)
 
 string DLRediscoverHandler(const vector<string>&parts, Utility::pid_t ppid)
 {
-  PacketHandler P;
+  UeberBackend B;
   try {
     L<<Logger::Error<<"Rediscovery was requested"<<endl;
     string status="Ok";
-    P.getBackend()->rediscover(&status);
+    B.rediscover(&status);
     return status;
   }
   catch(PDNSException &ae) {
@@ -315,8 +315,8 @@ string DLRediscoverHandler(const vector<string>&parts, Utility::pid_t ppid)
 
 string DLReloadHandler(const vector<string>&parts, Utility::pid_t ppid)
 {
-  PacketHandler P;
-  P.getBackend()->reload();
+  UeberBackend B;
+  B.reload();
   L<<Logger::Error<<"Reload was requested"<<endl;
   return "Ok";
 }
index 5fd6638776d8e3e22df237e30d0d3b07ca3baa64..55d77929e4552c87d5e5c7ee498a3e07b8df4a1b 100644 (file)
@@ -99,12 +99,12 @@ void CommunicatorClass::queueNotifyDomain(const string &domain, UeberBackend *B)
 bool CommunicatorClass::notifyDomain(const string &domain)
 {
   DomainInfo di;
-  PacketHandler P;
-  if(!P.getBackend()->getDomainInfo(domain, di)) {
+  UeberBackend B;
+  if(!B.getDomainInfo(domain, di)) {
     L<<Logger::Error<<"No such domain '"<<domain<<"' in our database"<<endl;
     return false;
   }
-  queueNotifyDomain(domain, P.getBackend());
+  queueNotifyDomain(domain, &B);
   // call backend and tell them we sent out the notification - even though that is premature    
   di.backend->setNotified(di.id, di.serial);
 
index d44f8abcaee7af8ff86135507fa9333656ece9fb..e28513da54851d1f162db178c43cfc4703fdbe9c 100644 (file)
@@ -65,16 +65,15 @@ void CommunicatorClass::addSuckRequest(const string &domain, const string &maste
 void CommunicatorClass::suck(const string &domain,const string &remote)
 {
   L<<Logger::Error<<"Initiating transfer of '"<<domain<<"' from remote '"<<remote<<"'"<<endl;
-  PacketHandler P; // fresh UeberBackend
+  UeberBackend B; // fresh UeberBackend
 
   DomainInfo di;
   di.backend=0;
   bool transaction=false;
   try {
-    UeberBackend *B=P.getBackend();  // copy of the same UeberBackend
-    DNSSECKeeper dk (B); // reuse our UeberBackend copy for DNSSECKeeper
+    DNSSECKeeper dk (&B); // reuse our UeberBackend copy for DNSSECKeeper
 
-    if(!B->getDomainInfo(domain, di) || !di.backend) { // di.backend and B are mostly identical
+    if(!B.getDomainInfo(domain, di) || !di.backend) { // di.backend and B are mostly identical
       L<<Logger::Error<<"Can't determine backend for domain '"<<domain<<"'"<<endl;
       return;
     }
@@ -84,7 +83,7 @@ void CommunicatorClass::suck(const string &domain,const string &remote)
     string tsigkeyname, tsigalgorithm, tsigsecret;
     if(dk.getTSIGForAccess(domain, remote, &tsigkeyname)) {
       string tsigsecret64;
-      if(B->getTSIGKey(tsigkeyname, &tsigalgorithm, &tsigsecret64)) {
+      if(B.getTSIGKey(tsigkeyname, &tsigalgorithm, &tsigsecret64)) {
         B64Decode(tsigsecret64, tsigsecret);
       } else {
         L<<Logger::Error<<"TSIG key '"<<tsigkeyname<<"' for domain '"<<domain<<"' not found"<<endl;
@@ -95,7 +94,7 @@ void CommunicatorClass::suck(const string &domain,const string &remote)
 
     scoped_ptr<AuthLua> pdl;
     vector<string> scripts;
-    if(B->getDomainMetadata(domain, "LUA-AXFR-SCRIPT", scripts) && !scripts.empty()) {
+    if(B.getDomainMetadata(domain, "LUA-AXFR-SCRIPT", scripts) && !scripts.empty()) {
       try {
         pdl.reset(new AuthLua(scripts[0]));
         L<<Logger::Info<<"Loaded Lua script '"<<scripts[0]<<"' to edit the incoming AXFR of '"<<domain<<"'"<<endl;
@@ -108,7 +107,7 @@ void CommunicatorClass::suck(const string &domain,const string &remote)
 
     vector<string> localaddr;
     ComboAddress laddr;
-    if(B->getDomainMetadata(domain, "AXFR-SOURCE", localaddr) && !localaddr.empty()) {
+    if(B.getDomainMetadata(domain, "AXFR-SOURCE", localaddr) && !localaddr.empty()) {
       try {
         laddr = ComboAddress(localaddr[0]);
         L<<Logger::Info<<"AXFR source for domain '"<<domain<<"' set to "<<localaddr[0]<<endl;