]> granicus.if.org Git - pdns/commitdiff
Use zone name in startTransaction
authorAki Tuomi <cmouse@cmouse.fi>
Sun, 8 Nov 2015 11:01:45 +0000 (13:01 +0200)
committerAki Tuomi <cmouse@cmouse.fi>
Sun, 8 Nov 2015 11:05:57 +0000 (13:05 +0200)
pdns/dnsseckeeper.hh
pdns/pdnssec.cc

index aa056adc104afe14fb36a497dfb272a219d9fea0..a702b58aac6f9a5e18bf5ae1261ba3ce541f9a85 100644 (file)
@@ -98,9 +98,9 @@ public:
   bool TSIGGrantsAccess(const DNSName& zone, const DNSName& keyname);
   bool getTSIGForAccess(const DNSName& zone, const string& master, DNSName* keyname);
   
-  void startTransaction()
+  void startTransaction(const DNSName& zone, int zone_id)
   {
-    (*d_keymetadb->backends.begin())->startTransaction(DNSName(), -1);
+    (*d_keymetadb->backends.begin())->startTransaction(zone, zone_id);
   }
   
   void commitTransaction()
index 6d6f42cd316a6e6269aa367a1e9bd5715af13a72..3b6c6ee00309a274abe234c2b8592d2a8d534c37 100644 (file)
@@ -240,7 +240,7 @@ bool rectifyZone(DNSSECKeeper& dk, const DNSName& zone)
     cerr<<"Non DNSSEC zone, only adding empty non-terminals"<<endl;
 
   if(doTransaction)
-    sd.db->startTransaction(DNSName(""), -1);
+    sd.db->startTransaction(zone, -1);
 
   bool realrr=true;
   uint32_t maxent = ::arg().asNum("max-ent-entries");
@@ -738,7 +738,7 @@ int increaseSerial(const DNSName& zone, DNSSECKeeper &dk)
   }
   rrs[0].content = serializeSOAData(sd);
 
-  sd.db->startTransaction(DNSName(), -1);
+  sd.db->startTransaction(zone, -1);
 
   if (! sd.db->replaceRRSet(sd.domain_id, zone, rr.qtype, rrs)) {
    sd.db->abortTransaction();
@@ -1763,18 +1763,18 @@ try
       return 0;
     }
     vector<DNSName> mustRectify;
-    dk.startTransaction();    
     unsigned int zoneErrors=0;
     for(unsigned int n = 1; n < cmds.size(); ++n) {
       DNSName zone(cmds[n]);
+      dk.startTransaction(zone, -1);
       if(secureZone(dk, zone)) {
         mustRectify.push_back(zone);
       } else {
         zoneErrors++;
       }
+      dk.commitTransaction();
     }
     
-    dk.commitTransaction();
     for(const auto& zone : mustRectify)
       rectifyZone(dk, zone);