]> granicus.if.org Git - pdns/commitdiff
add default for SOA contact e-mail
authorKees Monshouwer <mind04@monshouwer.org>
Tue, 19 Feb 2013 08:15:18 +0000 (09:15 +0100)
committermind04 <mind04@monshouwer.org>
Fri, 3 May 2013 18:33:58 +0000 (20:33 +0200)
pdns/common_startup.cc
pdns/dnsbackend.cc

index 4f0959cbdb67d37909d8be165ac2168e69f3e8ba..f010e48bb6855bfc4a4316a0b4895ac7ea782a24 100644 (file)
@@ -67,6 +67,7 @@ void declareArguments()
   ::arg().set("wildcard-url","Process URL and MBOXFW records")="no";
   ::arg().set("loglevel","Amount of logging. Higher is more. Do not set below 3")="4";
   ::arg().set("default-soa-name","name to insert in the SOA record if none set in the backend")="a.misconfigured.powerdns.server";
+  ::arg().set("default-soa-mail","mailadres to insert in the SOA record if none set in the backend")="";
   ::arg().set("distributor-threads","Default number of Distributor (backend) threads to start")="3";
   ::arg().set("signing-threads","Default number of signer threads to start")="3";
   ::arg().set("receiver-threads","Default number of Distributor (backend) threads to start")="1";
index 910bc8d6b12a69e8505584eb0f037d2f30ed8de2..270c0639e9633b322ecc8c232ac1c637d8ac4f4e 100644 (file)
@@ -24,6 +24,7 @@
 
 #include <sys/types.h>
 #include "dnspacket.hh"
+#include "dns.hh"
 
 string DNSBackend::getRemote(DNSPacket *p)
 {
@@ -236,8 +237,14 @@ bool DNSBackend::getSOA(const string &domain, SOAData &sd, DNSPacket *p)
   if(sd.nameserver.empty())
     sd.nameserver=arg()["default-soa-name"];
   
-  if(sd.hostmaster.empty())
-    sd.hostmaster="hostmaster."+domain;
+  if(sd.hostmaster.empty()) {
+    if (!arg().isEmpty("default-soa-mail")) {
+      sd.hostmaster=arg()["default-soa-mail"];
+      attodot(sd.hostmaster);
+    }
+    else
+      sd.hostmaster="hostmaster."+domain;
+  }
 
   if(!sd.serial) { // magic time!
     DLOG(L<<Logger::Warning<<"Doing soa serialnumber autocalculation for "<<rr.qname<<endl);