]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
Merge pull request #7963 from Godwottery/master
authorPeter van Dijk <peter.van.dijk@powerdns.com>
Mon, 17 Aug 2020 11:40:30 +0000 (13:40 +0200)
committerGitHub <noreply@github.com>
Mon, 17 Aug 2020 11:40:30 +0000 (13:40 +0200)
Add a new command to add a super-master to SQL backends

1  2 
docs/manpages/pdnsutil.1.rst
modules/gmysqlbackend/gmysqlbackend.cc
modules/godbcbackend/godbcbackend.cc
modules/gpgsqlbackend/gpgsqlbackend.cc
modules/gsqlite3backend/gsqlite3backend.cc
pdns/backends/gsql/gsqlbackend.cc
pdns/backends/gsql/gsqlbackend.hh
pdns/dnsbackend.hh
pdns/pdnsutil.cc
pdns/ueberbackend.cc
pdns/ueberbackend.hh

Simple merge
Simple merge
Simple merge
index 2c6fb2fd02526c73cb0efd9fa2e93d291d3b1f00,41c53a547bf147fdd8e621489947e431bde20d8e..69083e01edff9da906cbf11656e7f33d999151b0
@@@ -191,9 -192,12 +193,10 @@@ public
    bool feedRecord(const DNSResourceRecord &r, const DNSName &ordername, bool ordernameIsNSEC3=false) override;
    bool feedEnts(int domain_id, map<DNSName,bool>& nonterm) override;
    bool feedEnts3(int domain_id, const DNSName &domain, map<DNSName,bool> &nonterm, const NSEC3PARAMRecordContent& ns3prc, bool narrow) override;
 -  bool createDomain(const DNSName &domain) override {
 -    return createDomain(domain, "NATIVE", "", "");
 -  };
 +  bool createDomain(const DNSName &domain, const DomainInfo::DomainKind kind, const vector<ComboAddress> &masters, const string &account) override;
    bool createSlaveDomain(const string &ip, const DNSName &domain, const string &nameserver, const string &account) override;
    bool deleteDomain(const DNSName &domain) override;
+   bool superMasterAdd(const string &ip, const string &nameserver, const string &account); 
    bool superMasterBackend(const string &ip, const DNSName &domain, const vector<DNSResourceRecord>&nsset, string *nameserver, string *account, DNSBackend **db) override;
    void setFresh(uint32_t domain_id) override;
    void getUnfreshSlaveInfos(vector<DomainInfo> *domains) override;
Simple merge
index 71ca3a69de59880eedfead8ad4d469bdc52c8fa3,424f1881fc906129eacb1c5748c65a2711b31e15..56e180f696296ab28081522445e7dd326f7ff54a
@@@ -1308,8 -1301,19 +1308,19 @@@ static int addOrReplaceRecord(bool addO
    return EXIT_SUCCESS;
  }
  
+ // addSuperMaster add anew super master
+ int addSuperMaster(const std::string &IP, const std::string &nameserver, const std::string &account)
+ {
+   UeberBackend B("default");
+   if ( B.superMasterAdd(IP, nameserver, account) ){ 
+     return EXIT_SUCCESS; 
+   }
+   return EXIT_FAILURE;
+ }
  // delete-rrset zone name type
 -int deleteRRSet(const std::string& zone_, const std::string& name_, const std::string& type_)
 +static int deleteRRSet(const std::string& zone_, const std::string& name_, const std::string& type_)
  {
    UeberBackend B;
    DomainInfo di;
        cerr<<"Syntax: pdnsutil add-record ZONE name type [ttl] \"content\" [\"content\"...]"<<endl;
        return 0;
      }
 -    exit(addOrReplaceRecord(true, cmds));
 +    return addOrReplaceRecord(true, cmds);
    }
+   else if(cmds[0] == "add-supermaster") {
+     if(cmds.size() < 3) {
+       cerr<<"Syntax: pdnsutil add-supermaster IP NAMESERVER [account]"<<endl;
+       return 0;
+     }
+     exit(addSuperMaster(cmds[1], cmds[2], cmds.size() > 3 ? cmds[3] : "" ));
+   }
    else if(cmds[0] == "replace-rrset") {
      if(cmds.size() < 5) {
        cerr<<"Syntax: pdnsutil replace-rrset ZONE name type [ttl] \"content\" [\"content\"...]"<<endl;
Simple merge
Simple merge