]> granicus.if.org Git - pdns/commitdiff
Merge branch 'feature/pdnsutil-export-zone-ds-showZone' of https://github.com/horazon...
authorPieter Lexis <pieter.lexis@powerdns.com>
Mon, 5 Dec 2016 11:40:04 +0000 (11:40 +0000)
committerPieter Lexis <pieter.lexis@powerdns.com>
Mon, 5 Dec 2016 11:40:04 +0000 (11:40 +0000)
1  2 
pdns/pdnsutil.cc

index 5c924b3bef9a8ab6bab91fb9835879c824a20a1e,945c1c2f52a12b8ac3e635f8babc9271bf760f53..794dfcf2935b2f4cf89e13ada475ddc48578bdeb
@@@ -1532,50 -1527,55 +1531,56 @@@ bool showZone(DNSSECKeeper& dk, const D
      return false;
    }
  
-   cout<<"This is a "<<DomainInfo::getKindString(di.kind)<<" zone"<<endl;
 +  if (!di.account.empty()) {
 +      cout<<"This zone is owned by "<<di.account<<endl;
 +  }
-   if(di.kind == DomainInfo::Master) {
-     cout<<"Last SOA serial number we notified: "<<di.notified_serial<<" ";
-     SOAData sd;
-     if(B.getSOAUncached(zone, sd)) {
-       if(sd.serial == di.notified_serial)
-         cout<< "== ";
-       else
-         cout << "!= ";
-       cout<<sd.serial<<" (serial in the database)"<<endl;
+   if (!exportDS) {
+     cout<<"This is a "<<DomainInfo::getKindString(di.kind)<<" zone"<<endl;
+     if(di.kind == DomainInfo::Master) {
+       cout<<"Last SOA serial number we notified: "<<di.notified_serial<<" ";
+       SOAData sd;
+       if(B.getSOAUncached(zone, sd)) {
+         if(sd.serial == di.notified_serial)
+           cout<< "== ";
+         else
+           cout << "!= ";
+         cout<<sd.serial<<" (serial in the database)"<<endl;
+       }
 -      else
 -        cout<<"- no serial found in database"<<endl;
      }
-     else
-       cout<<"- no serial found in database"<<endl;
-   }
-   else if(di.kind == DomainInfo::Slave) {
-     cout<<"Master"<<addS(di.masters)<<": ";
-     for(const auto& m : di.masters)
-       cout<<m<<" ";
-     cout<<endl;
-     struct tm tm;
-     localtime_r(&di.last_check, &tm);
-     char buf[80];
-     if(di.last_check)
-       strftime(buf, sizeof(buf)-1, "%a %F %H:%M:%S", &tm);
-     else
-       strncpy(buf, "Never", sizeof(buf)-1);
-     buf[sizeof(buf)-1] = '\0';
-     cout<<"Last time we got update from master: "<<buf<<endl;
-     SOAData sd;
-     if(B.getSOAUncached(zone, sd)) {
-       cout<<"SOA serial in database: "<<sd.serial<<endl;
-       cout<<"Refresh interval: "<<sd.refresh<<" seconds"<<endl;
+     else if(di.kind == DomainInfo::Slave) {
+       cout<<"Master"<<addS(di.masters)<<": ";
+       for(const auto& m : di.masters)
+         cout<<m<<" ";
+       cout<<endl;
+       struct tm tm;
+       localtime_r(&di.last_check, &tm);
+       char buf[80];
+       if(di.last_check)
+         strftime(buf, sizeof(buf)-1, "%a %F %H:%M:%S", &tm);
+       else
+         strncpy(buf, "Never", sizeof(buf)-1);
+       buf[sizeof(buf)-1] = '\0';
+       cout<<"Last time we got update from master: "<<buf<<endl;
+       SOAData sd;
+       if(B.getSOAUncached(zone, sd)) {
+         cout<<"SOA serial in database: "<<sd.serial<<endl;
+         cout<<"Refresh interval: "<<sd.refresh<<" seconds"<<endl;
+       }
+       else
+         cout<<"No SOA serial found in database"<<endl;
      }
-     else
-       cout<<"No SOA serial found in database"<<endl;
    }
  
    if(!dk.isSecuredZone(zone)) {
-     cout<<"Zone is not actively secured"<<endl;
+     auto &outstream = (exportDS ? cerr : cout);
+     outstream << "Zone is not actively secured" << endl;
+     if (exportDS) {
+       // it does not make sense to proceed here, and it might be useful
+       // for scripts to know that something is odd here
+       return false;
+     }
    }
    NSEC3PARAMRecordContent ns3pr;
    bool narrow;
    bool haveNSEC3=dk.getNSEC3PARAM(zone, &ns3pr, &narrow);