]> granicus.if.org Git - pdns/commitdiff
pdnsutil: create-slave-zone accept multiple masters
authorHannu Ylitalo <hnsk@hnsk.net>
Sat, 27 Aug 2016 08:22:03 +0000 (11:22 +0300)
committerHannu Ylitalo <hnsk@hnsk.net>
Sat, 27 Aug 2016 08:22:03 +0000 (11:22 +0300)
pdns/pdnsutil.cc

index c2d72f86a1a6d072808a239085485c2386d5dac8..4aad4e60a4e464f9170227cd585ec621c8b25d77 100644 (file)
@@ -1185,15 +1185,19 @@ int createSlaveZone(const vector<string>& cmds) {
     cerr<<"Domain '"<<zone<<"' exists already"<<endl;
     return EXIT_FAILURE;
   }
-  ComboAddress master(cmds[2], 53);
-  cerr<<"Creating slave zone '"<<zone<<"', master is "<<master.toStringWithPort()<<endl;
+  vector<string> masters;
+  for (unsigned i=2; i < cmds.size(); i++) {
+    ComboAddress master(cmds[2], 53);
+    masters.push_back(master.toStringWithPort());
+  }
+  cerr<<"Creating slave zone '"<<zone<<"', with master(s) '"<<boost::join(masters, ",")<<"'"<<endl;
   B.createDomain(zone);
   if(!B.getDomainInfo(zone, di)) {
     cerr<<"Domain '"<<zone<<"' was not created!"<<endl;
     return EXIT_FAILURE;
   }
   di.backend->setKind(zone, DomainInfo::Slave);
-  di.backend->setMaster(zone, master.toStringWithPort());
+  di.backend->setMaster(zone, boost::join(masters, ","));
   return EXIT_SUCCESS;
 }