diff --git a/modules/bindbackend/bindbackend2.cc b/modules/bindbackend/bindbackend2.cc index d28cb4e92904..b9e756d6fe72 100644 --- a/modules/bindbackend/bindbackend2.cc +++ b/modules/bindbackend/bindbackend2.cc @@ -78,7 +78,7 @@ SharedLockGuarded Bind2Backend::s_state; int Bind2Backend::s_first = 1; bool Bind2Backend::s_ignore_broken_records = false; -std::mutex Bind2Backend::s_supermaster_config_lock; // protects writes to config file +std::mutex Bind2Backend::s_autoprimary_config_lock; // protects writes to config file std::mutex Bind2Backend::s_startup_lock; string Bind2Backend::s_binddirectory; @@ -235,8 +235,8 @@ bool Bind2Backend::startTransaction(const DNSName& qname, int id) fd = -1; *d_of << "; Written by PowerDNS, don't edit!" << endl; - *d_of << "; Zone '" << bbd.d_name << "' retrieved from master " << endl - << "; at " << nowTime() << endl; // insert master info here again + *d_of << "; Zone '" << bbd.d_name << "' retrieved from primary " << endl + << "; at " << nowTime() << endl; // insert primary info here again return true; } @@ -298,7 +298,7 @@ bool Bind2Backend::feedRecord(const DNSResourceRecord& rr, const DNSName& /* ord throw DBException("out-of-zone data '" + rr.qname.toLogString() + "' during AXFR of zone '" + d_transaction_qname.toLogString() + "'"); } - shared_ptr drc(DNSRecordContent::mastermake(rr.qtype.getCode(), QClass::IN, rr.content)); + shared_ptr drc(DNSRecordContent::make(rr.qtype.getCode(), QClass::IN, rr.content)); string content = drc->getZoneRepresentation(); // SOA needs stripping too! XXX FIXME - also, this should not be here I think @@ -318,14 +318,14 @@ bool Bind2Backend::feedRecord(const DNSResourceRecord& rr, const DNSName& /* ord return true; } -void Bind2Backend::getUpdatedMasters(vector& changedDomains, std::unordered_set& /* catalogs */, CatalogHashMap& /* catalogHashes */) +void Bind2Backend::getUpdatedPrimaries(vector& changedDomains, std::unordered_set& /* catalogs */, CatalogHashMap& /* catalogHashes */) { vector consider; { auto state = s_state.read_lock(); for (const auto& i : *state) { - if (i.d_kind != DomainInfo::Master && this->alsoNotify.empty() && i.d_also_notify.empty()) + if (i.d_kind != DomainInfo::Primary && this->alsoNotify.empty() && i.d_also_notify.empty()) continue; DomainInfo di; @@ -334,7 +334,7 @@ void Bind2Backend::getUpdatedMasters(vector& changedDomains, std::un di.last_check = i.d_lastcheck; di.notified_serial = i.d_lastnotified; di.backend = this; - di.kind = DomainInfo::Master; + di.kind = DomainInfo::Primary; consider.push_back(std::move(di)); } } @@ -377,7 +377,7 @@ void Bind2Backend::getAllDomains(vector* domains, bool getSerial, bo di.zone = i.d_name; di.last_check = i.d_lastcheck; di.kind = i.d_kind; - di.masters = i.d_masters; + di.primaries = i.d_primaries; di.backend = this; domains->push_back(std::move(di)); }; @@ -411,7 +411,7 @@ void Bind2Backend::getUnfreshSlaveInfos(vector* unfreshDomains) DomainInfo sd; sd.id = i.d_id; sd.zone = i.d_name; - sd.masters = i.d_masters; + sd.primaries = i.d_primaries; sd.last_check = i.d_lastcheck; sd.backend = this; sd.kind = DomainInfo::Slave; @@ -444,7 +444,7 @@ bool Bind2Backend::getDomainInfo(const DNSName& domain, DomainInfo& di, bool get di.id = bbd.d_id; di.zone = domain; - di.masters = bbd.d_masters; + di.primaries = bbd.d_primaries; di.last_check = bbd.d_lastcheck; di.backend = this; di.kind = bbd.d_kind; @@ -624,8 +624,8 @@ static void printDomainExtendedStatus(ostringstream& ret, const BB2DomainInfo& i ret << "\t On-disk file: " << info.d_filename << " (" << info.d_ctime << ")" << std::endl; ret << "\t Kind: "; switch (info.d_kind) { - case DomainInfo::Master: - ret << "Master"; + case DomainInfo::Primary: + ret << "Primary"; break; case DomainInfo::Slave: ret << "Slave"; @@ -634,9 +634,9 @@ static void printDomainExtendedStatus(ostringstream& ret, const BB2DomainInfo& i ret << "Native"; } ret << std::endl; - ret << "\t Masters: " << std::endl; - for (const auto& master : info.d_masters) { - ret << "\t\t - " << master.toStringWithPort() << std::endl; + ret << "\t Primaries: " << std::endl; + for (const auto& primary : info.d_primaries) { + ret << "\t\t - " << primary.toStringWithPort() << std::endl; } ret << "\t Also Notify: " << std::endl; for (const auto& also : info.d_also_notify) { @@ -955,14 +955,14 @@ void Bind2Backend::loadConfig(string* status) // NOLINT(readability-function-cog // overwrite what we knew about the domain bbd.d_name = domain.name; bool filenameChanged = (bbd.d_filename != domain.filename); - bool addressesChanged = (bbd.d_masters != domain.masters || bbd.d_also_notify != domain.alsoNotify); + bool addressesChanged = (bbd.d_primaries != domain.primaries || bbd.d_also_notify != domain.alsoNotify); bbd.d_filename = domain.filename; - bbd.d_masters = domain.masters; + bbd.d_primaries = domain.primaries; bbd.d_also_notify = domain.alsoNotify; DomainInfo::DomainKind kind = DomainInfo::Native; if (domain.type == "primary" || domain.type == "master") { - kind = DomainInfo::Master; + kind = DomainInfo::Primary; } if (domain.type == "secondary" || domain.type == "slave") { kind = DomainInfo::Slave; @@ -1197,7 +1197,7 @@ void Bind2Backend::lookup(const QType& qtype, const DNSName& qname, int zoneId, if (!bbd.d_loaded) { d_handle.reset(); - throw DBException("Zone for '" + d_handle.domain.toLogString() + "' in '" + bbd.d_filename + "' not loaded (file missing, corrupt or master dead)"); // fsck + throw DBException("Zone for '" + d_handle.domain.toLogString() + "' in '" + bbd.d_filename + "' not loaded (file missing, corrupt or primary dead)"); // fsck } d_handle.d_records = bbd.d_records.get(); @@ -1331,12 +1331,12 @@ bool Bind2Backend::handle::get_list(DNSResourceRecord& r) bool Bind2Backend::autoPrimariesList(std::vector& primaries) { - if (getArg("supermaster-config").empty()) + if (getArg("autoprimary-config").empty()) return false; - ifstream c_if(getArg("supermasters"), std::ios::in); + ifstream c_if(getArg("autoprimaries"), std::ios::in); if (!c_if) { - g_log << Logger::Error << "Unable to open supermasters file for read: " << stringerror() << endl; + g_log << Logger::Error << "Unable to open autoprimaries file for read: " << stringerror() << endl; return false; } @@ -1354,15 +1354,15 @@ bool Bind2Backend::autoPrimariesList(std::vector& primaries) return true; } -bool Bind2Backend::superMasterBackend(const string& ip, const DNSName& /* domain */, const vector& /* nsset */, string* /* nameserver */, string* account, DNSBackend** db) +bool Bind2Backend::autoPrimaryBackend(const string& ip, const DNSName& /* domain */, const vector& /* nsset */, string* /* nameserver */, string* account, DNSBackend** db) { // Check whether we have a configfile available. - if (getArg("supermaster-config").empty()) + if (getArg("autoprimary-config").empty()) return false; - ifstream c_if(getArg("supermasters").c_str(), std::ios::in); // this was nocreate? + ifstream c_if(getArg("autoprimaries").c_str(), std::ios::in); // this was nocreate? if (!c_if) { - g_log << Logger::Error << "Unable to open supermasters file for read: " << stringerror() << endl; + g_log << Logger::Error << "Unable to open autoprimaries file for read: " << stringerror() << endl; return false; } @@ -1382,7 +1382,7 @@ bool Bind2Backend::superMasterBackend(const string& ip, const DNSName& /* domain if (sip != ip) // ip not found in authorization list - reject return false; - // ip authorized as supermaster - accept + // ip authorized as autoprimary - accept *db = this; if (saccount.length() > 0) *account = saccount.c_str(); @@ -1415,19 +1415,19 @@ BB2DomainInfo Bind2Backend::createDomainEntry(const DNSName& domain, const strin bool Bind2Backend::createSlaveDomain(const string& ip, const DNSName& domain, const string& /* nameserver */, const string& account) { - string filename = getArg("supermaster-destdir") + '/' + domain.toStringNoDot(); + string filename = getArg("autoprimary-destdir") + '/' + domain.toStringNoDot(); g_log << Logger::Warning << d_logprefix << " Writing bind config zone statement for superslave zone '" << domain - << "' from supermaster " << ip << endl; + << "' from autoprimary " << ip << endl; { - std::lock_guard l2(s_supermaster_config_lock); + std::lock_guard l2(s_autoprimary_config_lock); - ofstream c_of(getArg("supermaster-config").c_str(), std::ios::app); + ofstream c_of(getArg("autoprimary-config").c_str(), std::ios::app); if (!c_of) { - g_log << Logger::Error << "Unable to open supermaster configfile for append: " << stringerror() << endl; - throw DBException("Unable to open supermaster configfile for append: " + stringerror()); + g_log << Logger::Error << "Unable to open autoprimary configfile for append: " << stringerror() << endl; + throw DBException("Unable to open autoprimary configfile for append: " + stringerror()); } c_of << endl; @@ -1442,7 +1442,7 @@ bool Bind2Backend::createSlaveDomain(const string& ip, const DNSName& domain, co BB2DomainInfo bbd = createDomainEntry(domain, filename); bbd.d_kind = DomainInfo::Slave; - bbd.d_masters.push_back(ComboAddress(ip, 53)); + bbd.d_primaries.push_back(ComboAddress(ip, 53)); bbd.setCtime(); safePutBBDomainInfo(bbd); @@ -1501,9 +1501,9 @@ class Bind2Factory : public BackendFactory declare(suffix, "ignore-broken-records", "Ignore records that are out-of-bound for the zone.", "no"); declare(suffix, "config", "Location of named.conf", ""); declare(suffix, "check-interval", "Interval for zonefile changes", "0"); - declare(suffix, "supermaster-config", "Location of (part of) named.conf where pdns can write zone-statements to", ""); - declare(suffix, "supermasters", "List of IP-addresses of supermasters", ""); - declare(suffix, "supermaster-destdir", "Destination directory for newly added slave zones", ::arg()["config-dir"]); + declare(suffix, "autoprimary-config", "Location of (part of) named.conf where pdns can write zone-statements to", ""); + declare(suffix, "autoprimaries", "List of IP-addresses of autoprimaries", ""); + declare(suffix, "autoprimary-destdir", "Destination directory for newly added slave zones", ::arg()["config-dir"]); declare(suffix, "dnssec-db", "Filename to store & access our DNSSEC metadatabase, empty for none", ""); declare(suffix, "dnssec-db-journal-mode", "SQLite3 journal mode", "WAL"); declare(suffix, "hybrid", "Store DNSSEC metadata in other backend", "no"); diff --git a/modules/bindbackend/bindbackend2.hh b/modules/bindbackend/bindbackend2.hh index 5e4cc29f3c0f..01438fa6b6ea 100644 --- a/modules/bindbackend/bindbackend2.hh +++ b/modules/bindbackend/bindbackend2.hh @@ -153,7 +153,7 @@ public: DomainInfo::DomainKind d_kind{DomainInfo::Native}; //!< the kind of domain string d_filename; //!< full absolute filename of the zone on disk string d_status; //!< message describing status of a domain, for human consumption - vector d_masters; //!< IP address of the master of this domain + vector d_primaries; //!< IP address of the primary of this domain set d_also_notify; //!< IP list of hosts to also notify LookButDontTouch d_records; //!< the actual records belonging to this domain time_t d_ctime{0}; //!< last known ctime of the file on disk @@ -184,7 +184,7 @@ public: Bind2Backend(const string& suffix = "", bool loadZones = true); ~Bind2Backend(); void getUnfreshSlaveInfos(vector* unfreshDomains) override; - void getUpdatedMasters(vector& changedDomains, std::unordered_set& catalogs, CatalogHashMap& catalogHashes) override; + void getUpdatedPrimaries(vector& changedDomains, std::unordered_set& catalogs, CatalogHashMap& catalogHashes) override; bool getDomainInfo(const DNSName& domain, DomainInfo& di, bool getSerial = true) override; time_t getCtime(const string& fname); // DNSSEC @@ -236,8 +236,8 @@ public: // for autoprimary support bool autoPrimariesList(std::vector& primaries) override; - bool superMasterBackend(const string& ip, const DNSName& domain, const vector& nsset, string* nameserver, string* account, DNSBackend** db) override; - static std::mutex s_supermaster_config_lock; + bool autoPrimaryBackend(const string& ip, const DNSName& domain, const vector& nsset, string* nameserver, string* account, DNSBackend** db) override; + static std::mutex s_autoprimary_config_lock; bool createSlaveDomain(const string& ip, const DNSName& domain, const string& nameserver, const string& account) override; private: diff --git a/modules/bindbackend/binddnssec.cc b/modules/bindbackend/binddnssec.cc index c5b9bc7a4424..1cbeee24760e 100644 --- a/modules/bindbackend/binddnssec.cc +++ b/modules/bindbackend/binddnssec.cc @@ -230,7 +230,7 @@ bool Bind2Backend::getNSEC3PARAMuncached(const DNSName& name, NSEC3PARAMRecordCo static int maxNSEC3Iterations = ::arg().asNum("max-nsec3-iterations"); if (ns3p) { - auto tmp = std::dynamic_pointer_cast(DNSRecordContent::mastermake(QType::NSEC3PARAM, 1, value)); + auto tmp = std::dynamic_pointer_cast(DNSRecordContent::make(QType::NSEC3PARAM, 1, value)); *ns3p = *tmp; if (ns3p->d_iterations > maxNSEC3Iterations) { diff --git a/modules/gmysqlbackend/gmysqlbackend.cc b/modules/gmysqlbackend/gmysqlbackend.cc index b908df5c6832..1dff26d5673f 100644 --- a/modules/gmysqlbackend/gmysqlbackend.cc +++ b/modules/gmysqlbackend/gmysqlbackend.cc @@ -104,9 +104,9 @@ class gMySQLFactory : public BackendFactory declare(suffix, "info-zone-query", "", "select id,name,master,last_check,notified_serial,type,options,catalog,account from domains where name=?"); declare(suffix, "info-all-slaves-query", "", "select domains.id, domains.name, domains.type, domains.master, domains.last_check, records.content from domains LEFT JOIN records ON records.domain_id=domains.id AND records.type='SOA' AND records.name=domains.name where domains.type in ('SLAVE', 'CONSUMER')"); - declare(suffix, "supermaster-query", "", "select account from supermasters where ip=? and nameserver=?"); - declare(suffix, "supermaster-name-to-ips", "", "select ip,account from supermasters where nameserver=? and account=?"); - declare(suffix, "supermaster-add", "", "insert into supermasters (ip, nameserver, account) values (?,?,?)"); + declare(suffix, "autoprimary-query", "", "select account from supermasters where ip=? and nameserver=?"); + declare(suffix, "autoprimary-name-to-ips", "", "select ip,account from supermasters where nameserver=? and account=?"); + declare(suffix, "autoprimary-add", "", "insert into supermasters (ip, nameserver, account) values (?,?,?)"); declare(suffix, "autoprimary-remove", "", "delete from supermasters where ip = ? and nameserver = ?"); declare(suffix, "list-autoprimaries", "", "select ip,nameserver,account from supermasters"); @@ -125,14 +125,14 @@ class gMySQLFactory : public BackendFactory declare(suffix, "nullify-ordername-and-update-auth-query", "DNSSEC nullify ordername and update auth for a qname query", "update records set ordername=NULL,auth=? where domain_id=? and name=? and disabled=0"); declare(suffix, "nullify-ordername-and-update-auth-type-query", "DNSSEC nullify ordername and update auth for a rrset query", "update records set ordername=NULL,auth=? where domain_id=? and name=? and type=? and disabled=0"); - declare(suffix, "update-master-query", "", "update domains set master=? where name=?"); + declare(suffix, "update-primary-query", "", "update domains set master=? where name=?"); declare(suffix, "update-kind-query", "", "update domains set type=? where name=?"); declare(suffix, "update-options-query", "", "update domains set options=? where name=?"); declare(suffix, "update-catalog-query", "", "update domains set catalog=? where name=?"); declare(suffix, "update-account-query", "", "update domains set account=? where name=?"); declare(suffix, "update-serial-query", "", "update domains set notified_serial=? where id=?"); declare(suffix, "update-lastcheck-query", "", "update domains set last_check=? where id=?"); - declare(suffix, "info-all-master-query", "", "select d.id, d.name, d.type, d.notified_serial,d.options, d.catalog,r.content from records r join domains d on r.domain_id=d.id and r.name=d.name where r.type='SOA' and r.disabled=0 and d.type in ('MASTER', 'PRODUCER')"); + declare(suffix, "info-all-primary-query", "", "select d.id, d.name, d.type, d.notified_serial,d.options, d.catalog,r.content from records r join domains d on r.domain_id=d.id and r.name=d.name where r.type='SOA' and r.disabled=0 and d.type in ('MASTER', 'PRODUCER')"); declare(suffix, "info-producer-members-query", "", "select domains.id, domains.name, domains.options from records join domains on records.domain_id=domains.id and records.name=domains.name where domains.type='MASTER' and domains.catalog=? and records.type='SOA' and records.disabled=0"); declare(suffix, "info-consumer-members-query", "", "select id, name, options, master from domains where type='SLAVE' and catalog=?"); declare(suffix, "delete-domain-query", "", "delete from domains where name=?"); diff --git a/modules/godbcbackend/godbcbackend.cc b/modules/godbcbackend/godbcbackend.cc index 6d0cc6b5856f..67276dbd962f 100644 --- a/modules/godbcbackend/godbcbackend.cc +++ b/modules/godbcbackend/godbcbackend.cc @@ -84,9 +84,9 @@ class gODBCFactory : public BackendFactory declare(suffix, "info-zone-query", "", "select id,name,master,last_check,notified_serial,type,options,catalog,account from domains where name=?"); declare(suffix, "info-all-slaves-query", "", "select domains.id, domains.name, domains.type, domains.master, domains.last_check, records.content from domains LEFT JOIN records ON records.domain_id=domains.id AND records.type='SOA' AND records.name=domains.name where domains.type in ('SLAVE', 'CONSUMER')"); - declare(suffix, "supermaster-query", "", "select account from supermasters where ip=? and nameserver=?"); - declare(suffix, "supermaster-name-to-ips", "", "select ip,account from supermasters where nameserver=? and account=?"); - declare(suffix, "supermaster-add", "", "insert into supermasters (ip, nameserver, account) values (?,?,?)"); + declare(suffix, "autoprimary-query", "", "select account from supermasters where ip=? and nameserver=?"); + declare(suffix, "autoprimary-name-to-ips", "", "select ip,account from supermasters where nameserver=? and account=?"); + declare(suffix, "autoprimary-add", "", "insert into supermasters (ip, nameserver, account) values (?,?,?)"); declare(suffix, "autoprimary-remove", "", "delete from supermasters where ip = ? and nameserver = ?"); declare(suffix, "list-autoprimaries", "", "select ip,nameserver,account from supermasters"); @@ -105,14 +105,14 @@ class gODBCFactory : public BackendFactory declare(suffix, "nullify-ordername-and-update-auth-query", "DNSSEC nullify ordername and update auth for a qname query", "update records set ordername=NULL,auth=? where domain_id=? and name=? and disabled=0"); declare(suffix, "nullify-ordername-and-update-auth-type-query", "DNSSEC nullify ordername and update auth for a rrset query", "update records set ordername=NULL,auth=? where domain_id=? and name=? and type=? and disabled=0"); - declare(suffix, "update-master-query", "", "update domains set master=? where name=?"); + declare(suffix, "update-primary-query", "", "update domains set master=? where name=?"); declare(suffix, "update-kind-query", "", "update domains set type=? where name=?"); declare(suffix, "update-options-query", "", "update domains set options=? where name=?"); declare(suffix, "update-catalog-query", "", "update domains set catalog=? where name=?"); declare(suffix, "update-account-query", "", "update domains set account=? where name=?"); declare(suffix, "update-serial-query", "", "update domains set notified_serial=? where id=?"); declare(suffix, "update-lastcheck-query", "", "update domains set last_check=? where id=?"); - declare(suffix, "info-all-master-query", "", "select domains.id, domains.name, domains.type, domains.notified_serial, domains.options, domains.catalog, records.content from records join domains on records.domain_id=domains.id and records.name=domains.name where records.type='SOA' and records.disabled=0 and domains.type in ('MASTER', 'PRODUCER')"); + declare(suffix, "info-all-primary-query", "", "select domains.id, domains.name, domains.type, domains.notified_serial, domains.options, domains.catalog, records.content from records join domains on records.domain_id=domains.id and records.name=domains.name where records.type='SOA' and records.disabled=0 and domains.type in ('MASTER', 'PRODUCER')"); declare(suffix, "info-producer-members-query", "", "select domains.id, domains.name, domains.options from records join domains on records.domain_id=domains.id and records.name=domains.name where domains.type='MASTER' and domains.catalog=? and records.type='SOA' and records.disabled=0"); declare(suffix, "info-consumer-members-query", "", "select id, name, options, master from domains where type='SLAVE' and catalog=?"); declare(suffix, "delete-domain-query", "", "delete from domains where name=?"); diff --git a/modules/gpgsqlbackend/gpgsqlbackend.cc b/modules/gpgsqlbackend/gpgsqlbackend.cc index e6a346fe4a54..89f8d6e4c228 100644 --- a/modules/gpgsqlbackend/gpgsqlbackend.cc +++ b/modules/gpgsqlbackend/gpgsqlbackend.cc @@ -111,9 +111,9 @@ class gPgSQLFactory : public BackendFactory declare(suffix, "info-zone-query", "", "select id,name,master,last_check,notified_serial,type,options,catalog,account from domains where name=$1"); declare(suffix, "info-all-slaves-query", "", "select domains.id, domains.name, domains.type, domains.master, domains.last_check, records.content from domains LEFT JOIN records ON records.domain_id=domains.id AND records.type='SOA' AND records.name=domains.name where domains.type in ('SLAVE', 'CONSUMER')"); - declare(suffix, "supermaster-query", "", "select account from supermasters where ip=$1 and nameserver=$2"); - declare(suffix, "supermaster-name-to-ips", "", "select ip,account from supermasters where nameserver=$1 and account=$2"); - declare(suffix, "supermaster-add", "", "insert into supermasters (ip, nameserver, account) values ($1,$2,$3)"); + declare(suffix, "autoprimary-query", "", "select account from supermasters where ip=$1 and nameserver=$2"); + declare(suffix, "autoprimary-name-to-ips", "", "select ip,account from supermasters where nameserver=$1 and account=$2"); + declare(suffix, "autoprimary-add", "", "insert into supermasters (ip, nameserver, account) values ($1,$2,$3)"); declare(suffix, "autoprimary-remove", "", "delete from supermasters where ip = $1 and nameserver = $2"); declare(suffix, "list-autoprimaries", "", "select ip,nameserver,account from supermasters"); @@ -132,14 +132,14 @@ class gPgSQLFactory : public BackendFactory declare(suffix, "nullify-ordername-and-update-auth-query", "DNSSEC nullify ordername and update auth for a qname query", "update records set ordername=NULL,auth=$1 where domain_id=$2 and name=$3 and disabled=false"); declare(suffix, "nullify-ordername-and-update-auth-type-query", "DNSSEC nullify ordername and update auth for a rrset query", "update records set ordername=NULL,auth=$1 where domain_id=$2 and name=$3 and type=$4 and disabled=false"); - declare(suffix, "update-master-query", "", "update domains set master=$1 where name=$2"); + declare(suffix, "update-primary-query", "", "update domains set master=$1 where name=$2"); declare(suffix, "update-kind-query", "", "update domains set type=$1 where name=$2"); declare(suffix, "update-options-query", "", "update domains set options=$1 where name=$2"); declare(suffix, "update-catalog-query", "", "update domains set catalog=$1 where name=$2"); declare(suffix, "update-account-query", "", "update domains set account=$1 where name=$2"); declare(suffix, "update-serial-query", "", "update domains set notified_serial=$1 where id=$2"); declare(suffix, "update-lastcheck-query", "", "update domains set last_check=$1 where id=$2"); - declare(suffix, "info-all-master-query", "", "select domains.id, domains.name, domains.type, domains.notified_serial, domains.options, domains.catalog, records.content from records join domains on records.domain_id=domains.id and records.name=domains.name where records.type='SOA' and records.disabled=false and domains.type in ('MASTER', 'PRODUCER')"); + declare(suffix, "info-all-primary-query", "", "select domains.id, domains.name, domains.type, domains.notified_serial, domains.options, domains.catalog, records.content from records join domains on records.domain_id=domains.id and records.name=domains.name where records.type='SOA' and records.disabled=false and domains.type in ('MASTER', 'PRODUCER')"); declare(suffix, "info-producer-members-query", "", "select domains.id, domains.name, domains.options from records join domains on records.domain_id=domains.id and records.name=domains.name where domains.type='MASTER' and domains.catalog=$1 and records.type='SOA' and records.disabled=false"); declare(suffix, "info-consumer-members-query", "", "select id, name, options, master from domains where type='SLAVE' and catalog=$1"); declare(suffix, "delete-domain-query", "", "delete from domains where name=$1"); diff --git a/modules/gsqlite3backend/gsqlite3backend.cc b/modules/gsqlite3backend/gsqlite3backend.cc index f183cec37c64..a9f3aa6e37ef 100644 --- a/modules/gsqlite3backend/gsqlite3backend.cc +++ b/modules/gsqlite3backend/gsqlite3backend.cc @@ -97,13 +97,13 @@ class gSQLite3Factory : public BackendFactory declare(suffix, "info-zone-query", "", "select id,name,master,last_check,notified_serial,type,options,catalog,account from domains where name=:domain"); declare(suffix, "info-all-slaves-query", "", "select domains.id, domains.name, domains.type, domains.master, domains.last_check, records.content from domains LEFT JOIN records ON records.domain_id=domains.id AND records.type='SOA' AND records.name=domains.name where domains.type in ('SLAVE', 'CONSUMER')"); - declare(suffix, "supermaster-query", "", "select account from supermasters where ip=:ip and nameserver=:nameserver"); - declare(suffix, "supermaster-name-to-ips", "", "select ip,account from supermasters where nameserver=:nameserver and account=:account"); - declare(suffix, "supermaster-add", "", "insert into supermasters (ip, nameserver, account) values (:ip,:nameserver,:account)"); + declare(suffix, "autoprimary-query", "", "select account from supermasters where ip=:ip and nameserver=:nameserver"); + declare(suffix, "autoprimary-name-to-ips", "", "select ip,account from supermasters where nameserver=:nameserver and account=:account"); + declare(suffix, "autoprimary-add", "", "insert into supermasters (ip, nameserver, account) values (:ip,:nameserver,:account)"); declare(suffix, "autoprimary-remove", "", "delete from supermasters where ip = :ip and nameserver = :nameserver"); declare(suffix, "list-autoprimaries", "", "select ip,nameserver,account from supermasters"); - declare(suffix, "insert-zone-query", "", "insert into domains (type,name,master,account,last_check,notified_serial) values(:type, :domain, :masters, :account, null, null)"); + declare(suffix, "insert-zone-query", "", "insert into domains (type,name,master,account,last_check,notified_serial) values(:type, :domain, :primaries, :account, null, null)"); declare(suffix, "insert-record-query", "", "insert into records (content,ttl,prio,type,domain_id,disabled,name,ordername,auth) values (:content,:ttl,:priority,:qtype,:domain_id,:disabled,:qname,:ordername,:auth)"); declare(suffix, "insert-empty-non-terminal-order-query", "insert empty non-terminal in zone", "insert into records (type,domain_id,disabled,name,ordername,auth,ttl,prio,content) values (null,:domain_id,0,:qname,:ordername,:auth,null,null,null)"); @@ -118,14 +118,14 @@ class gSQLite3Factory : public BackendFactory declare(suffix, "nullify-ordername-and-update-auth-query", "DNSSEC nullify ordername and update auth for a qname query", "update records set ordername=NULL,auth=:auth where domain_id=:domain_id and name=:qname and disabled=0"); declare(suffix, "nullify-ordername-and-update-auth-type-query", "DNSSEC nullify ordername and update auth for a rrset query", "update records set ordername=NULL,auth=:auth where domain_id=:domain_id and name=:qname and type=:qtype and disabled=0"); - declare(suffix, "update-master-query", "", "update domains set master=:master where name=:domain"); + declare(suffix, "update-primary-query", "", "update domains set master=:master where name=:domain"); declare(suffix, "update-kind-query", "", "update domains set type=:kind where name=:domain"); declare(suffix, "update-options-query", "", "update domains set options=:options where name=:domain"); declare(suffix, "update-catalog-query", "", "update domains set catalog=:catalog where name=:domain"); declare(suffix, "update-account-query", "", "update domains set account=:account where name=:domain"); declare(suffix, "update-serial-query", "", "update domains set notified_serial=:serial where id=:domain_id"); declare(suffix, "update-lastcheck-query", "", "update domains set last_check=:last_check where id=:domain_id"); - declare(suffix, "info-all-master-query", "", "select domains.id, domains.name, domains.type, domains.notified_serial, domains.options, domains.catalog, records.content from records join domains on records.domain_id=domains.id and records.name=domains.name where records.type='SOA' and records.disabled=0 and domains.type in ('MASTER', 'PRODUCER')"); + declare(suffix, "info-all-primary-query", "", "select domains.id, domains.name, domains.type, domains.notified_serial, domains.options, domains.catalog, records.content from records join domains on records.domain_id=domains.id and records.name=domains.name where records.type='SOA' and records.disabled=0 and domains.type in ('MASTER', 'PRODUCER')"); declare(suffix, "info-producer-members-query", "", "select domains.id, domains.name, domains.options from records join domains on records.domain_id=domains.id and records.name=domains.name where domains.type='MASTER' and domains.catalog=:catalog and records.type='SOA' and records.disabled=0"); declare(suffix, "info-consumer-members-query", "", "select id, name, options, master from domains where type='SLAVE' and catalog=:catalog"); declare(suffix, "delete-domain-query", "", "delete from domains where name=:domain"); diff --git a/modules/ldapbackend/ldapbackend.hh b/modules/ldapbackend/ldapbackend.hh index 23e77c8795af..f460ebd84935 100644 --- a/modules/ldapbackend/ldapbackend.hh +++ b/modules/ldapbackend/ldapbackend.hh @@ -176,7 +176,7 @@ public: bool getDomainInfo(const DNSName& domain, DomainInfo& di, bool getSerial = true) override; - // Master backend - void getUpdatedMasters(vector& domains, std::unordered_set& catalogs, CatalogHashMap& catalogHashes) override; + // Primary backend + void getUpdatedPrimaries(vector& domains, std::unordered_set& catalogs, CatalogHashMap& catalogHashes) override; void setNotified(uint32_t id, uint32_t serial) override; }; diff --git a/modules/ldapbackend/master.cc b/modules/ldapbackend/master.cc index 1ab28f0d3ad7..13c112d14fef 100644 --- a/modules/ldapbackend/master.cc +++ b/modules/ldapbackend/master.cc @@ -24,7 +24,7 @@ #include "ldapbackend.hh" #include -void LdapBackend::getUpdatedMasters(vector& domains, std::unordered_set& catalogs, CatalogHashMap& catalogHashes) +void LdapBackend::getUpdatedPrimaries(vector& domains, std::unordered_set& catalogs, CatalogHashMap& catalogHashes) { string filter; PowerLDAP::SearchResult::Ptr search; @@ -34,7 +34,7 @@ void LdapBackend::getUpdatedMasters(vector& domains, std::unordered_ NULL}; try { - // First get all domains on which we are master. + // First get all domains on which we are primary. filter = strbind(":target:", "&(SOARecord=*)(PdnsDomainId=*)", getArg("filter-axfr")); search = d_pldap->search(getArg("basedn"), LDAP_SCOPE_SUBTREE, filter, attronly); } @@ -45,7 +45,7 @@ void LdapBackend::getUpdatedMasters(vector& domains, std::unordered_ catch (LDAPNoConnection& lnc) { g_log << Logger::Warning << d_myname << " Connection to LDAP lost, trying to reconnect" << endl; if (reconnect()) - this->getUpdatedMasters(domains, catalogs, catalogHashes); + this->getUpdatedPrimaries(domains, catalogs, catalogHashes); else throw PDNSException("Failed to reconnect to LDAP server"); } diff --git a/modules/ldapbackend/native.cc b/modules/ldapbackend/native.cc index 82ddebf06071..963dd7338f69 100644 --- a/modules/ldapbackend/native.cc +++ b/modules/ldapbackend/native.cc @@ -383,13 +383,13 @@ bool LdapBackend::getDomainInfo(const DNSName& domain, DomainInfo& di, bool /* g if (result.count("PdnsDomainMaster") && !result["PdnsDomainMaster"].empty()) { for (const auto& m : result["PdnsDomainMaster"]) - di.masters.emplace_back(m, 53); + di.primaries.emplace_back(m, 53); } if (result.count("PdnsDomainType") && !result["PdnsDomainType"].empty()) { string kind = result["PdnsDomainType"][0]; if (kind == "master") - di.kind = DomainInfo::Master; + di.kind = DomainInfo::Primary; else if (kind == "slave") di.kind = DomainInfo::Slave; else diff --git a/modules/lmdbbackend/lmdbbackend.cc b/modules/lmdbbackend/lmdbbackend.cc index 60a05cac1d09..b9f17d62d8b3 100644 --- a/modules/lmdbbackend/lmdbbackend.cc +++ b/modules/lmdbbackend/lmdbbackend.cc @@ -819,7 +819,7 @@ namespace serialization ar& g.zone; ar& g.last_check; ar& g.account; - ar& g.masters; + ar& g.primaries; ar& g.id; ar& g.notified_serial; ar& g.kind; @@ -833,7 +833,7 @@ namespace serialization ar& g.zone; ar& g.last_check; ar& g.account; - ar& g.masters; + ar& g.primaries; ar& g.id; ar& g.notified_serial; ar& g.kind; @@ -948,7 +948,7 @@ void serFromString(const string_view& str, vectorserialize(domain, false); } @@ -1661,14 +1661,14 @@ bool LMDBBackend::setAccount(const DNSName& domain, const std::string& account) }); } -bool LMDBBackend::setMasters(const DNSName& domain, const vector& masters) +bool LMDBBackend::setPrimaries(const DNSName& domain, const vector& primaries) { - return genChangeDomain(domain, [&masters](DomainInfo& di) { - di.masters = masters; + return genChangeDomain(domain, [&primaries](DomainInfo& di) { + di.primaries = primaries; }); } -bool LMDBBackend::createDomain(const DNSName& domain, const DomainInfo::DomainKind kind, const vector& masters, const string& account) +bool LMDBBackend::createDomain(const DNSName& domain, const DomainInfo::DomainKind kind, const vector& primaries, const string& account) { DomainInfo di; @@ -1680,7 +1680,7 @@ bool LMDBBackend::createDomain(const DNSName& domain, const DomainInfo::DomainKi di.zone = domain; di.kind = kind; - di.masters = masters; + di.primaries = primaries; di.account = account; txn.put(di, 0, d_random_ids); @@ -1799,7 +1799,7 @@ void LMDBBackend::setFresh(uint32_t domain_id) }); } -void LMDBBackend::getUpdatedMasters(vector& updatedDomains, std::unordered_set& catalogs, CatalogHashMap& catalogHashes) +void LMDBBackend::getUpdatedPrimaries(vector& updatedDomains, std::unordered_set& catalogs, CatalogHashMap& catalogHashes) { CatalogInfo ci; @@ -1848,14 +1848,14 @@ bool LMDBBackend::getCatalogMembers(const DNSName& catalog, vector& try { getAllDomainsFiltered(&scratch, [&catalog, &members, &type](DomainInfo& di) { - if ((type == CatalogInfo::CatalogType::Producer && di.kind != DomainInfo::Master) || (type == CatalogInfo::CatalogType::Consumer && di.kind != DomainInfo::Slave) || di.catalog != catalog) { + if ((type == CatalogInfo::CatalogType::Producer && di.kind != DomainInfo::Primary) || (type == CatalogInfo::CatalogType::Consumer && di.kind != DomainInfo::Slave) || di.catalog != catalog) { return false; } CatalogInfo ci; ci.d_id = di.id; ci.d_zone = di.zone; - ci.d_primaries = di.masters; + ci.d_primaries = di.primaries; try { ci.fromJson(di.options, type); } diff --git a/modules/lmdbbackend/lmdbbackend.hh b/modules/lmdbbackend/lmdbbackend.hh index 781a7c7c9a3d..f7e3d8a6b29e 100644 --- a/modules/lmdbbackend/lmdbbackend.hh +++ b/modules/lmdbbackend/lmdbbackend.hh @@ -65,7 +65,7 @@ public: bool list(const DNSName& target, int id, bool include_disabled) override; bool getDomainInfo(const DNSName& domain, DomainInfo& di, bool getserial = true) override; - bool createDomain(const DNSName& domain, const DomainInfo::DomainKind kind, const vector& masters, const string& account) override; + bool createDomain(const DNSName& domain, const DomainInfo::DomainKind kind, const vector& primaries, const string& account) override; bool startTransaction(const DNSName& domain, int domain_id = -1) override; bool commitTransaction() override; @@ -87,7 +87,7 @@ public: void setFresh(uint32_t domain_id) override; // primary support - void getUpdatedMasters(vector& updatedDomains, std::unordered_set& catalogs, CatalogHashMap& catalogHashes) override; + void getUpdatedPrimaries(vector& updatedDomains, std::unordered_set& catalogs, CatalogHashMap& catalogHashes) override; void setNotified(uint32_t id, uint32_t serial) override; // catalog zones @@ -95,7 +95,7 @@ public: bool setOptions(const DNSName& domain, const std::string& options) override; bool setCatalog(const DNSName& domain, const DNSName& options) override; - bool setMasters(const DNSName& domain, const vector& masters) override; + bool setPrimaries(const DNSName& domain, const vector& primaries) override; bool setKind(const DNSName& domain, const DomainInfo::DomainKind kind) override; bool getAllDomainMetadata(const DNSName& name, std::map>& meta) override; bool getDomainMetadata(const DNSName& name, const std::string& kind, std::vector& meta) override diff --git a/modules/lua2backend/lua2api2.hh b/modules/lua2backend/lua2api2.hh index 649a808f1149..73b4baf67821 100644 --- a/modules/lua2backend/lua2api2.hh +++ b/modules/lua2backend/lua2api2.hh @@ -255,8 +255,8 @@ public: else if (item.first == "last_check") di.last_check = static_cast(boost::get(item.second)); else if (item.first == "masters") - for (const auto& master : boost::get>(item.second)) - di.masters.push_back(ComboAddress(master, 53)); + for (const auto& primary : boost::get>(item.second)) + di.primaries.push_back(ComboAddress(primary, 53)); else if (item.first == "id") di.id = static_cast(boost::get(item.second)); else if (item.first == "notified_serial") diff --git a/modules/remotebackend/remotebackend.cc b/modules/remotebackend/remotebackend.cc index e49d6130cf9a..75b8bbd5fe6a 100644 --- a/modules/remotebackend/remotebackend.cc +++ b/modules/remotebackend/remotebackend.cc @@ -592,8 +592,8 @@ void RemoteBackend::parseDomainInfo(const Json& obj, DomainInfo& di) { di.id = intFromJson(obj, "id", -1); di.zone = DNSName(stringFromJson(obj, "zone")); - for (const auto& master : obj["masters"].array_items()) { - di.masters.emplace_back(master.string_value(), 53); + for (const auto& primary : obj["masters"].array_items()) { + di.primaries.emplace_back(primary.string_value(), 53); } di.notified_serial = static_cast(doubleFromJson(obj, "notified_serial", 0)); @@ -605,7 +605,7 @@ void RemoteBackend::parseDomainInfo(const Json& obj, DomainInfo& di) kind = stringFromJson(obj, "kind"); } if (kind == "master") { - di.kind = DomainInfo::Master; + di.kind = DomainInfo::Primary; } else if (kind == "slave") { di.kind = DomainInfo::Slave; @@ -647,7 +647,7 @@ void RemoteBackend::setNotified(uint32_t id, uint32_t serial) } } -bool RemoteBackend::superMasterBackend(const string& ip, const DNSName& domain, const vector& nsset, string* nameserver, string* account, DNSBackend** ddb) +bool RemoteBackend::autoPrimaryBackend(const string& ip, const DNSName& domain, const vector& nsset, string* nameserver, string* account, DNSBackend** ddb) { Json::array rrset; @@ -900,7 +900,7 @@ void RemoteBackend::getAllDomains(vector* domains, bool /* getSerial } } -void RemoteBackend::getUpdatedMasters(vector& domains, std::unordered_set& /* catalogs */, CatalogHashMap& /* catalogHashes */) +void RemoteBackend::getUpdatedPrimaries(vector& domains, std::unordered_set& /* catalogs */, CatalogHashMap& /* catalogHashes */) { Json query = Json::object{ {"method", "getUpdatedMasters"}, diff --git a/modules/remotebackend/remotebackend.hh b/modules/remotebackend/remotebackend.hh index 067c7776c948..a4399ee89061 100644 --- a/modules/remotebackend/remotebackend.hh +++ b/modules/remotebackend/remotebackend.hh @@ -186,7 +186,7 @@ public: bool getDomainInfo(const DNSName& domain, DomainInfo& di, bool getSerial = true) override; void setNotified(uint32_t id, uint32_t serial) override; bool doesDNSSEC() override; - bool superMasterBackend(const string& ip, const DNSName& domain, const vector& nsset, string* nameserver, string* account, DNSBackend** ddb) override; + bool autoPrimaryBackend(const string& ip, const DNSName& domain, const vector& nsset, string* nameserver, string* account, DNSBackend** ddb) override; bool createSlaveDomain(const string& ip, const DNSName& domain, const string& nameserver, const string& account) override; bool replaceRRSet(uint32_t domain_id, const DNSName& qname, const QType& qt, const vector& rrset) override; bool feedRecord(const DNSResourceRecord& r, const DNSName& ordername, bool ordernameIsNSEC3 = false) override; @@ -202,7 +202,7 @@ public: bool searchRecords(const string& pattern, size_t maxResults, vector& result) override; bool searchComments(const string& pattern, size_t maxResults, vector& result) override; void getAllDomains(vector* domains, bool getSerial, bool include_disabled) override; - void getUpdatedMasters(vector& domains, std::unordered_set& catalogs, CatalogHashMap& catalogHashes) override; + void getUpdatedPrimaries(vector& domains, std::unordered_set& catalogs, CatalogHashMap& catalogHashes) override; void getUnfreshSlaveInfos(vector* domains) override; void setStale(uint32_t domain_id) override; void setFresh(uint32_t domain_id) override; diff --git a/modules/remotebackend/test-remotebackend.cc b/modules/remotebackend/test-remotebackend.cc index c5817862ba86..9dfd61dfe8c5 100644 --- a/modules/remotebackend/test-remotebackend.cc +++ b/modules/remotebackend/test-remotebackend.cc @@ -272,12 +272,12 @@ BOOST_AUTO_TEST_CASE(test_method_getAllDomains) BOOST_CHECK_EQUAL(domainInfo.backend, backendUnderTest.get()); } -BOOST_AUTO_TEST_CASE(test_method_superMasterBackend) +BOOST_AUTO_TEST_CASE(test_method_autoPrimaryBackend) { DNSResourceRecord resourceRecord; std::vector nsset; DNSBackend* dbd = nullptr; - BOOST_TEST_MESSAGE("Testing superMasterBackend method"); + BOOST_TEST_MESSAGE("Testing autoPrimaryBackend method"); resourceRecord.qname = DNSName("example.com."); resourceRecord.qtype = QType::NS; @@ -292,7 +292,7 @@ BOOST_AUTO_TEST_CASE(test_method_superMasterBackend) resourceRecord.content = "ns2.example.com."; nsset.push_back(resourceRecord); - BOOST_CHECK(backendUnderTest->superMasterBackend("10.0.0.1", DNSName("example.com."), nsset, nullptr, nullptr, &dbd)); + BOOST_CHECK(backendUnderTest->autoPrimaryBackend("10.0.0.1", DNSName("example.com."), nsset, nullptr, nullptr, &dbd)); // let's see what we got BOOST_CHECK_EQUAL(dbd, backendUnderTest.get()); @@ -374,15 +374,15 @@ BOOST_AUTO_TEST_CASE(test_method_directBackendCmd) BOOST_CHECK_EQUAL(backendUnderTest->directBackendCmd("PING 1234"), "PING 1234"); } -BOOST_AUTO_TEST_CASE(test_method_getUpdatedMasters) +BOOST_AUTO_TEST_CASE(test_method_getUpdatedPrimaries) { DomainInfo domainInfo; - BOOST_TEST_MESSAGE("Testing getUpdatedMasters method"); + BOOST_TEST_MESSAGE("Testing getUpdatedPrimaries method"); vector result; std::unordered_set catalogs; CatalogHashMap hashes; - backendUnderTest->getUpdatedMasters(result, catalogs, hashes); + backendUnderTest->getUpdatedPrimaries(result, catalogs, hashes); BOOST_REQUIRE(!result.empty()); @@ -390,7 +390,7 @@ BOOST_AUTO_TEST_CASE(test_method_getUpdatedMasters) BOOST_CHECK_EQUAL(domainInfo.zone.toString(), "master.test."); BOOST_CHECK_EQUAL(domainInfo.serial, 2); BOOST_CHECK_EQUAL(domainInfo.notified_serial, 2); - BOOST_CHECK_EQUAL(domainInfo.kind, DomainInfo::Master); + BOOST_CHECK_EQUAL(domainInfo.kind, DomainInfo::Primary); BOOST_CHECK_EQUAL(domainInfo.backend, backendUnderTest.get()); } diff --git a/modules/tinydnsbackend/tinydnsbackend.cc b/modules/tinydnsbackend/tinydnsbackend.cc index b76f20ed1c28..251696a42204 100644 --- a/modules/tinydnsbackend/tinydnsbackend.cc +++ b/modules/tinydnsbackend/tinydnsbackend.cc @@ -88,7 +88,7 @@ TinyDNSBackend::TinyDNSBackend(const string& suffix) d_isWildcardQuery = false; } -void TinyDNSBackend::getUpdatedMasters(vector& retDomains, std::unordered_set& /* catalogs */, CatalogHashMap& /* catalogHashes */) +void TinyDNSBackend::getUpdatedPrimaries(vector& retDomains, std::unordered_set& /* catalogs */, CatalogHashMap& /* catalogHashes */) { auto domainInfo = s_domainInfo.lock(); //TODO: We could actually lock less if we do it per suffix. if (!domainInfo->count(d_suffix)) { @@ -175,7 +175,7 @@ void TinyDNSBackend::getAllDomains(vector* domains, bool getSerial, di.id = -1; //TODO: Check if this is ok. di.backend = this; di.zone = rr.qname; - di.kind = DomainInfo::Master; + di.kind = DomainInfo::Primary; di.last_check = time(0); if (getSerial) { @@ -340,7 +340,7 @@ bool TinyDNSBackend::get(DNSResourceRecord& rr) dr.d_type = rr.qtype.getCode(); dr.d_clen = val.size() - pr.getPosition(); - auto drc = DNSRecordContent::mastermake(dr, pr); + auto drc = DNSRecordContent::make(dr, pr); rr.content = drc->getZoneRepresentation(); DLOG(cerr << "CONTENT: " << rr.content << endl); } diff --git a/modules/tinydnsbackend/tinydnsbackend.hh b/modules/tinydnsbackend/tinydnsbackend.hh index 29d1e6479854..bcad58d4c3c1 100644 --- a/modules/tinydnsbackend/tinydnsbackend.hh +++ b/modules/tinydnsbackend/tinydnsbackend.hh @@ -72,8 +72,8 @@ public: bool get(DNSResourceRecord& rr) override; void getAllDomains(vector* domains, bool getSerial, bool include_disabled) override; - //Master mode operation - void getUpdatedMasters(vector& domains, std::unordered_set& catalogs, CatalogHashMap& catalogHashes) override; + // Primary mode operation + void getUpdatedPrimaries(vector& domains, std::unordered_set& catalogs, CatalogHashMap& catalogHashes) override; void setNotified(uint32_t id, uint32_t serial) override; private: diff --git a/pdns/arguments.cc b/pdns/arguments.cc index 3970d8cd51af..aacd60b90f29 100644 --- a/pdns/arguments.cc +++ b/pdns/arguments.cc @@ -359,7 +359,7 @@ static const map deprecateList = { {"snmp-master-socket", "snmp-daemon-socket"}, {"xpf-allow-from", "Proxy Protocol"}, {"xpf-rr-code", "Proxy Protocol"}, - {"allow-unsigned-supermaster", "allow-unsigned-autoprimary"}, + {"allow-unsigned-autoprimary", "allow-unsigned-autoprimary"}, {"master", "primary"}, {"slave-cycle-interval", "xfr-cycle-interval"}, {"slave-renotify", "secondary-do-renotify"}, diff --git a/pdns/auth-main.cc b/pdns/auth-main.cc index 7cf762f35203..41471b188a1a 100644 --- a/pdns/auth-main.cc +++ b/pdns/auth-main.cc @@ -166,7 +166,7 @@ static void declareArguments() ::arg().setSwitch("send-signed-notify", "Send TSIG secured NOTIFY if TSIG key is configured for a zone") = "yes"; ::arg().set("allow-unsigned-notify", "Allow unsigned notifications for TSIG secured zones") = "yes"; // FIXME: change to 'no' later ::arg().set("allow-unsigned-autoprimary", "Allow autoprimaries to create zones without TSIG signed NOTIFY") = "yes"; - ::arg().setSwitch("forward-dnsupdate", "A global setting to allow DNS update packages that are for a Slave zone, to be forwarded to the master.") = "yes"; + ::arg().setSwitch("forward-dnsupdate", "A global setting to allow DNS update packages that are for a Slave zone, to be forwarded to the primary.") = "yes"; ::arg().setSwitch("log-dns-details", "If PDNS should log DNS non-erroneous details") = "no"; ::arg().setSwitch("log-dns-queries", "If PDNS should log all incoming DNS queries") = "no"; ::arg().set("local-address", "Local IP addresses to which we bind") = "0.0.0.0, ::"; @@ -266,7 +266,7 @@ static void declareArguments() ::arg().set("trusted-notification-proxy", "IP address of incoming notification proxy") = ""; ::arg().set("slave-renotify", "If we should send out notifications for secondaried updates") = "no"; ::arg().set("secondary-do-renotify", "If this secondary should send out notifications after receiving zone transfers from a primary") = "no"; - ::arg().set("forward-notify", "IP addresses to forward received notifications to regardless of master or slave settings") = ""; + ::arg().set("forward-notify", "IP addresses to forward received notifications to regardless of primary or slave settings") = ""; ::arg().set("default-ttl", "Seconds a result is valid if not set otherwise") = "3600"; ::arg().set("max-tcp-connections", "Maximum number of TCP connections") = "20"; @@ -311,7 +311,7 @@ static void declareArguments() ::arg().set("lua-health-checks-expire-delay", "Stops doing health checks after the record hasn't been used for that delay (in seconds)") = "3600"; ::arg().set("lua-health-checks-interval", "LUA records health checks monitoring interval in seconds") = "5"; #endif - ::arg().setSwitch("axfr-lower-serial", "Also AXFR a zone from a master with a lower serial") = "no"; + ::arg().setSwitch("axfr-lower-serial", "Also AXFR a zone from a primary with a lower serial") = "no"; ::arg().set("lua-axfr-script", "Script to be used to edit incoming AXFRs") = ""; ::arg().set("xfr-max-received-mbytes", "Maximum number of megabytes received from an incoming XFR") = "100"; diff --git a/pdns/backends/gsql/gsqlbackend.cc b/pdns/backends/gsql/gsqlbackend.cc index 391c2bd75db5..f137c3621e7e 100644 --- a/pdns/backends/gsql/gsqlbackend.cc +++ b/pdns/backends/gsql/gsqlbackend.cc @@ -68,21 +68,21 @@ GSQLBackend::GSQLBackend(const string &mode, const string &suffix) d_InfoOfDomainsZoneQuery=getArg("info-zone-query"); d_InfoOfAllSlaveDomainsQuery=getArg("info-all-slaves-query"); - d_SuperMasterInfoQuery=getArg("supermaster-query"); - d_GetSuperMasterIPs=getArg("supermaster-name-to-ips"); - d_AddSuperMaster=getArg("supermaster-add"); + d_AutoPrimaryInfoQuery = getArg("autoprimary-query"); + d_GetAutoPrimaryIPs = getArg("autoprimary-name-to-ips"); + d_AddAutoPrimary = getArg("autoprimary-add"); d_RemoveAutoPrimaryQuery=getArg("autoprimary-remove"); d_ListAutoPrimariesQuery=getArg("list-autoprimaries"); d_InsertZoneQuery=getArg("insert-zone-query"); d_InsertRecordQuery=getArg("insert-record-query"); - d_UpdateMasterOfZoneQuery=getArg("update-master-query"); + d_UpdatePrimaryOfZoneQuery = getArg("update-primary-query"); d_UpdateKindOfZoneQuery=getArg("update-kind-query"); d_UpdateSerialOfZoneQuery=getArg("update-serial-query"); d_UpdateLastCheckOfZoneQuery=getArg("update-lastcheck-query"); d_UpdateOptionsOfZoneQuery = getArg("update-options-query"); d_UpdateCatalogOfZoneQuery = getArg("update-catalog-query"); d_UpdateAccountOfZoneQuery=getArg("update-account-query"); - d_InfoOfAllMasterDomainsQuery=getArg("info-all-master-query"); + d_InfoOfAllPrimaryDomainsQuery = getArg("info-all-primary-query"); d_InfoProducerMembersQuery = getArg("info-producer-members-query"); d_InfoConsumerMembersQuery = getArg("info-consumer-members-query"); d_DeleteDomainQuery=getArg("delete-domain-query"); @@ -144,22 +144,22 @@ GSQLBackend::GSQLBackend(const string &mode, const string &suffix) d_listSubZoneQuery_stmt = nullptr; d_InfoOfDomainsZoneQuery_stmt = nullptr; d_InfoOfAllSlaveDomainsQuery_stmt = nullptr; - d_SuperMasterInfoQuery_stmt = nullptr; - d_GetSuperMasterIPs_stmt = nullptr; - d_AddSuperMaster_stmt = nullptr; + d_AutoPrimaryInfoQuery_stmt = nullptr; + d_GetAutoPrimaryIPs_stmt = nullptr; + d_AddAutoPrimary_stmt = nullptr; d_RemoveAutoPrimary_stmt = nullptr; d_ListAutoPrimaries_stmt = nullptr; d_InsertZoneQuery_stmt = nullptr; d_InsertRecordQuery_stmt = nullptr; d_InsertEmptyNonTerminalOrderQuery_stmt = nullptr; - d_UpdateMasterOfZoneQuery_stmt = nullptr; + d_UpdatePrimaryOfZoneQuery_stmt = nullptr; d_UpdateKindOfZoneQuery_stmt = nullptr; d_UpdateSerialOfZoneQuery_stmt = nullptr; d_UpdateLastCheckOfZoneQuery_stmt = nullptr; d_UpdateOptionsOfZoneQuery_stmt = nullptr; d_UpdateCatalogOfZoneQuery_stmt = nullptr; d_UpdateAccountOfZoneQuery_stmt = nullptr; - d_InfoOfAllMasterDomainsQuery_stmt = nullptr; + d_InfoOfAllPrimaryDomainsQuery_stmt = nullptr; d_InfoProducerMembersQuery_stmt = nullptr; d_InfoConsumerMembersQuery_stmt = nullptr; d_DeleteDomainQuery_stmt = nullptr; @@ -248,21 +248,21 @@ void GSQLBackend::setFresh(uint32_t domain_id) setLastCheck(domain_id, time(nullptr)); } -bool GSQLBackend::setMasters(const DNSName &domain, const vector &masters) +bool GSQLBackend::setPrimaries(const DNSName& domain, const vector& primaries) { - vector masters_s; - masters_s.reserve(masters.size()); - for (const auto& master : masters) { - masters_s.push_back(master.toStringWithPortExcept(53)); + vector primaries_s; + primaries_s.reserve(primaries.size()); + for (const auto& primary : primaries) { + primaries_s.push_back(primary.toStringWithPortExcept(53)); } - auto tmp = boost::join(masters_s, ", "); + auto tmp = boost::join(primaries_s, ", "); try { reconnectIfNeeded(); // clang-format off - d_UpdateMasterOfZoneQuery_stmt-> + d_UpdatePrimaryOfZoneQuery_stmt-> bind("master", tmp)-> bind("domain", domain)-> execute()-> @@ -270,7 +270,7 @@ bool GSQLBackend::setMasters(const DNSName &domain, const vector & // clang-format on } catch (SSqlException &e) { - throw PDNSException("GSQLBackend unable to set masters of domain '"+domain.toLogString()+"' to " + tmp + ": "+e.txtReason()); + throw PDNSException("GSQLBackend unable to set primaries of domain '" + domain.toLogString() + "' to " + tmp + ": " + e.txtReason()); } return true; } @@ -388,10 +388,10 @@ bool GSQLBackend::getDomainInfo(const DNSName &domain, DomainInfo &di, bool getS di.account = d_result[0][8]; di.kind = DomainInfo::stringToKind(type); - vector masters; - stringtok(masters, d_result[0][2], " ,\t"); - for(const auto& m : masters) - di.masters.emplace_back(m, 53); + vector primaries; + stringtok(primaries, d_result[0][2], " ,\t"); + for (const auto& m : primaries) + di.primaries.emplace_back(m, 53); pdns::checked_stoi_into(di.last_check, d_result[0][3]); pdns::checked_stoi_into(di.notified_serial, d_result[0][4]); di.backend=this; @@ -436,7 +436,7 @@ void GSQLBackend::getUnfreshSlaveInfos(vector *unfreshDomains) SOAData sd; DomainInfo di; - vector masters; + vector primaries; unfreshDomains->reserve(d_result.size()); for (const auto& row : d_result) { // id, name, type, master, last_check, catalog, content @@ -489,18 +489,18 @@ void GSQLBackend::getUnfreshSlaveInfos(vector *unfreshDomains) continue; } - di.masters.clear(); - masters.clear(); - stringtok(masters, row[3], ", \t"); - for(const auto& m : masters) { + di.primaries.clear(); + primaries.clear(); + stringtok(primaries, row[3], ", \t"); + for (const auto& m : primaries) { try { - di.masters.emplace_back(m, 53); + di.primaries.emplace_back(m, 53); } catch(const PDNSException &e) { - g_log << Logger::Warning << __PRETTY_FUNCTION__ << " could not parse master address '" << m << "' for zone '" << di.zone << "': " << e.reason << endl; + g_log << Logger::Warning << __PRETTY_FUNCTION__ << " could not parse primary address '" << m << "' for zone '" << di.zone << "': " << e.reason << endl; } } - if (di.masters.empty()) { - g_log << Logger::Warning << __PRETTY_FUNCTION__ << " no masters for secondary zone '" << di.zone << "' found in the database" << endl; + if (di.primaries.empty()) { + g_log << Logger::Warning << __PRETTY_FUNCTION__ << " no primaries for secondary zone '" << di.zone << "' found in the database" << endl; continue; } @@ -519,7 +519,7 @@ void GSQLBackend::getUnfreshSlaveInfos(vector *unfreshDomains) } } -void GSQLBackend::getUpdatedMasters(vector& updatedDomains, std::unordered_set& catalogs, CatalogHashMap& catalogHashes) +void GSQLBackend::getUpdatedPrimaries(vector& updatedDomains, std::unordered_set& catalogs, CatalogHashMap& catalogHashes) { /* list all domains that need notifications for which we are promary, and insert into @@ -530,14 +530,14 @@ void GSQLBackend::getUpdatedMasters(vector& updatedDomains, std::uno reconnectIfNeeded(); // clang-format off - d_InfoOfAllMasterDomainsQuery_stmt-> + d_InfoOfAllPrimaryDomainsQuery_stmt-> execute()-> getResult(d_result)-> reset(); // clang-format on } catch(SSqlException &e) { - throw PDNSException(std::string(__PRETTY_FUNCTION__) + " unable to retrieve list of master domains: " + e.txtReason()); + throw PDNSException(std::string(__PRETTY_FUNCTION__) + " unable to retrieve list of primary domains: " + e.txtReason()); } SOAData sd; @@ -546,7 +546,7 @@ void GSQLBackend::getUpdatedMasters(vector& updatedDomains, std::uno updatedDomains.reserve(d_result.size()); for (const auto& row : d_result) { // id, name, type, notified_serial, options, catalog, content - ASSERT_ROW_COLUMNS("info-all-master-query", row, 7); + ASSERT_ROW_COLUMNS("info-all-primary-query", row, 7); di.backend = this; @@ -623,7 +623,7 @@ void GSQLBackend::getUpdatedMasters(vector& updatedDomains, std::uno } if (di.notified_serial != sd.serial) { - di.kind = DomainInfo::Master; + di.kind = DomainInfo::Primary; di.serial = sd.serial; di.catalog.clear(); @@ -707,14 +707,14 @@ bool GSQLBackend::getCatalogMembers(const DNSName& catalog, vector& } if (row.size() >= 4) { // Consumer only - vector masters; - stringtok(masters, row[3], ", \t"); - for (const auto& m : masters) { + vector primaries; + stringtok(primaries, row[3], ", \t"); + for (const auto& m : primaries) { try { ci.d_primaries.emplace_back(m, 53); } catch (const PDNSException& e) { - g_log << Logger::Warning << __PRETTY_FUNCTION__ << " could not parse master address '" << m << "' for zone '" << ci.d_zone << "': " << e.reason << endl; + g_log << Logger::Warning << __PRETTY_FUNCTION__ << " could not parse primary address '" << m << "' for zone '" << ci.d_zone << "': " << e.reason << endl; members.clear(); return false; } @@ -1536,13 +1536,13 @@ bool GSQLBackend::get(DNSResourceRecord &r) return false; } -bool GSQLBackend::superMasterAdd(const AutoPrimary& primary) +bool GSQLBackend::autoPrimaryAdd(const AutoPrimary& primary) { try{ reconnectIfNeeded(); // clang-format off - d_AddSuperMaster_stmt -> + d_AddAutoPrimary_stmt -> bind("ip",primary.ip)-> bind("nameserver",primary.nameserver)-> bind("account",primary.account)-> @@ -1601,7 +1601,7 @@ bool GSQLBackend::autoPrimariesList(std::vector& primaries) return true; } -bool GSQLBackend::superMasterBackend(const string &ip, const DNSName &domain, const vector&nsset, string *nameserver, string *account, DNSBackend **ddb) +bool GSQLBackend::autoPrimaryBackend(const string& ip, const DNSName& domain, const vector& nsset, string* nameserver, string* account, DNSBackend** ddb) { // check if we know the ip/ns couple in the database for(const auto & i : nsset) { @@ -1609,7 +1609,7 @@ bool GSQLBackend::superMasterBackend(const string &ip, const DNSName &domain, co reconnectIfNeeded(); // clang-format off - d_SuperMasterInfoQuery_stmt-> + d_AutoPrimaryInfoQuery_stmt-> bind("ip", ip)-> bind("nameserver", i.content)-> execute()-> @@ -1618,10 +1618,10 @@ bool GSQLBackend::superMasterBackend(const string &ip, const DNSName &domain, co // clang-format on } catch (SSqlException &e) { - throw PDNSException("GSQLBackend unable to search for a supermaster with IP " + ip + " and nameserver name '" + i.content + "' for domain '" + domain.toLogString() + "': "+e.txtReason()); + throw PDNSException("GSQLBackend unable to search for a autoprimary with IP " + ip + " and nameserver name '" + i.content + "' for domain '" + domain.toLogString() + "': " + e.txtReason()); } if(!d_result.empty()) { - ASSERT_ROW_COLUMNS("supermaster-query", d_result[0], 1); + ASSERT_ROW_COLUMNS("autoprimary-query", d_result[0], 1); *nameserver=i.content; *account=d_result[0][0]; *ddb=this; @@ -1631,12 +1631,12 @@ bool GSQLBackend::superMasterBackend(const string &ip, const DNSName &domain, co return false; } -bool GSQLBackend::createDomain(const DNSName& domain, const DomainInfo::DomainKind kind, const vector& masters, const string& account) +bool GSQLBackend::createDomain(const DNSName& domain, const DomainInfo::DomainKind kind, const vector& primaries, const string& account) { - vector masters_s; - masters_s.reserve(masters.size()); - for (const auto& master : masters) { - masters_s.push_back(master.toStringWithPortExcept(53)); + vector primaries_s; + primaries_s.reserve(primaries.size()); + for (const auto& primary : primaries) { + primaries_s.push_back(primary.toStringWithPortExcept(53)); } try { @@ -1646,7 +1646,7 @@ bool GSQLBackend::createDomain(const DNSName& domain, const DomainInfo::DomainKi d_InsertZoneQuery_stmt-> bind("type", toUpper(DomainInfo::getKindString(kind)))-> bind("domain", domain)-> - bind("masters", boost::join(masters_s, ", "))-> + bind("primaries", boost::join(primaries_s, ", "))-> bind("account", account)-> execute()-> reset(); @@ -1661,14 +1661,14 @@ bool GSQLBackend::createDomain(const DNSName& domain, const DomainInfo::DomainKi bool GSQLBackend::createSlaveDomain(const string& ip, const DNSName& domain, const string& nameserver, const string& account) { string name; - vector masters({ComboAddress(ip, 53)}); + vector primaries({ComboAddress(ip, 53)}); try { if (!nameserver.empty()) { - // figure out all IP addresses for the master + // figure out all IP addresses for the primary reconnectIfNeeded(); // clang-format off - d_GetSuperMasterIPs_stmt-> + d_GetAutoPrimaryIPs_stmt-> bind("nameserver", nameserver)-> bind("account", account)-> execute()-> @@ -1682,11 +1682,11 @@ bool GSQLBackend::createSlaveDomain(const string& ip, const DNSName& domain, con if (account == row[1]) tmp.emplace_back(row[0], 53); } - // set them as domain's masters, comma separated - masters = tmp; + // set them as domain's primaries, comma separated + primaries = tmp; } } - createDomain(domain, DomainInfo::Slave, masters, account); + createDomain(domain, DomainInfo::Slave, primaries, account); } catch(SSqlException &e) { throw PDNSException("Database error trying to insert new slave domain '"+domain.toLogString()+"': "+ e.txtReason()); @@ -1763,7 +1763,7 @@ void GSQLBackend::getAllDomains(vector* domains, bool getSerial, boo } if (pdns_iequals(row[3], "MASTER")) { - di.kind = DomainInfo::Master; + di.kind = DomainInfo::Primary; } else if (pdns_iequals(row[3], "SLAVE")) { di.kind = DomainInfo::Slave; } else if (pdns_iequals(row[3], "NATIVE")) { @@ -1781,13 +1781,13 @@ void GSQLBackend::getAllDomains(vector* domains, bool getSerial, boo } if (!row[4].empty()) { - vector masters; - stringtok(masters, row[4], " ,\t"); - for(const auto& m : masters) { + vector primaries; + stringtok(primaries, row[4], " ,\t"); + for (const auto& m : primaries) { try { - di.masters.emplace_back(m, 53); + di.primaries.emplace_back(m, 53); } catch(const PDNSException &e) { - g_log<prepare(d_ANYIdQuery, 2); d_listQuery_stmt = d_db->prepare(d_listQuery, 2); d_listSubZoneQuery_stmt = d_db->prepare(d_listSubZoneQuery, 3); - d_MasterOfDomainsZoneQuery_stmt = d_db->prepare(d_MasterOfDomainsZoneQuery, 1); + d_PrimaryOfDomainsZoneQuery_stmt = d_db->prepare(d_PrimaryOfDomainsZoneQuery, 1); d_InfoOfDomainsZoneQuery_stmt = d_db->prepare(d_InfoOfDomainsZoneQuery, 1); d_InfoOfAllSlaveDomainsQuery_stmt = d_db->prepare(d_InfoOfAllSlaveDomainsQuery, 0); - d_SuperMasterInfoQuery_stmt = d_db->prepare(d_SuperMasterInfoQuery, 2); - d_GetSuperMasterIPs_stmt = d_db->prepare(d_GetSuperMasterIPs, 2); - d_AddSuperMaster_stmt = d_db->prepare(d_AddSuperMaster, 3); + d_AutoPrimaryInfoQuery_stmt = d_db->prepare(d_AutoPrimaryInfoQuery, 2); + d_GetAutoPrimaryIPs_stmt = d_db->prepare(d_GetAutoPrimaryIPs, 2); + d_AddAutoPrimary_stmt = d_db->prepare(d_AddAutoPrimary, 3); d_RemoveAutoPrimary_stmt = d_db->prepare(d_RemoveAutoPrimaryQuery, 2); d_ListAutoPrimaries_stmt = d_db->prepare(d_ListAutoPrimariesQuery, 0); d_InsertZoneQuery_stmt = d_db->prepare(d_InsertZoneQuery, 4); d_InsertRecordQuery_stmt = d_db->prepare(d_InsertRecordQuery, 9); d_InsertEmptyNonTerminalOrderQuery_stmt = d_db->prepare(d_InsertEmptyNonTerminalOrderQuery, 4); - d_UpdateMasterOfZoneQuery_stmt = d_db->prepare(d_UpdateMasterOfZoneQuery, 2); + d_UpdatePrimaryOfZoneQuery_stmt = d_db->prepare(d_UpdatePrimaryOfZoneQuery, 2); d_UpdateKindOfZoneQuery_stmt = d_db->prepare(d_UpdateKindOfZoneQuery, 2); d_UpdateOptionsOfZoneQuery_stmt = d_db->prepare(d_UpdateOptionsOfZoneQuery, 2); d_UpdateCatalogOfZoneQuery_stmt = d_db->prepare(d_UpdateCatalogOfZoneQuery, 2); d_UpdateAccountOfZoneQuery_stmt = d_db->prepare(d_UpdateAccountOfZoneQuery, 2); d_UpdateSerialOfZoneQuery_stmt = d_db->prepare(d_UpdateSerialOfZoneQuery, 2); d_UpdateLastCheckOfZoneQuery_stmt = d_db->prepare(d_UpdateLastCheckOfZoneQuery, 2); - d_InfoOfAllMasterDomainsQuery_stmt = d_db->prepare(d_InfoOfAllMasterDomainsQuery, 0); + d_InfoOfAllPrimaryDomainsQuery_stmt = d_db->prepare(d_InfoOfAllPrimaryDomainsQuery, 0); d_InfoProducerMembersQuery_stmt = d_db->prepare(d_InfoProducerMembersQuery, 1); d_InfoConsumerMembersQuery_stmt = d_db->prepare(d_InfoConsumerMembersQuery, 1); d_DeleteDomainQuery_stmt = d_db->prepare(d_DeleteDomainQuery, 1); @@ -131,25 +131,25 @@ protected: d_ANYIdQuery_stmt.reset(); d_listQuery_stmt.reset(); d_listSubZoneQuery_stmt.reset(); - d_MasterOfDomainsZoneQuery_stmt.reset(); + d_PrimaryOfDomainsZoneQuery_stmt.reset(); d_InfoOfDomainsZoneQuery_stmt.reset(); d_InfoOfAllSlaveDomainsQuery_stmt.reset(); - d_SuperMasterInfoQuery_stmt.reset(); - d_GetSuperMasterIPs_stmt.reset(); - d_AddSuperMaster_stmt.reset(); + d_AutoPrimaryInfoQuery_stmt.reset(); + d_GetAutoPrimaryIPs_stmt.reset(); + d_AddAutoPrimary_stmt.reset(); d_RemoveAutoPrimary_stmt.reset(); d_ListAutoPrimaries_stmt.reset(); d_InsertZoneQuery_stmt.reset(); d_InsertRecordQuery_stmt.reset(); d_InsertEmptyNonTerminalOrderQuery_stmt.reset(); - d_UpdateMasterOfZoneQuery_stmt.reset(); + d_UpdatePrimaryOfZoneQuery_stmt.reset(); d_UpdateKindOfZoneQuery_stmt.reset(); d_UpdateOptionsOfZoneQuery_stmt.reset(); d_UpdateCatalogOfZoneQuery_stmt.reset(); d_UpdateAccountOfZoneQuery_stmt.reset(); d_UpdateSerialOfZoneQuery_stmt.reset(); d_UpdateLastCheckOfZoneQuery_stmt.reset(); - d_InfoOfAllMasterDomainsQuery_stmt.reset(); + d_InfoOfAllPrimaryDomainsQuery_stmt.reset(); d_InfoProducerMembersQuery_stmt.reset(); d_InfoConsumerMembersQuery_stmt.reset(); d_DeleteDomainQuery_stmt.reset(); @@ -204,21 +204,21 @@ public: bool feedRecord(const DNSResourceRecord &r, const DNSName &ordername, bool ordernameIsNSEC3=false) override; bool feedEnts(int domain_id, map& nonterm) override; bool feedEnts3(int domain_id, const DNSName &domain, map &nonterm, const NSEC3PARAMRecordContent& ns3prc, bool narrow) override; - bool createDomain(const DNSName& domain, const DomainInfo::DomainKind kind, const vector& masters, const string& account) override; + bool createDomain(const DNSName& domain, const DomainInfo::DomainKind kind, const vector& primaries, 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 AutoPrimary& primary) override; + bool autoPrimaryAdd(const AutoPrimary& primary) override; bool autoPrimaryRemove(const AutoPrimary& primary) override; bool autoPrimariesList(std::vector& primaries) override; - bool superMasterBackend(const string &ip, const DNSName &domain, const vector&nsset, string *nameserver, string *account, DNSBackend **db) override; + bool autoPrimaryBackend(const string& ip, const DNSName& domain, const vector& nsset, string* nameserver, string* account, DNSBackend** db) override; void setStale(uint32_t domain_id) override; void setFresh(uint32_t domain_id) override; void getUnfreshSlaveInfos(vector *domains) override; - void getUpdatedMasters(vector& updatedDomains, std::unordered_set& catalogs, CatalogHashMap& catalogHashes) override; + void getUpdatedPrimaries(vector& updatedDomains, std::unordered_set& catalogs, CatalogHashMap& catalogHashes) override; bool getCatalogMembers(const DNSName& catalog, vector& members, CatalogInfo::CatalogType type) override; bool getDomainInfo(const DNSName &domain, DomainInfo &di, bool getSerial=true) override; void setNotified(uint32_t domain_id, uint32_t serial) override; - bool setMasters(const DNSName &domain, const vector &masters) override; + bool setPrimaries(const DNSName& domain, const vector& primaries) override; bool setKind(const DNSName &domain, const DomainInfo::DomainKind kind) override; bool setOptions(const DNSName& domain, const string& options) override; bool setCatalog(const DNSName& domain, const DNSName& catalog) override; @@ -298,27 +298,27 @@ private: string d_listSubZoneQuery; string d_logprefix; - string d_MasterOfDomainsZoneQuery; + string d_PrimaryOfDomainsZoneQuery; string d_InfoOfDomainsZoneQuery; string d_InfoOfAllSlaveDomainsQuery; - string d_SuperMasterInfoQuery; - string d_GetSuperMasterName; - string d_GetSuperMasterIPs; - string d_AddSuperMaster; + string d_AutoPrimaryInfoQuery; + string d_GetAutoPrimaryName; + string d_GetAutoPrimaryIPs; + string d_AddAutoPrimary; string d_RemoveAutoPrimaryQuery; string d_ListAutoPrimariesQuery; string d_InsertZoneQuery; string d_InsertRecordQuery; string d_InsertEmptyNonTerminalOrderQuery; - string d_UpdateMasterOfZoneQuery; + string d_UpdatePrimaryOfZoneQuery; string d_UpdateKindOfZoneQuery; string d_UpdateOptionsOfZoneQuery; string d_UpdateCatalogOfZoneQuery; string d_UpdateAccountOfZoneQuery; string d_UpdateSerialOfZoneQuery; string d_UpdateLastCheckOfZoneQuery; - string d_InfoOfAllMasterDomainsQuery; + string d_InfoOfAllPrimaryDomainsQuery; string d_InfoProducerMembersQuery; string d_InfoConsumerMembersQuery; string d_DeleteDomainQuery; @@ -377,25 +377,25 @@ private: unique_ptr d_ANYIdQuery_stmt; unique_ptr d_listQuery_stmt; unique_ptr d_listSubZoneQuery_stmt; - unique_ptr d_MasterOfDomainsZoneQuery_stmt; + unique_ptr d_PrimaryOfDomainsZoneQuery_stmt; unique_ptr d_InfoOfDomainsZoneQuery_stmt; unique_ptr d_InfoOfAllSlaveDomainsQuery_stmt; - unique_ptr d_SuperMasterInfoQuery_stmt; - unique_ptr d_GetSuperMasterIPs_stmt; - unique_ptr d_AddSuperMaster_stmt; + unique_ptr d_AutoPrimaryInfoQuery_stmt; + unique_ptr d_GetAutoPrimaryIPs_stmt; + unique_ptr d_AddAutoPrimary_stmt; unique_ptr d_RemoveAutoPrimary_stmt; unique_ptr d_ListAutoPrimaries_stmt; unique_ptr d_InsertZoneQuery_stmt; unique_ptr d_InsertRecordQuery_stmt; unique_ptr d_InsertEmptyNonTerminalOrderQuery_stmt; - unique_ptr d_UpdateMasterOfZoneQuery_stmt; + unique_ptr d_UpdatePrimaryOfZoneQuery_stmt; unique_ptr d_UpdateKindOfZoneQuery_stmt; unique_ptr d_UpdateOptionsOfZoneQuery_stmt; unique_ptr d_UpdateCatalogOfZoneQuery_stmt; unique_ptr d_UpdateAccountOfZoneQuery_stmt; unique_ptr d_UpdateSerialOfZoneQuery_stmt; unique_ptr d_UpdateLastCheckOfZoneQuery_stmt; - unique_ptr d_InfoOfAllMasterDomainsQuery_stmt; + unique_ptr d_InfoOfAllPrimaryDomainsQuery_stmt; unique_ptr d_InfoProducerMembersQuery_stmt; unique_ptr d_InfoConsumerMembersQuery_stmt; unique_ptr d_DeleteDomainQuery_stmt; diff --git a/pdns/bindparser.yy b/pdns/bindparser.yy index 9f6ba81fe61b..179ca457617a 100644 --- a/pdns/bindparser.yy +++ b/pdns/bindparser.yy @@ -258,7 +258,7 @@ primaries: /* empty */ primary: AWORD { - s_di.masters.push_back(ComboAddress($1, 53)); + s_di.primaries.push_back(ComboAddress($1, 53)); free($1); } ; diff --git a/pdns/bindparserclasses.hh b/pdns/bindparserclasses.hh index b47d23827403..1063de98ecb2 100644 --- a/pdns/bindparserclasses.hh +++ b/pdns/bindparserclasses.hh @@ -39,7 +39,7 @@ public: { name=DNSName(); filename=type=""; - masters.clear(); + primaries.clear(); alsoNotify.clear(); d_dev=0; d_ino=0; @@ -47,7 +47,7 @@ public: DNSName name; string viewName; string filename; - vector masters; + vector primaries; set alsoNotify; string type; bool hadFileDirective; diff --git a/pdns/communicator.cc b/pdns/communicator.cc index bbe23eef6a3a..80f65f31c0c3 100644 --- a/pdns/communicator.cc +++ b/pdns/communicator.cc @@ -60,7 +60,7 @@ void CommunicatorClass::retrievalLoopThread() data->d_sorthelper = 0; } } - suck(sr.domain, sr.master, sr.force); + suck(sr.domain, sr.primary, sr.force); } } @@ -130,7 +130,7 @@ void CommunicatorClass::mainloop() for(;;) { slaveRefresh(&P); - masterUpdateCheck(&P); + primaryUpdateCheck(&P); doNotifications(&P); // this processes any notification acknowledgements and actually send out our own notifications next = time(nullptr) + d_tickinterval; diff --git a/pdns/communicator.hh b/pdns/communicator.hh index 9cd12fcbea03..e913eea1f277 100644 --- a/pdns/communicator.hh +++ b/pdns/communicator.hh @@ -44,13 +44,13 @@ using namespace boost::multi_index; struct SuckRequest { DNSName domain; - ComboAddress master; + ComboAddress primary; bool force; enum RequestPriority : uint8_t { PdnsControl, Api, Notify, SerialRefresh, SignaturesRefresh }; std::pair priorityAndOrder; bool operator<(const SuckRequest& b) const { - return std::tie(domain, master) < std::tie(b.domain, b.master); + return std::tie(domain, primary) < std::tie(b.domain, b.primary); } }; @@ -161,9 +161,9 @@ public: void drillHole(const DNSName &domain, const string &ip); bool justNotified(const DNSName &domain, const string &ip); - void addSuckRequest(const DNSName &domain, const ComboAddress& master, SuckRequest::RequestPriority, bool force=false); + void addSuckRequest(const DNSName& domain, const ComboAddress& primary, SuckRequest::RequestPriority, bool force = false); void addSlaveCheckRequest(const DomainInfo& di, const ComboAddress& remote); - void addTrySuperMasterRequest(const DNSPacket& p); + void addTryAutoPrimaryRequest(const DNSPacket& p); void notify(const DNSName &domain, const string &ip); void mainloop(); void retrievalLoopThread(); @@ -182,7 +182,7 @@ private: void ixfrSuck(const DNSName& domain, const TSIGTriplet& tt, const ComboAddress& laddr, const ComboAddress& remote, ZoneStatus& zs, vector* axfr); void slaveRefresh(PacketHandler *P); - void masterUpdateCheck(PacketHandler *P); + void primaryUpdateCheck(PacketHandler* P); void getUpdatedProducers(UeberBackend* B, vector& domains, const std::unordered_set& catalogs, CatalogHashMap& catalogHashes); Semaphore d_suck_sem; @@ -209,7 +209,7 @@ private: }; }; - std::set d_potentialsupermasters; + std::set d_potentialautoprimaries; // Used to keep some state on domains that failed their freshness checks. // uint64_t == counter of the number of failures (increased by 1 every consecutive slave-cycle-interval that the domain fails) diff --git a/pdns/dbdnsseckeeper.cc b/pdns/dbdnsseckeeper.cc index 514025292961..717b00bda2f6 100644 --- a/pdns/dbdnsseckeeper.cc +++ b/pdns/dbdnsseckeeper.cc @@ -668,13 +668,13 @@ bool DNSSECKeeper::TSIGGrantsAccess(const DNSName& zone, const DNSName& keyname) return false; } -bool DNSSECKeeper::getTSIGForAccess(const DNSName& zone, const ComboAddress& /* master */, DNSName* keyname) +bool DNSSECKeeper::getTSIGForAccess(const DNSName& zone, const ComboAddress& /* primary */, DNSName* keyname) { vector keynames; d_keymetadb->getDomainMetadata(zone, "AXFR-MASTER-TSIG", keynames); keyname->trimToLabels(0); - // XXX FIXME this should check for a specific master! + // XXX FIXME this should check for a specific primary! for(const string& dbkey : keynames) { *keyname=DNSName(dbkey); return true; diff --git a/pdns/dnsbackend.cc b/pdns/dnsbackend.cc index 8cceece21390..c28525a66130 100644 --- a/pdns/dnsbackend.cc +++ b/pdns/dnsbackend.cc @@ -312,7 +312,7 @@ void fillSOAData(const DNSZoneRecord& in, SOAData& sd) auto src=getRR(in.dr); sd.nameserver = src->d_mname; - sd.hostmaster = src->d_rname; + sd.rname = src->d_rname; sd.serial = src->d_st.serial; sd.refresh = src->d_st.refresh; sd.retry = src->d_st.retry; @@ -328,7 +328,7 @@ std::shared_ptr makeSOAContent(const SOAData& sd) st.retry = sd.retry; st.expire = sd.expire; st.minimum = sd.minimum; - return std::make_shared(sd.nameserver, sd.hostmaster, st); + return std::make_shared(sd.nameserver, sd.rname, st); } void fillSOAData(const string &content, SOAData &data) @@ -339,7 +339,7 @@ void fillSOAData(const string &content, SOAData &data) try { data.nameserver = DNSName(parts.at(0)); - data.hostmaster = DNSName(parts.at(1)); + data.rname = DNSName(parts.at(1)); pdns::checked_stoi_into(data.serial, parts.at(2)); pdns::checked_stoi_into(data.refresh, parts.at(3)); pdns::checked_stoi_into(data.retry, parts.at(4)); diff --git a/pdns/dnsbackend.hh b/pdns/dnsbackend.hh index 1e346a16ebd7..3593b211d0f0 100644 --- a/pdns/dnsbackend.hh +++ b/pdns/dnsbackend.hh @@ -58,7 +58,7 @@ struct DomainInfo time_t last_check{}; string options; string account; - vector masters; + vector primaries; DNSBackend *backend{}; uint32_t id{}; @@ -76,7 +76,7 @@ struct DomainInfo // Do not reorder (lmdbbackend)!!! One exception 'All' is always last. enum DomainKind : uint8_t { - Master, + Primary, Slave, Native, Producer, @@ -101,7 +101,7 @@ struct DomainInfo return DomainInfo::Slave; } if (pdns_iequals(kind, "PRIMARY") || pdns_iequals(kind, "MASTER")) { - return DomainInfo::Master; + return DomainInfo::Primary; } if (pdns_iequals(kind, "PRODUCER")) { return DomainInfo::Producer; @@ -113,13 +113,13 @@ struct DomainInfo return DomainInfo::Native; } - [[nodiscard]] bool isPrimaryType() const { return (kind == DomainInfo::Master || kind == DomainInfo::Producer); } + [[nodiscard]] bool isPrimaryType() const { return (kind == DomainInfo::Primary || kind == DomainInfo::Producer); } [[nodiscard]] bool isSecondaryType() const { return (kind == DomainInfo::Slave || kind == DomainInfo::Consumer); } [[nodiscard]] bool isCatalogType() const { return (kind == DomainInfo::Producer || kind == DomainInfo::Consumer); } - [[nodiscard]] bool isMaster(const ComboAddress& ipAddress) const + [[nodiscard]] bool isPrimary(const ComboAddress& ipAddress) const { - return std::any_of(masters.begin(), masters.end(), [ipAddress](auto master) { return ComboAddress::addressOnlyEqual()(ipAddress, master); }); + return std::any_of(primaries.begin(), primaries.end(), [ipAddress](auto primary) { return ComboAddress::addressOnlyEqual()(ipAddress, primary); }); } }; @@ -279,7 +279,7 @@ public: return false; } - //! returns true if master ip is master for domain name. + //! returns true if primary ip is primary for domain name. //! starts the transaction for updating domain qname (FIXME: what is id?) virtual bool startTransaction(const DNSName& /* qname */, int /* id */ = -1) { @@ -344,7 +344,7 @@ public: } //! get list of domains that have been changed since their last notification to slaves - virtual void getUpdatedMasters(vector& /* domains */, std::unordered_set& /* catalogs */, CatalogHashMap& /* catalogHashes */) + virtual void getUpdatedPrimaries(vector& /* domains */, std::unordered_set& /* catalogs */, CatalogHashMap& /* catalogHashes */) { } @@ -369,13 +369,13 @@ public: { } - //! Called when the Master list of a domain should be changed - virtual bool setMasters(const DNSName& /* domain */, const vector& /* masters */) + //! Called when the Primary list of a domain should be changed + virtual bool setPrimaries(const DNSName& /* domain */, const vector& /* primaries */) { return false; } - //! Called when the Kind of a domain should be changed (master -> native and similar) + //! Called when the Kind of a domain should be changed (primary -> native and similar) virtual bool setKind(const DNSName& /* domain */, const DomainInfo::DomainKind /* kind */) { return false; @@ -402,37 +402,37 @@ public: //! Can be called to seed the getArg() function with a prefix void setArgPrefix(const string &prefix); - //! Add an entry for a super master - virtual bool superMasterAdd(const struct AutoPrimary& /* primary */) + //! Add an entry for a super primary + virtual bool autoPrimaryAdd(const struct AutoPrimary& /* primary */) { return false; } - //! Remove an entry for a super master + //! Remove an entry for a super primary virtual bool autoPrimaryRemove(const struct AutoPrimary& /* primary */) { return false; } - //! List all SuperMasters, returns false if feature not supported. + //! List all AutoPrimaries, returns false if feature not supported. virtual bool autoPrimariesList(std::vector& /* primaries */) { return false; } - //! determine if ip is a supermaster or a domain - virtual bool superMasterBackend(const string& /* ip */, const DNSName& /* domain */, const vector& /* nsset */, string* /* nameserver */, string* /* account */, DNSBackend** /* db */) + //! determine if ip is a autoprimary or a domain + virtual bool autoPrimaryBackend(const string& /* ip */, const DNSName& /* domain */, const vector& /* nsset */, string* /* nameserver */, string* /* account */, DNSBackend** /* db */) { return false; } //! called by PowerDNS to create a new domain - virtual bool createDomain(const DNSName& /* domain */, const DomainInfo::DomainKind /* kind */, const vector& /* masters */, const string& /* account */) + virtual bool createDomain(const DNSName& /* domain */, const DomainInfo::DomainKind /* kind */, const vector& /* primaries */, const string& /* account */) { return false; } - //! called by PowerDNS to create a slave record for a superMaster + //! called by PowerDNS to create a slave record for a autoPrimary virtual bool createSlaveDomain(const string& /* ip */, const DNSName& /* domain */, const string& /* nameserver */, const string& /* account */) { return false; @@ -525,7 +525,7 @@ struct SOAData DNSName qname; DNSName nameserver; - DNSName hostmaster; + DNSName rname; uint32_t ttl{}; uint32_t serial{}; uint32_t refresh{}; diff --git a/pdns/dnsdistdist/dnsdist-tcp-downstream.cc b/pdns/dnsdistdist/dnsdist-tcp-downstream.cc index 35a2befffbae..f6b4323e7ffc 100644 --- a/pdns/dnsdistdist/dnsdist-tcp-downstream.cc +++ b/pdns/dnsdistdist/dnsdist-tcp-downstream.cc @@ -817,11 +817,11 @@ bool TCPConnectionToBackend::isXFRFinished(const TCPResponse& response, TCPQuery } auto raw = unknownContent->getRawContent(); auto serial = getSerialFromRawSOAContent(raw); - if (query.d_xfrMasterSerial == 0) { + if (query.d_xfrPrimarySerial == 0) { // store the first SOA in our client's connection metadata - query.d_xfrMasterSerial = serial; - if (query.d_idstate.qtype == QType::IXFR && (query.d_xfrMasterSerial == query.d_ixfrQuerySerial || rfc1982LessThan(query.d_xfrMasterSerial, query.d_ixfrQuerySerial))) { - /* This is the first message with a master SOA: + query.d_xfrPrimarySerial = serial; + if (query.d_idstate.qtype == QType::IXFR && (query.d_xfrPrimarySerial == query.d_ixfrQuerySerial || rfc1982LessThan(query.d_xfrPrimarySerial, query.d_ixfrQuerySerial))) { + /* This is the first message with a primary SOA: RFC 1995 Section 2: If an IXFR query with the same or newer version number than that of the server is received, it is replied to @@ -833,16 +833,16 @@ bool TCPConnectionToBackend::isXFRFinished(const TCPResponse& response, TCPQuery } ++query.d_xfrSerialCount; - if (serial == query.d_xfrMasterSerial) { - ++query.d_xfrMasterSerialCount; - // figure out if it's end when receiving master's SOA again + if (serial == query.d_xfrPrimarySerial) { + ++query.d_xfrPrimarySerialCount; + // figure out if it's end when receiving primary's SOA again if (query.d_xfrSerialCount == 2) { // if there are only two SOA records marks a finished AXFR done = true; break; } - if (query.d_xfrMasterSerialCount == 3) { - // receiving master's SOA 3 times marks a finished IXFR + if (query.d_xfrPrimarySerialCount == 3) { + // receiving primary's SOA 3 times marks a finished IXFR done = true; break; } diff --git a/pdns/dnsdistdist/dnsdist-tcp.hh b/pdns/dnsdistdist/dnsdist-tcp.hh index 53c7bec26234..199cbcab3545 100644 --- a/pdns/dnsdistdist/dnsdist-tcp.hh +++ b/pdns/dnsdistdist/dnsdist-tcp.hh @@ -102,10 +102,10 @@ public: std::string d_proxyProtocolPayload; PacketBuffer d_buffer; uint32_t d_ixfrQuerySerial{0}; - uint32_t d_xfrMasterSerial{0}; + uint32_t d_xfrPrimarySerial{0}; uint32_t d_xfrSerialCount{0}; uint32_t d_downstreamFailures{0}; - uint8_t d_xfrMasterSerialCount{0}; + uint8_t d_xfrPrimarySerialCount{0}; bool d_xfrStarted{false}; bool d_proxyProtocolPayloadAdded{false}; }; diff --git a/pdns/dnsparser.cc b/pdns/dnsparser.cc index e799c0d34ac0..df48d0c9847a 100644 --- a/pdns/dnsparser.cc +++ b/pdns/dnsparser.cc @@ -119,12 +119,12 @@ shared_ptr DNSRecordContent::deserialize(const DNSName& qname, PacketReader pr(std::string_view(reinterpret_cast(packet.data()), packet.size()), packet.size() - serialized.size() - sizeof(dnsrecordheader)); /* needed to get the record boundaries right */ pr.getDnsrecordheader(drh); - auto content = DNSRecordContent::mastermake(dr, pr, Opcode::Query); + auto content = DNSRecordContent::make(dr, pr, Opcode::Query); return content; } -std::shared_ptr DNSRecordContent::mastermake(const DNSRecord &dr, - PacketReader& pr) +std::shared_ptr DNSRecordContent::make(const DNSRecord& dr, + PacketReader& pr) { uint16_t searchclass = (dr.d_type == QType::OPT) ? 1 : dr.d_class; // class is invalid for OPT @@ -136,8 +136,8 @@ std::shared_ptr DNSRecordContent::mastermake(const DNSRecord & return i->second(dr, pr); } -std::shared_ptr DNSRecordContent::mastermake(uint16_t qtype, uint16_t qclass, - const string& content) +std::shared_ptr DNSRecordContent::make(uint16_t qtype, uint16_t qclass, + const string& content) { auto i = getZmakermap().find(pair(qclass, qtype)); if(i==getZmakermap().end()) { @@ -147,7 +147,8 @@ std::shared_ptr DNSRecordContent::mastermake(uint16_t qtype, u return i->second(content); } -std::shared_ptr DNSRecordContent::mastermake(const DNSRecord &dr, PacketReader& pr, uint16_t oc) { +std::shared_ptr DNSRecordContent::make(const DNSRecord& dr, PacketReader& pr, uint16_t oc) +{ // For opcode UPDATE and where the DNSRecord is an answer record, we don't care about content, because this is // not used within the prerequisite section of RFC2136, so - we can simply use unknownrecordcontent. // For section 3.2.3, we do need content so we need to get it properly. But only for the correct QClasses. @@ -207,7 +208,7 @@ DNSRecord::DNSRecord(const DNSResourceRecord& rr): d_name(rr.qname) d_class = rr.qclass; d_place = DNSResourceRecord::ANSWER; d_clen = 0; - d_content = DNSRecordContent::mastermake(d_type, rr.qclass, rr.content); + d_content = DNSRecordContent::make(d_type, rr.qclass, rr.content); } // If you call this and you are not parsing a packet coming from a socket, you are doing it wrong. @@ -288,7 +289,7 @@ void MOADNSParser::init(bool query, const std::string_view& packet) } else { // cerr<<"parsing RR, query is "< mastermake(const DNSRecord &dr, PacketReader& pr); - static std::shared_ptr mastermake(const DNSRecord &dr, PacketReader& pr, uint16_t opcode); - static std::shared_ptr mastermake(uint16_t qtype, uint16_t qclass, const string& zone); + static std::shared_ptr make(const DNSRecord& dr, PacketReader& pr); + static std::shared_ptr make(const DNSRecord& dr, PacketReader& pr, uint16_t opcode); + static std::shared_ptr make(uint16_t qtype, uint16_t qclass, const string& zone); static string upgradeContent(const DNSName& qname, const QType& qtype, const string& content); virtual std::string getZoneRepresentation(bool noDot=false) const = 0; diff --git a/pdns/dnsseckeeper.hh b/pdns/dnsseckeeper.hh index 10503d53456d..50e81bbb1522 100644 --- a/pdns/dnsseckeeper.hh +++ b/pdns/dnsseckeeper.hh @@ -220,7 +220,7 @@ public: bool unsetPublishCDS(const DNSName& zname); bool TSIGGrantsAccess(const DNSName& zone, const DNSName& keyname); - bool getTSIGForAccess(const DNSName& zone, const ComboAddress& master, DNSName* keyname); + bool getTSIGForAccess(const DNSName& zone, const ComboAddress& primary, DNSName* keyname); void startTransaction(const DNSName& zone, int zone_id) { diff --git a/pdns/dynhandler.cc b/pdns/dynhandler.cc index b2b35a8338ec..4add3bfbdfaa 100644 --- a/pdns/dynhandler.cc +++ b/pdns/dynhandler.cc @@ -254,15 +254,15 @@ string DLNotifyRetrieveHandler(const vector& parts, Utility::pid_t /* pp return "Failed to parse zone as valid DNS name"; } - ComboAddress master_ip; - bool override_master = false; + ComboAddress primary_ip; + bool override_primary = false; if (parts.size() == 3) { try { - master_ip = ComboAddress{parts[2], 53}; + primary_ip = ComboAddress{parts[2], 53}; } catch (...) { return "Invalid primary address"; } - override_master = true; + override_primary = true; } DomainInfo di; @@ -271,19 +271,19 @@ string DLNotifyRetrieveHandler(const vector& parts, Utility::pid_t /* pp return " Zone '" + domain.toString() + "' unknown"; } - if (override_master) { - di.masters.clear(); - di.masters.push_back(master_ip); + if (override_primary) { + di.primaries.clear(); + di.primaries.push_back(primary_ip); } - if (!override_master && (!di.isSecondaryType() || di.masters.empty())) + if (!override_primary && (!di.isSecondaryType() || di.primaries.empty())) return "Zone '" + domain.toString() + "' is not a secondary/consumer zone (or has no primary defined)"; - shuffle(di.masters.begin(), di.masters.end(), pdns::dns_random_engine()); - const auto& master = di.masters.front(); - Communicator.addSuckRequest(domain, master, SuckRequest::PdnsControl, override_master); - g_log << Logger::Warning << "Retrieval request for zone '" << domain << "' from primary '" << master << "' received from operator" << endl; - return "Added retrieval request for '" + domain.toLogString() + "' from primary " + master.toLogString(); + shuffle(di.primaries.begin(), di.primaries.end(), pdns::dns_random_engine()); + const auto& primary = di.primaries.front(); + Communicator.addSuckRequest(domain, primary, SuckRequest::PdnsControl, override_primary); + g_log << Logger::Warning << "Retrieval request for zone '" << domain << "' from primary '" << primary << "' received from operator" << endl; + return "Added retrieval request for '" + domain.toLogString() + "' from primary " + primary.toLogString(); } string DLNotifyHostHandler(const vector& parts, Utility::pid_t /* ppid */) diff --git a/pdns/ixfrdist-stats.cc b/pdns/ixfrdist-stats.cc index b0db5f3294fd..a1592d6f339d 100644 --- a/pdns/ixfrdist-stats.cc +++ b/pdns/ixfrdist-stats.cc @@ -54,9 +54,9 @@ std::string ixfrdistStats::getStats() { if (!domainStats.empty()) { stats<<"# HELP "< masters; // A set so we can do multiple master addresses in the future + set primaries; // A set so we can do multiple primary addresses in the future uint32_t maxSOARefresh{0}; // Cap SOA refresh value to the given value in seconds }; @@ -156,7 +156,7 @@ static map g_domainConfigs; // Map domains and their data static LockGuarded>> g_soas; -// Queue of received NOTIFYs, already verified against their master IPs +// Queue of received NOTIFYs, already verified against their primary IPs // Lazily implemented as a set static LockGuarded> g_notifiesReceived; @@ -363,20 +363,20 @@ static void updateThread(const string& workdir, const uint16_t& keep, const uint continue; } - // TODO Keep track of 'down' masters - set::const_iterator it(domainConfig.second.masters.begin()); - std::advance(it, dns_random(domainConfig.second.masters.size())); - ComboAddress master = *it; + // TODO Keep track of 'down' primaries + set::const_iterator it(domainConfig.second.primaries.begin()); + std::advance(it, dns_random(domainConfig.second.primaries.size())); + ComboAddress primary = *it; string dir = workdir + "/" + domain.toString(); - g_log< sr; try { zoneLastCheck = now; g_stats.incrementSOAChecks(domain); - auto newSerial = getSerialFromMaster(master, domain, sr); // TODO TSIG + auto newSerial = getSerialFromPrimary(primary, domain, sr); // TODO TSIG if(current_soa != nullptr) { - g_log<d_st.serial; + g_log << Logger::Info << "Got SOA Serial for " << domain << " from " << primary.toStringWithPort() << ": " << newSerial << ", had Serial: " << current_soa->d_st.serial; if (newSerial == current_soa->d_st.serial) { g_log< chunk; @@ -507,18 +507,18 @@ static ResponseType maybeHandleNotify(const MOADNSParser& mdp, const ComboAddres return ResponseType::RefusedQuery; } - auto masters = found->second.masters; + auto primaries = found->second.primaries; - bool masterFound = false; + bool primaryFound = false; - for(const auto &master : masters) { - if (ComboAddress::addressOnlyEqual()(saddr, master)) { - masterFound = true; + for (const auto& primary : primaries) { + if (ComboAddress::addressOnlyEqual()(saddr, primary)) { + primaryFound = true; break; } } - if (masterFound) { + if (primaryFound) { g_notifiesReceived.lock()->insert(mdp.d_qname); return ResponseType::EmptyNoError; } @@ -1266,7 +1266,7 @@ static bool parseAndCheckConfig(const string& configpath, YAML::Node& config) { } try { if (!domain["master"]) { - g_log<()<<"' has no master configured!"<() << "' has no primary configured!" << endl; retval = false; continue; } @@ -1276,7 +1276,7 @@ static bool parseAndCheckConfig(const string& configpath, YAML::Node& config) { g_notifySources.addMask(notifySource); } catch (const runtime_error &e) { - g_log<()<<"' master address: "<() << "' primary address: " << e.what() << endl; retval = false; } if (domain["max-soa-refresh"]) { @@ -1424,7 +1424,7 @@ static std::optional parseConfiguration(int argc, char** for (auto const &domain : config["domains"]) { set s; s.insert(domain["master"].as()); - g_domainConfigs[domain["domain"].as()].masters = s; + g_domainConfigs[domain["domain"].as()].primaries = s; if (domain["max-soa-refresh"].IsDefined()) { g_domainConfigs[domain["domain"].as()].maxSOARefresh = domain["max-soa-refresh"].as(); } diff --git a/pdns/ixfrutils.cc b/pdns/ixfrutils.cc index 4715e1dcd327..f0a4f30e7d6c 100644 --- a/pdns/ixfrutils.cc +++ b/pdns/ixfrutils.cc @@ -29,7 +29,7 @@ #include "zoneparser-tng.hh" #include "dnsparser.hh" -uint32_t getSerialFromMaster(const ComboAddress& master, const DNSName& zone, shared_ptr& sr, const TSIGTriplet& tt, const uint16_t timeout) +uint32_t getSerialFromPrimary(const ComboAddress& primary, const DNSName& zone, shared_ptr& sr, const TSIGTriplet& tt, const uint16_t timeout) { vector packet; DNSPacketWriter pw(packet, zone, QType::SOA); @@ -43,8 +43,8 @@ uint32_t getSerialFromMaster(const ComboAddress& master, const DNSName& zone, sh addTSIG(pw, trc, tt.name, tt.secret, "", false); } - Socket s(master.sin4.sin_family, SOCK_DGRAM); - s.connect(master); + Socket s(primary.sin4.sin_family, SOCK_DGRAM); + s.connect(primary); string msg((const char*)&packet[0], packet.size()); s.writen(msg); diff --git a/pdns/ixfrutils.hh b/pdns/ixfrutils.hh index 7e31efb52dac..10285029c0d3 100644 --- a/pdns/ixfrutils.hh +++ b/pdns/ixfrutils.hh @@ -56,7 +56,7 @@ typedef multi_index_container < > /* indexed_by */ > /* multi_index_container */ records_t; -uint32_t getSerialFromMaster(const ComboAddress& master, const DNSName& zone, shared_ptr& sr, const TSIGTriplet& tt = TSIGTriplet(), const uint16_t timeout = 2); +uint32_t getSerialFromPrimary(const ComboAddress& primary, const DNSName& zone, shared_ptr& sr, const TSIGTriplet& tt = TSIGTriplet(), const uint16_t timeout = 2); uint32_t getSerialFromDir(const std::string& dir); uint32_t getSerialFromRecords(const records_t& records, DNSRecord& soaret); void writeZoneToDisk(const records_t& records, const DNSName& zone, const std::string& directory); diff --git a/pdns/ixplore.cc b/pdns/ixplore.cc index 620402ab0e56..a8e0c3cba1b3 100644 --- a/pdns/ixplore.cc +++ b/pdns/ixplore.cc @@ -101,7 +101,7 @@ int main(int argc, char** argv) { /* goal in life: in directory/zone-name we leave files with their name the serial number - at startup, retrieve current SOA SERIAL for domain from master server + at startup, retrieve current SOA SERIAL for domain from primary server compare with what the best is we have in our directory, IXFR from that. Store result in memory, read that best zone in memory, apply deltas, write it out. @@ -109,7 +109,7 @@ int main(int argc, char** argv) { Next up, loop this every REFRESH seconds */ DNSName zone(argv[4]); - ComboAddress master(argv[2], atoi(argv[3])); + ComboAddress primary(argv[2], atoi(argv[3])); string directory(argv[5]); records_t records; @@ -141,9 +141,9 @@ int main(int argc, char** argv) { } catch(std::exception& e) { cout<<"Could not load zone from disk: "< chunk; @@ -178,7 +178,7 @@ int main(int argc, char** argv) { cout<<"Checking for update, our serial number is "< sr; - uint32_t serial = getSerialFromMaster(master, zone, sr, tt); + uint32_t serial = getSerialFromPrimary(primary, zone, sr, tt); if(ourSerial == serial) { unsigned int sleepTime = sr ? sr->d_st.refresh : 60; cout<<"still up to date, their serial is "<registerFunction("match", (bool (NetmaskGroup::*)(const ComboAddress&) const)&NetmaskGroup::match); // DNSRecord - d_lw->writeFunction("newDR", [](const DNSName &name, const std::string &type, unsigned int ttl, const std::string &content, int place){ QType qtype; qtype = type; auto dr = DNSRecord(); dr.d_name = name; dr.d_type = qtype.getCode(); dr.d_ttl = ttl; dr.setContent(shared_ptr(DNSRecordContent::mastermake(dr.d_type, QClass::IN, content))); dr.d_place = static_cast(place); return dr; }); + d_lw->writeFunction("newDR", [](const DNSName& name, const std::string& type, unsigned int ttl, const std::string& content, int place) { QType qtype; qtype = type; auto dr = DNSRecord(); dr.d_name = name; dr.d_type = qtype.getCode(); dr.d_ttl = ttl; dr.setContent(shared_ptr(DNSRecordContent::make(dr.d_type, QClass::IN, content))); dr.d_place = static_cast(place); return dr; }); d_lw->registerMember("name", &DNSRecord::d_name); d_lw->registerMember("type", &DNSRecord::d_type); d_lw->registerMember("ttl", &DNSRecord::d_ttl); @@ -232,7 +232,7 @@ void BaseLua4::prepareContext() { ret=aaaarec->getCA(53); return ret; }); - d_lw->registerFunction("changeContent", [](DNSRecord& dr, const std::string& newContent) { dr.setContent(shared_ptr(DNSRecordContent::mastermake(dr.d_type, 1, newContent))); }); + d_lw->registerFunction("changeContent", [](DNSRecord& dr, const std::string& newContent) { dr.setContent(shared_ptr(DNSRecordContent::make(dr.d_type, 1, newContent))); }); // pdnsload d_lw->writeFunction("pdnslog", [](const std::string& msg, boost::optional loglevel) { diff --git a/pdns/lua-record.cc b/pdns/lua-record.cc index e3c7f52c0b2f..c3358044abb9 100644 --- a/pdns/lua-record.cc +++ b/pdns/lua-record.cc @@ -1178,9 +1178,9 @@ std::vector> luaSynth(const std::string& code, cons for(const auto& content_it: contents) { if(qtype==QType::TXT) - ret.push_back(DNSRecordContent::mastermake(qtype, QClass::IN, '"'+content_it+'"' )); + ret.push_back(DNSRecordContent::make(qtype, QClass::IN, '"' + content_it + '"')); else - ret.push_back(DNSRecordContent::mastermake(qtype, QClass::IN, content_it )); + ret.push_back(DNSRecordContent::make(qtype, QClass::IN, content_it)); } } catch(std::exception &e) { g_log << Logger::Info << "Lua record ("<& } } -void CommunicatorClass::masterUpdateCheck(PacketHandler *P) +void CommunicatorClass::primaryUpdateCheck(PacketHandler* P) { if(!::arg().mustDo("primary")) return; @@ -194,7 +194,7 @@ void CommunicatorClass::masterUpdateCheck(PacketHandler *P) vector cmdomains; std::unordered_set catalogs; CatalogHashMap catalogHashes; - B->getUpdatedMasters(cmdomains, catalogs, catalogHashes); + B->getUpdatedPrimaries(cmdomains, catalogs, catalogHashes); getUpdatedProducers(B, cmdomains, catalogs, catalogHashes); if(cmdomains.empty()) { diff --git a/pdns/packethandler.cc b/pdns/packethandler.cc index d83b8393d1f6..f43c3df234d8 100644 --- a/pdns/packethandler.cc +++ b/pdns/packethandler.cc @@ -295,7 +295,7 @@ int PacketHandler::doChaosRequest(const DNSPacket& p, std::unique_ptr } else content=mode; - rr.dr.setContent(DNSRecordContent::mastermake(QType::TXT, 1, "\""+content+"\"")); + rr.dr.setContent(DNSRecordContent::make(QType::TXT, 1, "\"" + content + "\"")); } else if (target==idserver) { // modes: disabled, hostname or custom @@ -309,7 +309,7 @@ int PacketHandler::doChaosRequest(const DNSPacket& p, std::unique_ptr if(!tid.empty() && tid[0]!='"') { // see #6010 however tid = "\"" + tid + "\""; } - rr.dr.setContent(DNSRecordContent::mastermake(QType::TXT, 1, tid)); + rr.dr.setContent(DNSRecordContent::make(QType::TXT, 1, tid)); } else { r->setRcode(RCode::Refused); @@ -975,23 +975,23 @@ How MySQLBackend would implement this: */ -int PacketHandler::trySuperMaster(const DNSPacket& p, const DNSName& tsigkeyname) +int PacketHandler::tryAutoPrimary(const DNSPacket& p, const DNSName& tsigkeyname) { if(p.d_tcp) { // do it right now if the client is TCP // rarely happens - return trySuperMasterSynchronous(p, tsigkeyname); + return tryAutoPrimarySynchronous(p, tsigkeyname); } else { // queue it if the client is on UDP - Communicator.addTrySuperMasterRequest(p); + Communicator.addTryAutoPrimaryRequest(p); return 0; } } -int PacketHandler::trySuperMasterSynchronous(const DNSPacket& p, const DNSName& tsigkeyname) +int PacketHandler::tryAutoPrimarySynchronous(const DNSPacket& p, const DNSName& tsigkeyname) { ComboAddress remote = p.getInnerRemote(); if(p.hasEDNSSubnet() && pdns::isAddressTrustedNotificationProxy(remote)) { @@ -1022,7 +1022,7 @@ int PacketHandler::trySuperMasterSynchronous(const DNSPacket& p, const DNSName& } if(!haveNS) { - g_log<createSlaveDomain(remote.toString(), p.qdomain, nameserver, account); DomainInfo di; if (!db->getDomainInfo(p.qdomain, di, false)) { - g_log << Logger::Error << "Failed to create " << p.qdomain << " for potential supermaster " << remote << endl; + g_log << Logger::Error << "Failed to create " << p.qdomain << " for potential autoprimary " << remote << endl; return RCode::ServFail; } g_zoneCache.add(p.qdomain, di.id); @@ -1057,10 +1057,10 @@ int PacketHandler::trySuperMasterSynchronous(const DNSPacket& p, const DNSName& } } catch(PDNSException& ae) { - g_log< do stuff + We determine the SOA at our (known) primary + if primary is higher -> do stuff */ g_log< s_forwardNotify; static bool s_SVCAutohints; @@ -68,7 +68,7 @@ public: static const std::shared_ptr s_deleteCDSContent; private: - int trySuperMaster(const DNSPacket& p, const DNSName& tsigkeyname); + int tryAutoPrimary(const DNSPacket& p, const DNSName& tsigkeyname); int processNotify(const DNSPacket& ); void addRootReferral(DNSPacket& r); int doChaosRequest(const DNSPacket& p, std::unique_ptr& r, DNSName &target) const; diff --git a/pdns/pdnsutil.cc b/pdns/pdnsutil.cc index cbec56b17e93..de913b5f2b33 100644 --- a/pdns/pdnsutil.cc +++ b/pdns/pdnsutil.cc @@ -410,7 +410,7 @@ static int checkZone(DNSSECKeeper &dk, UeberBackend &B, const DNSName& zone, con rr.content = "\""+rr.content+"\""; try { - shared_ptr drc(DNSRecordContent::mastermake(rr.qtype.getCode(), QClass::IN, rr.content)); + shared_ptr drc(DNSRecordContent::make(rr.qtype.getCode(), QClass::IN, rr.content)); string tmp=drc->serialize(rr.qname); tmp = drc->getZoneRepresentation(true); if (rr.qtype.getCode() != QType::AAAA) { @@ -446,7 +446,7 @@ static int checkZone(DNSSECKeeper &dk, UeberBackend &B, const DNSName& zone, con } if (rr.qtype.getCode() == QType::SVCB || rr.qtype.getCode() == QType::HTTPS) { - shared_ptr drc(DNSRecordContent::mastermake(rr.qtype.getCode(), QClass::IN, rr.content)); + shared_ptr drc(DNSRecordContent::make(rr.qtype.getCode(), QClass::IN, rr.content)); // I, too, like to live dangerously auto svcbrc = std::dynamic_pointer_cast(drc); if (svcbrc->getPriority() == 0 && svcbrc->hasParams()) { @@ -776,7 +776,7 @@ static int checkZone(DNSSECKeeper &dk, UeberBackend &B, const DNSName& zone, con for (auto const &rr : checkCNAME) { DNSName target; - shared_ptr drc(DNSRecordContent::mastermake(rr.qtype.getCode(), QClass::IN, rr.content)); + shared_ptr drc(DNSRecordContent::make(rr.qtype.getCode(), QClass::IN, rr.content)); switch (rr.qtype) { case QType::MX: target = std::dynamic_pointer_cast(drc)->d_mxname; @@ -1470,7 +1470,7 @@ static int loadZone(const DNSName& zone, const string& fname) { haveSOA = true; } try { - DNSRecordContent::mastermake(rr.qtype, QClass::IN, rr.content); + DNSRecordContent::make(rr.qtype, QClass::IN, rr.content); } catch (const PDNSException &pe) { cerr<<"Bad record content in record for "<& cmds) { cerr << "Zone '" << zone << "' exists already" << endl; return EXIT_FAILURE; } - vector masters; + vector primaries; for (unsigned i=2; i < cmds.size(); i++) { - masters.emplace_back(cmds.at(i), 53); + primaries.emplace_back(cmds.at(i), 53); } - cerr << "Creating secondary zone '" << zone << "', with primaries '" << comboAddressVecToString(masters) << "'" << endl; - B.createDomain(zone, DomainInfo::Slave, masters, ""); + cerr << "Creating secondary zone '" << zone << "', with primaries '" << comboAddressVecToString(primaries) << "'" << endl; + B.createDomain(zone, DomainInfo::Slave, primaries, ""); if(!B.getDomainInfo(zone, di)) { cerr << "Zone '" << zone << "' was not created!" << endl; return EXIT_FAILURE; @@ -1562,7 +1562,8 @@ static int createSlaveZone(const vector& cmds) { return EXIT_SUCCESS; } -static int changeSlaveZoneMaster(const vector& cmds) { +static int changeSlaveZonePrimary(const vector& cmds) +{ UeberBackend B; DomainInfo di; DNSName zone(cmds.at(1)); @@ -1570,13 +1571,13 @@ static int changeSlaveZoneMaster(const vector& cmds) { cerr << "Zone '" << zone << "' doesn't exist" << endl; return EXIT_FAILURE; } - vector masters; + vector primaries; for (unsigned i=2; i < cmds.size(); i++) { - masters.emplace_back(cmds.at(i), 53); + primaries.emplace_back(cmds.at(i), 53); } - cerr << "Updating secondary zone '" << zone << "', primaries to '" << comboAddressVecToString(masters) << "'" << endl; + cerr << "Updating secondary zone '" << zone << "', primaries to '" << comboAddressVecToString(primaries) << "'" << endl; try { - di.backend->setMasters(zone, masters); + di.backend->setPrimaries(zone, primaries); return EXIT_SUCCESS; } catch (PDNSException& e) { @@ -1658,7 +1659,7 @@ static int addOrReplaceRecord(bool addOrReplace, const vector& cmds) { cout<<"Current records for "<getZoneRepresentation(true); + rr.content = DNSRecordContent::make(rr.qtype.getCode(), QClass::IN, cmds.at(i))->getZoneRepresentation(true); newrrs.push_back(rr); } @@ -1678,12 +1679,12 @@ static int addOrReplaceRecord(bool addOrReplace, const vector& cmds) { return EXIT_SUCCESS; } -// addSuperMaster add a new autoprimary -static int addSuperMaster(const std::string &IP, const std::string &nameserver, const std::string &account) +// addAutoPrimary add a new autoprimary +static int addAutoPrimary(const std::string& IP, const std::string& nameserver, const std::string& account) { UeberBackend B("default"); const AutoPrimary primary(IP, nameserver, account); - if ( B.superMasterAdd(primary) ){ + if (B.autoPrimaryAdd(primary)) { return EXIT_SUCCESS; } cerr<<"could not find a backend with autosecondary support"<(DNSRecordContent::mastermake(QType::DNSKEY, QClass::IN, rr.content)); + drc = *std::dynamic_pointer_cast(DNSRecordContent::make(QType::DNSKEY, QClass::IN, rr.content)); } else if(rr.qtype.getCode() == QType::RRSIG) { cerr<<"got RRSIG"<(DNSRecordContent::mastermake(QType::RRSIG, QClass::IN, rr.content)); + rrc = *std::dynamic_pointer_cast(DNSRecordContent::make(QType::RRSIG, QClass::IN, rr.content)); } else if(rr.qtype.getCode() == QType::DS) { cerr<<"got DS"<(DNSRecordContent::mastermake(QType::DS, QClass::IN, rr.content)); + dsrc = *std::dynamic_pointer_cast(DNSRecordContent::make(QType::DS, QClass::IN, rr.content)); } else { qname = rr.qname; - toSign.insert(DNSRecordContent::mastermake(rr.qtype.getCode(), QClass::IN, rr.content)); + toSign.insert(DNSRecordContent::make(rr.qtype.getCode(), QClass::IN, rr.content)); } } @@ -2068,8 +2069,8 @@ static bool showZone(DNSSECKeeper& dk, const DNSName& zone, bool exportDS = fals } } else if (di.isSecondaryType()) { - cout << "Primar" << addS(di.masters, "y", "ies") << ": "; - for(const auto& m : di.masters) + cout << "Primar" << addS(di.primaries, "y", "ies") << ": "; + for (const auto& m : di.primaries) cout<serialize(DNSName(), true))< 3 ? cmds.at(3) : "")); + exit(addAutoPrimary(cmds.at(1), cmds.at(2), cmds.size() > 3 ? cmds.at(3) : "")); } else if (cmds.at(0) == "remove-autoprimary") { if(cmds.size() < 3) { @@ -4128,7 +4129,8 @@ try DNSResourceRecord rr; cout<<"Processing '"<createDomain(di.zone, di.kind, di.masters, di.account)) throw PDNSException("Failed to create zone"); + if (!tgt->createDomain(di.zone, di.kind, di.primaries, di.account)) + throw PDNSException("Failed to create zone"); if (!tgt->getDomainInfo(di.zone, di_new)) throw PDNSException("Failed to create zone"); // move records if (!src->list(di.zone, di.id, true)) throw PDNSException("Failed to list records"); diff --git a/pdns/recursordist/filterpo.cc b/pdns/recursordist/filterpo.cc index cc46516dbf61..e1b0e6164003 100644 --- a/pdns/recursordist/filterpo.cc +++ b/pdns/recursordist/filterpo.cc @@ -681,7 +681,7 @@ std::vector DNSFilterEngine::Policy::getRecords(const DNSName& qname) dr.d_ttl = static_cast(d_ttl); dr.d_type = QType::CNAME; dr.d_class = QClass::IN; - dr.setContent(DNSRecordContent::mastermake(QType::CNAME, QClass::IN, getKindToString(d_kind))); + dr.setContent(DNSRecordContent::make(QType::CNAME, QClass::IN, getKindToString(d_kind))); result.push_back(std::move(dr)); } @@ -786,7 +786,7 @@ void DNSFilterEngine::Zone::dumpAddrPolicy(FILE* fp, const Netmask& nm, const DN void DNSFilterEngine::Zone::dump(FILE* fp) const { /* fake the SOA record */ - auto soa = DNSRecordContent::mastermake(QType::SOA, QClass::IN, "fake.RPZ. hostmaster.fake.RPZ. " + std::to_string(d_serial) + " " + std::to_string(d_refresh) + " 600 3600000 604800"); + auto soa = DNSRecordContent::make(QType::SOA, QClass::IN, "fake.RPZ. hostmaster.fake.RPZ. " + std::to_string(d_serial) + " " + std::to_string(d_refresh) + " 600 3600000 604800"); fprintf(fp, "%s IN SOA %s\n", d_domain.toString().c_str(), soa->getZoneRepresentation().c_str()); for (const auto& pair : d_qpolName) { diff --git a/pdns/recursordist/lua-recursor4.cc b/pdns/recursordist/lua-recursor4.cc index a22f54d6bf39..985f9bf043c4 100644 --- a/pdns/recursordist/lua-recursor4.cc +++ b/pdns/recursordist/lua-recursor4.cc @@ -135,7 +135,7 @@ void RecursorLua4::DNSQuestion::addRecord(uint16_t type, const std::string& cont dr.d_ttl = ttl.get_value_or(3600); dr.d_type = type; dr.d_place = place; - dr.setContent(DNSRecordContent::mastermake(type, QClass::IN, content)); + dr.setContent(DNSRecordContent::make(type, QClass::IN, content)); records.push_back(dr); } @@ -239,7 +239,7 @@ void RecursorLua4::postPrepareContext() [](DNSFilterEngine::Policy& pol, const std::string& content) { // Only CNAMES for now, when we ever add a d_custom_type, there will be pain pol.d_custom.clear(); - pol.d_custom.push_back(DNSRecordContent::mastermake(QType::CNAME, QClass::IN, content)); + pol.d_custom.push_back(DNSRecordContent::make(QType::CNAME, QClass::IN, content)); } ); d_lw->registerFunction("getDH", &DNSQuestion::getDH); @@ -296,7 +296,7 @@ void RecursorLua4::postPrepareContext() d_lw->registerFunction("getContent", [](const ProxyProtocolValue& value) { return value.content; }); d_lw->registerFunction("getType", [](const ProxyProtocolValue& value) { return value.type; }); - d_lw->registerFunction("changeContent", [](DNSRecord& dr, const std::string& newContent) { dr.setContent(DNSRecordContent::mastermake(dr.d_type, QClass::IN, newContent)); }); + d_lw->registerFunction("changeContent", [](DNSRecord& dr, const std::string& newContent) { dr.setContent(DNSRecordContent::make(dr.d_type, QClass::IN, newContent)); }); d_lw->registerFunction("addAnswer", &DNSQuestion::addAnswer); d_lw->registerFunction("addRecord", &DNSQuestion::addRecord); d_lw->registerFunction("getRecords", &DNSQuestion::getRecords); @@ -1030,7 +1030,7 @@ bool pdns_ffi_param_add_record(pdns_ffi_param_t* ref, const char* name, uint16_t dr.d_type = type; dr.d_class = QClass::IN; dr.d_place = DNSResourceRecord::Place(place); - dr.setContent(DNSRecordContent::mastermake(type, QClass::IN, std::string(content, contentSize))); + dr.setContent(DNSRecordContent::make(type, QClass::IN, std::string(content, contentSize))); ref->params.records.push_back(std::move(dr)); return true; @@ -1173,7 +1173,7 @@ bool pdns_postresolve_ffi_handle_set_record(pdns_postresolve_ffi_handle_t* ref, r.setContent(DNSRecordContent::deserialize(r.d_name, r.d_type, string(content, contentLen))); } else { - r.setContent(DNSRecordContent::mastermake(r.d_type, QClass::IN, string(content, contentLen))); + r.setContent(DNSRecordContent::make(r.d_type, QClass::IN, string(content, contentLen))); } return true; @@ -1202,7 +1202,7 @@ bool pdns_postresolve_ffi_handle_add_record(pdns_postresolve_ffi_handle_t* ref, dr.setContent(DNSRecordContent::deserialize(dr.d_name, dr.d_type, string(content, contentLen))); } else { - dr.setContent(DNSRecordContent::mastermake(type, QClass::IN, string(content, contentLen))); + dr.setContent(DNSRecordContent::make(type, QClass::IN, string(content, contentLen))); } ref->handle.d_dq.currentRecords->push_back(std::move(dr)); diff --git a/pdns/recursordist/rec-lua-conf.cc b/pdns/recursordist/rec-lua-conf.cc index ee5f359b0400..83c48cd432c3 100644 --- a/pdns/recursordist/rec-lua-conf.cc +++ b/pdns/recursordist/rec-lua-conf.cc @@ -109,8 +109,8 @@ static void parseRPZParameters(rpzOptions_t& have, std::shared_ptrd_kind = (DNSFilterEngine::PolicyKind)boost::get(have["defpol"]); defpol->setName(polName); if (defpol->d_kind == DNSFilterEngine::PolicyKind::Custom) { - defpol->d_custom.push_back(DNSRecordContent::mastermake(QType::CNAME, QClass::IN, - boost::get(have["defcontent"]))); + defpol->d_custom.push_back(DNSRecordContent::make(QType::CNAME, QClass::IN, + boost::get(have["defcontent"]))); if (have.count("defttl") != 0) { defpol->d_ttl = static_cast(boost::get(have["defttl"])); diff --git a/pdns/recursordist/reczones-helpers.cc b/pdns/recursordist/reczones-helpers.cc index dd82ee3d034d..12770b636d51 100644 --- a/pdns/recursordist/reczones-helpers.cc +++ b/pdns/recursordist/reczones-helpers.cc @@ -176,7 +176,7 @@ static SyncRes::AuthDomain makeSOAAndNSNodes(DNSRecord& dr, T content) dr.d_place = DNSResourceRecord::ANSWER; dr.d_ttl = 86400; dr.d_type = QType::SOA; - dr.setContent(DNSRecordContent::mastermake(QType::SOA, 1, "localhost. root 1 604800 86400 2419200 604800")); + dr.setContent(DNSRecordContent::make(QType::SOA, 1, "localhost. root 1 604800 86400 2419200 604800")); SyncRes::AuthDomain ad; ad.d_rdForward = false; @@ -229,7 +229,7 @@ static void makeNameToIPZone(SyncRes::domainmap_t& newMap, auto recType = address.isIPv6() ? QType::AAAA : QType::A; dr.d_type = recType; dr.d_ttl = 86400; - dr.setContent(DNSRecordContent::mastermake(recType, QClass::IN, address.toStringNoInterface())); + dr.setContent(DNSRecordContent::make(recType, QClass::IN, address.toStringNoInterface())); entry->second.d_records.insert(dr); } @@ -247,7 +247,7 @@ static void makeIPToNamesZone(SyncRes::domainmap_t& newMap, // Add a PTR entry for the primary name for reverse lookups. dr.d_type = QType::PTR; - dr.setContent(DNSRecordContent::mastermake(QType::PTR, 1, DNSName(canonicalHostname).toString())); + dr.setContent(DNSRecordContent::make(QType::PTR, 1, DNSName(canonicalHostname).toString())); ad.d_records.insert(dr); addToDomainMap(newMap, std::move(ad), dr.d_name, log, false, true); diff --git a/pdns/recursordist/syncres.cc b/pdns/recursordist/syncres.cc index 7b5963e24c7c..9f2964fffb82 100644 --- a/pdns/recursordist/syncres.cc +++ b/pdns/recursordist/syncres.cc @@ -879,7 +879,7 @@ bool SyncRes::doSpecialNamesResolve(const DNSName& qname, const QType qtype, con dr.d_ttl = 86400; for (const auto& ans : answers) { dr.d_type = ans.first; - dr.setContent(DNSRecordContent::mastermake(ans.first, qclass, ans.second)); + dr.setContent(DNSRecordContent::make(ans.first, qclass, ans.second)); ret.push_back(dr); } } diff --git a/pdns/recursordist/test-filterpo_cc.cc b/pdns/recursordist/test-filterpo_cc.cc index ac033238197e..dec12ad460e7 100644 --- a/pdns/recursordist/test-filterpo_cc.cc +++ b/pdns/recursordist/test-filterpo_cc.cc @@ -190,7 +190,7 @@ BOOST_AUTO_TEST_CASE(test_filter_policies_basic) /* blocked A */ DNSRecord dr; dr.d_type = QType::A; - dr.setContent(DNSRecordContent::mastermake(QType::A, QClass::IN, responseIP.toString())); + dr.setContent(DNSRecordContent::make(QType::A, QClass::IN, responseIP.toString())); const auto matchingPolicy = dfe.getPostPolicy({dr}, std::unordered_map(), DNSFilterEngine::maximumPriority); BOOST_CHECK(matchingPolicy.d_type == DNSFilterEngine::PolicyType::ResponseIP); BOOST_CHECK(matchingPolicy.d_kind == DNSFilterEngine::PolicyKind::Drop); @@ -205,7 +205,7 @@ BOOST_AUTO_TEST_CASE(test_filter_policies_basic) /* allowed A */ DNSRecord dr; dr.d_type = QType::A; - dr.setContent(DNSRecordContent::mastermake(QType::A, QClass::IN, "192.0.2.142")); + dr.setContent(DNSRecordContent::make(QType::A, QClass::IN, "192.0.2.142")); const auto matchingPolicy = dfe.getPostPolicy({dr}, std::unordered_map(), DNSFilterEngine::maximumPriority); BOOST_CHECK(matchingPolicy.d_type == DNSFilterEngine::PolicyType::None); DNSFilterEngine::Policy zonePolicy; @@ -317,16 +317,16 @@ BOOST_AUTO_TEST_CASE(test_filter_policies_local_data) const DNSName bad1("bad1.example.com."); const DNSName bad2("bad2.example.com."); - zone->addQNameTrigger(bad1, DNSFilterEngine::Policy(DNSFilterEngine::PolicyKind::Custom, DNSFilterEngine::PolicyType::QName, 0, nullptr, {DNSRecordContent::mastermake(QType::CNAME, QClass::IN, "garden.example.net.")})); + zone->addQNameTrigger(bad1, DNSFilterEngine::Policy(DNSFilterEngine::PolicyKind::Custom, DNSFilterEngine::PolicyType::QName, 0, nullptr, {DNSRecordContent::make(QType::CNAME, QClass::IN, "garden.example.net.")})); BOOST_CHECK_EQUAL(zone->size(), 1U); - zone->addQNameTrigger(bad2, DNSFilterEngine::Policy(DNSFilterEngine::PolicyKind::Custom, DNSFilterEngine::PolicyType::QName, 0, nullptr, {DNSRecordContent::mastermake(QType::A, QClass::IN, "192.0.2.1")})); + zone->addQNameTrigger(bad2, DNSFilterEngine::Policy(DNSFilterEngine::PolicyKind::Custom, DNSFilterEngine::PolicyType::QName, 0, nullptr, {DNSRecordContent::make(QType::A, QClass::IN, "192.0.2.1")})); BOOST_CHECK_EQUAL(zone->size(), 2U); - zone->addQNameTrigger(bad2, DNSFilterEngine::Policy(DNSFilterEngine::PolicyKind::Custom, DNSFilterEngine::PolicyType::QName, 0, nullptr, {DNSRecordContent::mastermake(QType::A, QClass::IN, "192.0.2.2")})); + zone->addQNameTrigger(bad2, DNSFilterEngine::Policy(DNSFilterEngine::PolicyKind::Custom, DNSFilterEngine::PolicyType::QName, 0, nullptr, {DNSRecordContent::make(QType::A, QClass::IN, "192.0.2.2")})); BOOST_CHECK_EQUAL(zone->size(), 2U); - zone->addQNameTrigger(bad2, DNSFilterEngine::Policy(DNSFilterEngine::PolicyKind::Custom, DNSFilterEngine::PolicyType::QName, 0, nullptr, {DNSRecordContent::mastermake(QType::MX, QClass::IN, "10 garden-mail.example.net.")})); + zone->addQNameTrigger(bad2, DNSFilterEngine::Policy(DNSFilterEngine::PolicyKind::Custom, DNSFilterEngine::PolicyType::QName, 0, nullptr, {DNSRecordContent::make(QType::MX, QClass::IN, "10 garden-mail.example.net.")})); BOOST_CHECK_EQUAL(zone->size(), 2U); dfe.addZone(zone); @@ -392,7 +392,7 @@ BOOST_AUTO_TEST_CASE(test_filter_policies_local_data) } /* remove only one entry, one of the A local records */ - zone->rmQNameTrigger(bad2, DNSFilterEngine::Policy(DNSFilterEngine::PolicyKind::Custom, DNSFilterEngine::PolicyType::QName, 0, nullptr, {DNSRecordContent::mastermake(QType::A, QClass::IN, "192.0.2.1")})); + zone->rmQNameTrigger(bad2, DNSFilterEngine::Policy(DNSFilterEngine::PolicyKind::Custom, DNSFilterEngine::PolicyType::QName, 0, nullptr, {DNSRecordContent::make(QType::A, QClass::IN, "192.0.2.1")})); BOOST_CHECK_EQUAL(zone->size(), 2U); { @@ -444,9 +444,9 @@ BOOST_AUTO_TEST_CASE(test_filter_policies_local_data_netmask) const DNSName name("foo.example.com"); const Netmask nm1("192.168.1.0/24"); - zone->addClientTrigger(nm1, DNSFilterEngine::Policy(DNSFilterEngine::PolicyKind::Custom, DNSFilterEngine::PolicyType::ClientIP, 0, nullptr, {DNSRecordContent::mastermake(QType::A, QClass::IN, "1.2.3.4")})); - zone->addClientTrigger(nm1, DNSFilterEngine::Policy(DNSFilterEngine::PolicyKind::Custom, DNSFilterEngine::PolicyType::ClientIP, 0, nullptr, {DNSRecordContent::mastermake(QType::A, QClass::IN, "1.2.3.5")})); - zone->addClientTrigger(nm1, DNSFilterEngine::Policy(DNSFilterEngine::PolicyKind::Custom, DNSFilterEngine::PolicyType::ClientIP, 0, nullptr, {DNSRecordContent::mastermake(QType::AAAA, QClass::IN, "::1234")})); + zone->addClientTrigger(nm1, DNSFilterEngine::Policy(DNSFilterEngine::PolicyKind::Custom, DNSFilterEngine::PolicyType::ClientIP, 0, nullptr, {DNSRecordContent::make(QType::A, QClass::IN, "1.2.3.4")})); + zone->addClientTrigger(nm1, DNSFilterEngine::Policy(DNSFilterEngine::PolicyKind::Custom, DNSFilterEngine::PolicyType::ClientIP, 0, nullptr, {DNSRecordContent::make(QType::A, QClass::IN, "1.2.3.5")})); + zone->addClientTrigger(nm1, DNSFilterEngine::Policy(DNSFilterEngine::PolicyKind::Custom, DNSFilterEngine::PolicyType::ClientIP, 0, nullptr, {DNSRecordContent::make(QType::AAAA, QClass::IN, "::1234")})); BOOST_CHECK_EQUAL(zone->size(), 1U); dfe.addZone(zone); @@ -487,16 +487,16 @@ BOOST_AUTO_TEST_CASE(test_filter_policies_local_data_netmask) } // Try to zap 1 nonexisting record - zone->rmClientTrigger(nm1, DNSFilterEngine::Policy(DNSFilterEngine::PolicyKind::Custom, DNSFilterEngine::PolicyType::ClientIP, 0, nullptr, {DNSRecordContent::mastermake(QType::A, QClass::IN, "1.1.1.1")})); + zone->rmClientTrigger(nm1, DNSFilterEngine::Policy(DNSFilterEngine::PolicyKind::Custom, DNSFilterEngine::PolicyType::ClientIP, 0, nullptr, {DNSRecordContent::make(QType::A, QClass::IN, "1.1.1.1")})); // Zap a record using a wider netmask - zone->rmClientTrigger(Netmask("192.168.0.0/16"), DNSFilterEngine::Policy(DNSFilterEngine::PolicyKind::Custom, DNSFilterEngine::PolicyType::ClientIP, 0, nullptr, {DNSRecordContent::mastermake(QType::A, QClass::IN, "1.2.3.4")})); + zone->rmClientTrigger(Netmask("192.168.0.0/16"), DNSFilterEngine::Policy(DNSFilterEngine::PolicyKind::Custom, DNSFilterEngine::PolicyType::ClientIP, 0, nullptr, {DNSRecordContent::make(QType::A, QClass::IN, "1.2.3.4")})); // Zap a record using a narrow netmask - zone->rmClientTrigger(Netmask("192.168.1.1/32"), DNSFilterEngine::Policy(DNSFilterEngine::PolicyKind::Custom, DNSFilterEngine::PolicyType::ClientIP, 0, nullptr, {DNSRecordContent::mastermake(QType::A, QClass::IN, "1.2.3.4")})); + zone->rmClientTrigger(Netmask("192.168.1.1/32"), DNSFilterEngine::Policy(DNSFilterEngine::PolicyKind::Custom, DNSFilterEngine::PolicyType::ClientIP, 0, nullptr, {DNSRecordContent::make(QType::A, QClass::IN, "1.2.3.4")})); // Zap 1 existing record - zone->rmClientTrigger(nm1, DNSFilterEngine::Policy(DNSFilterEngine::PolicyKind::Custom, DNSFilterEngine::PolicyType::ClientIP, 0, nullptr, {DNSRecordContent::mastermake(QType::A, QClass::IN, "1.2.3.5")})); + zone->rmClientTrigger(nm1, DNSFilterEngine::Policy(DNSFilterEngine::PolicyKind::Custom, DNSFilterEngine::PolicyType::ClientIP, 0, nullptr, {DNSRecordContent::make(QType::A, QClass::IN, "1.2.3.5")})); { // A query should match one record now const auto matchingPolicy = dfe.getClientPolicy(ComboAddress("192.168.1.1"), std::unordered_map(), DNSFilterEngine::maximumPriority); @@ -526,10 +526,10 @@ BOOST_AUTO_TEST_CASE(test_filter_policies_local_data_netmask) } // Zap one more A record - zone->rmClientTrigger(nm1, DNSFilterEngine::Policy(DNSFilterEngine::PolicyKind::Custom, DNSFilterEngine::PolicyType::ClientIP, 0, nullptr, {DNSRecordContent::mastermake(QType::A, QClass::IN, "1.2.3.4")})); + zone->rmClientTrigger(nm1, DNSFilterEngine::Policy(DNSFilterEngine::PolicyKind::Custom, DNSFilterEngine::PolicyType::ClientIP, 0, nullptr, {DNSRecordContent::make(QType::A, QClass::IN, "1.2.3.4")})); // Zap now nonexisting record - zone->rmClientTrigger(nm1, DNSFilterEngine::Policy(DNSFilterEngine::PolicyKind::Custom, DNSFilterEngine::PolicyType::ClientIP, 0, nullptr, {DNSRecordContent::mastermake(QType::A, QClass::IN, "1.2.3.4")})); + zone->rmClientTrigger(nm1, DNSFilterEngine::Policy(DNSFilterEngine::PolicyKind::Custom, DNSFilterEngine::PolicyType::ClientIP, 0, nullptr, {DNSRecordContent::make(QType::A, QClass::IN, "1.2.3.4")})); { // AAAA query should still match one record const auto matchingPolicy = dfe.getClientPolicy(ComboAddress("192.168.1.1"), std::unordered_map(), DNSFilterEngine::maximumPriority); @@ -546,7 +546,7 @@ BOOST_AUTO_TEST_CASE(test_filter_policies_local_data_netmask) } // Zap AAAA record - zone->rmClientTrigger(nm1, DNSFilterEngine::Policy(DNSFilterEngine::PolicyKind::Custom, DNSFilterEngine::PolicyType::ClientIP, 0, nullptr, {DNSRecordContent::mastermake(QType::AAAA, QClass::IN, "::1234")})); + zone->rmClientTrigger(nm1, DNSFilterEngine::Policy(DNSFilterEngine::PolicyKind::Custom, DNSFilterEngine::PolicyType::ClientIP, 0, nullptr, {DNSRecordContent::make(QType::AAAA, QClass::IN, "::1234")})); { // there should be no match left const auto matchingPolicy = dfe.getClientPolicy(ComboAddress("192.168.1.1"), std::unordered_map(), DNSFilterEngine::maximumPriority); @@ -569,10 +569,10 @@ BOOST_AUTO_TEST_CASE(test_multiple_filter_policies) const DNSName badWildcard("*.bad-wildcard.example.com."); const DNSName badUnderWildcard("sub.bad-wildcard.example.com."); - zone1->addQNameTrigger(bad, DNSFilterEngine::Policy(DNSFilterEngine::PolicyKind::Custom, DNSFilterEngine::PolicyType::QName, 0, nullptr, {DNSRecordContent::mastermake(QType::CNAME, QClass::IN, "garden1a.example.net.")})); - zone2->addQNameTrigger(bad, DNSFilterEngine::Policy(DNSFilterEngine::PolicyKind::Custom, DNSFilterEngine::PolicyType::QName, 0, nullptr, {DNSRecordContent::mastermake(QType::CNAME, QClass::IN, "garden2a.example.net.")})); - zone1->addQNameTrigger(badWildcard, DNSFilterEngine::Policy(DNSFilterEngine::PolicyKind::Custom, DNSFilterEngine::PolicyType::QName, 0, nullptr, {DNSRecordContent::mastermake(QType::CNAME, QClass::IN, "garden1b.example.net.")})); - zone2->addQNameTrigger(badUnderWildcard, DNSFilterEngine::Policy(DNSFilterEngine::PolicyKind::Custom, DNSFilterEngine::PolicyType::QName, 0, nullptr, {DNSRecordContent::mastermake(QType::CNAME, QClass::IN, "garden2b.example.net.")})); + zone1->addQNameTrigger(bad, DNSFilterEngine::Policy(DNSFilterEngine::PolicyKind::Custom, DNSFilterEngine::PolicyType::QName, 0, nullptr, {DNSRecordContent::make(QType::CNAME, QClass::IN, "garden1a.example.net.")})); + zone2->addQNameTrigger(bad, DNSFilterEngine::Policy(DNSFilterEngine::PolicyKind::Custom, DNSFilterEngine::PolicyType::QName, 0, nullptr, {DNSRecordContent::make(QType::CNAME, QClass::IN, "garden2a.example.net.")})); + zone1->addQNameTrigger(badWildcard, DNSFilterEngine::Policy(DNSFilterEngine::PolicyKind::Custom, DNSFilterEngine::PolicyType::QName, 0, nullptr, {DNSRecordContent::make(QType::CNAME, QClass::IN, "garden1b.example.net.")})); + zone2->addQNameTrigger(badUnderWildcard, DNSFilterEngine::Policy(DNSFilterEngine::PolicyKind::Custom, DNSFilterEngine::PolicyType::QName, 0, nullptr, {DNSRecordContent::make(QType::CNAME, QClass::IN, "garden2b.example.net.")})); dfe.addZone(zone1); dfe.addZone(zone2); @@ -660,17 +660,17 @@ BOOST_AUTO_TEST_CASE(test_multiple_filter_policies_order) const DNSName nsName("ns.bad.wolf."); const ComboAddress responseIP("192.0.2.254"); - zone1->addClientTrigger(Netmask(clientIP, 32), DNSFilterEngine::Policy(DNSFilterEngine::PolicyKind::Custom, DNSFilterEngine::PolicyType::ClientIP, 0, nullptr, {DNSRecordContent::mastermake(QType::CNAME, QClass::IN, "client1a.example.net.")})); - zone1->addQNameTrigger(bad, DNSFilterEngine::Policy(DNSFilterEngine::PolicyKind::Custom, DNSFilterEngine::PolicyType::QName, 0, nullptr, {DNSRecordContent::mastermake(QType::CNAME, QClass::IN, "garden1a.example.net.")})); - zone1->addNSIPTrigger(Netmask(nsIP, 32), DNSFilterEngine::Policy(DNSFilterEngine::PolicyKind::Custom, DNSFilterEngine::PolicyType::NSIP, 0, nullptr, {DNSRecordContent::mastermake(QType::CNAME, QClass::IN, "nsip1a.example.net.")})); - zone1->addNSTrigger(nsName, DNSFilterEngine::Policy(DNSFilterEngine::PolicyKind::Custom, DNSFilterEngine::PolicyType::NSDName, 0, nullptr, {DNSRecordContent::mastermake(QType::CNAME, QClass::IN, "nsname1a.example.net.")})); - zone1->addResponseTrigger(Netmask(responseIP, 32), DNSFilterEngine::Policy(DNSFilterEngine::PolicyKind::Custom, DNSFilterEngine::PolicyType::ResponseIP, 0, nullptr, {DNSRecordContent::mastermake(QType::CNAME, QClass::IN, "response1a.example.net.")})); + zone1->addClientTrigger(Netmask(clientIP, 32), DNSFilterEngine::Policy(DNSFilterEngine::PolicyKind::Custom, DNSFilterEngine::PolicyType::ClientIP, 0, nullptr, {DNSRecordContent::make(QType::CNAME, QClass::IN, "client1a.example.net.")})); + zone1->addQNameTrigger(bad, DNSFilterEngine::Policy(DNSFilterEngine::PolicyKind::Custom, DNSFilterEngine::PolicyType::QName, 0, nullptr, {DNSRecordContent::make(QType::CNAME, QClass::IN, "garden1a.example.net.")})); + zone1->addNSIPTrigger(Netmask(nsIP, 32), DNSFilterEngine::Policy(DNSFilterEngine::PolicyKind::Custom, DNSFilterEngine::PolicyType::NSIP, 0, nullptr, {DNSRecordContent::make(QType::CNAME, QClass::IN, "nsip1a.example.net.")})); + zone1->addNSTrigger(nsName, DNSFilterEngine::Policy(DNSFilterEngine::PolicyKind::Custom, DNSFilterEngine::PolicyType::NSDName, 0, nullptr, {DNSRecordContent::make(QType::CNAME, QClass::IN, "nsname1a.example.net.")})); + zone1->addResponseTrigger(Netmask(responseIP, 32), DNSFilterEngine::Policy(DNSFilterEngine::PolicyKind::Custom, DNSFilterEngine::PolicyType::ResponseIP, 0, nullptr, {DNSRecordContent::make(QType::CNAME, QClass::IN, "response1a.example.net.")})); - zone2->addClientTrigger(Netmask(clientIP, 32), DNSFilterEngine::Policy(DNSFilterEngine::PolicyKind::Custom, DNSFilterEngine::PolicyType::ClientIP, 0, nullptr, {DNSRecordContent::mastermake(QType::CNAME, QClass::IN, "client2a.example.net.")})); - zone2->addQNameTrigger(bad, DNSFilterEngine::Policy(DNSFilterEngine::PolicyKind::Custom, DNSFilterEngine::PolicyType::QName, 0, nullptr, {DNSRecordContent::mastermake(QType::CNAME, QClass::IN, "garden2a.example.net.")})); - zone2->addNSIPTrigger(Netmask(nsIP, 32), DNSFilterEngine::Policy(DNSFilterEngine::PolicyKind::Custom, DNSFilterEngine::PolicyType::NSIP, 0, nullptr, {DNSRecordContent::mastermake(QType::CNAME, QClass::IN, "nsip2a.example.net.")})); - zone2->addNSTrigger(nsName, DNSFilterEngine::Policy(DNSFilterEngine::PolicyKind::Custom, DNSFilterEngine::PolicyType::NSDName, 0, nullptr, {DNSRecordContent::mastermake(QType::CNAME, QClass::IN, "nsname2a.example.net.")})); - zone2->addResponseTrigger(Netmask(responseIP, 32), DNSFilterEngine::Policy(DNSFilterEngine::PolicyKind::Custom, DNSFilterEngine::PolicyType::ResponseIP, 0, nullptr, {DNSRecordContent::mastermake(QType::CNAME, QClass::IN, "response2a.example.net.")})); + zone2->addClientTrigger(Netmask(clientIP, 32), DNSFilterEngine::Policy(DNSFilterEngine::PolicyKind::Custom, DNSFilterEngine::PolicyType::ClientIP, 0, nullptr, {DNSRecordContent::make(QType::CNAME, QClass::IN, "client2a.example.net.")})); + zone2->addQNameTrigger(bad, DNSFilterEngine::Policy(DNSFilterEngine::PolicyKind::Custom, DNSFilterEngine::PolicyType::QName, 0, nullptr, {DNSRecordContent::make(QType::CNAME, QClass::IN, "garden2a.example.net.")})); + zone2->addNSIPTrigger(Netmask(nsIP, 32), DNSFilterEngine::Policy(DNSFilterEngine::PolicyKind::Custom, DNSFilterEngine::PolicyType::NSIP, 0, nullptr, {DNSRecordContent::make(QType::CNAME, QClass::IN, "nsip2a.example.net.")})); + zone2->addNSTrigger(nsName, DNSFilterEngine::Policy(DNSFilterEngine::PolicyKind::Custom, DNSFilterEngine::PolicyType::NSDName, 0, nullptr, {DNSRecordContent::make(QType::CNAME, QClass::IN, "nsname2a.example.net.")})); + zone2->addResponseTrigger(Netmask(responseIP, 32), DNSFilterEngine::Policy(DNSFilterEngine::PolicyKind::Custom, DNSFilterEngine::PolicyType::ResponseIP, 0, nullptr, {DNSRecordContent::make(QType::CNAME, QClass::IN, "response2a.example.net.")})); dfe.addZone(zone1); dfe.addZone(zone2); @@ -806,7 +806,7 @@ BOOST_AUTO_TEST_CASE(test_multiple_filter_policies_order) /* blocked A in the response */ DNSRecord dr; dr.d_type = QType::A; - dr.setContent(DNSRecordContent::mastermake(QType::A, QClass::IN, responseIP.toString())); + dr.setContent(DNSRecordContent::make(QType::A, QClass::IN, responseIP.toString())); const auto matchingPolicy = dfe.getPostPolicy({dr}, std::unordered_map(), DNSFilterEngine::maximumPriority); BOOST_CHECK(matchingPolicy.d_type == DNSFilterEngine::PolicyType::ResponseIP); BOOST_CHECK(matchingPolicy.d_kind == DNSFilterEngine::PolicyKind::Custom); @@ -824,7 +824,7 @@ BOOST_AUTO_TEST_CASE(test_multiple_filter_policies_order) /* blocked A in the response, except 1 is disabled and 2's priority is too high */ DNSRecord dr; dr.d_type = QType::A; - dr.setContent(DNSRecordContent::mastermake(QType::A, QClass::IN, responseIP.toString())); + dr.setContent(DNSRecordContent::make(QType::A, QClass::IN, responseIP.toString())); const auto matchingPolicy = dfe.getPostPolicy({dr}, {{zone1->getName(), true}}, 1); BOOST_CHECK(matchingPolicy.d_type == DNSFilterEngine::PolicyType::None); BOOST_CHECK(matchingPolicy.d_kind == DNSFilterEngine::PolicyKind::NoAction); diff --git a/pdns/recursordist/test-negcache_cc.cc b/pdns/recursordist/test-negcache_cc.cc index be31d1e7afea..dc01f55585a4 100644 --- a/pdns/recursordist/test-negcache_cc.cc +++ b/pdns/recursordist/test-negcache_cc.cc @@ -15,7 +15,7 @@ static recordsAndSignatures genRecsAndSigs(const DNSName& name, const uint16_t q rec.d_type = qtype; rec.d_ttl = 600; rec.d_place = DNSResourceRecord::AUTHORITY; - rec.setContent(DNSRecordContent::mastermake(qtype, QClass::IN, content)); + rec.setContent(DNSRecordContent::make(qtype, QClass::IN, content)); ret.records.push_back(rec); diff --git a/pdns/recursordist/test-reczones-helpers.cc b/pdns/recursordist/test-reczones-helpers.cc index 921c7d1f11c4..8693625a985b 100644 --- a/pdns/recursordist/test-reczones-helpers.cc +++ b/pdns/recursordist/test-reczones-helpers.cc @@ -25,17 +25,17 @@ struct Fixture { static std::shared_ptr makeLocalhostRootDRC() { - return DNSRecordContent::mastermake(QType::SOA, QClass::IN, "localhost. root 1 604800 86400 2419200 604800"); + return DNSRecordContent::make(QType::SOA, QClass::IN, "localhost. root 1 604800 86400 2419200 604800"); } static std::shared_ptr makeLocalhostDRC() { - return DNSRecordContent::mastermake(QType::NS, QClass::IN, "localhost."); + return DNSRecordContent::make(QType::NS, QClass::IN, "localhost."); } static std::shared_ptr makePtrDRC(const std::string& name) { - return DNSRecordContent::mastermake(QType::PTR, QClass::IN, name); + return DNSRecordContent::make(QType::PTR, QClass::IN, name); } static void addDomainMapFixtureEntry(SyncRes::domainmap_t& domainMap, @@ -57,7 +57,7 @@ struct Fixture { domainMap[DNSName{name}] = SyncRes::AuthDomain{ .d_records = { - DNSRecord(name, DNSRecordContent::mastermake(type, QClass::IN, address), type), + DNSRecord(name, DNSRecordContent::make(type, QClass::IN, address), type), DNSRecord(name, makeLocalhostDRC(), QType::NS), DNSRecord(name, makeLocalhostRootDRC(), QType::SOA), }, @@ -128,8 +128,8 @@ struct Fixture "localhost" + actualSearchSuffix, {DNSRecord("localhost" + actualSearchSuffix, makeLocalhostDRC(), QType::NS), DNSRecord("localhost" + actualSearchSuffix, makeLocalhostRootDRC(), QType::SOA), - DNSRecord("localhost" + actualSearchSuffix, DNSRecordContent::mastermake(QType::AAAA, QClass::IN, "::1"), QType::AAAA), - DNSRecord("localhost" + actualSearchSuffix, DNSRecordContent::mastermake(QType::A, QClass::IN, "127.0.0.1"), QType::A)}); + DNSRecord("localhost" + actualSearchSuffix, DNSRecordContent::make(QType::AAAA, QClass::IN, "::1"), QType::AAAA), + DNSRecord("localhost" + actualSearchSuffix, DNSRecordContent::make(QType::A, QClass::IN, "127.0.0.1"), QType::A)}); addDomainMapFixtureEntry(domainMap, "self" + actualSearchSuffix, QType::AAAA, "::1"); addDomainMapFixtureEntry( domainMap, diff --git a/pdns/rfc2136handler.cc b/pdns/rfc2136handler.cc index 2f993bfa4a44..1c2b9c42a251 100644 --- a/pdns/rfc2136handler.cc +++ b/pdns/rfc2136handler.cc @@ -410,7 +410,7 @@ uint PacketHandler::performUpdate(const string &msgPrefix, const DNSRecord *rr, auto repr = rec.getZoneRepresentation(); if (rec.qtype == QType::TXT) { DLOG(g_log<serialize(rec.qname, true, true); auto rc = DNSRecordContent::deserialize(rec.qname, rec.qtype.getCode(), ser); repr = rc->getZoneRepresentation(true); @@ -545,12 +545,12 @@ int PacketHandler::forwardPacket(const string &msgPrefix, const DNSPacket& p, co B.getDomainMetadata(p.qdomain, "FORWARD-DNSUPDATE", forward); if (forward.size() == 0 && ! ::arg().mustDo("forward-dnsupdate")) { - g_log<(recvRes) < sizeof(lenBuf)) { - g_log< notify; B.getDomainMetadata(p.qdomain, "NOTIFY-DNSUPDATE", notify); if (!notify.empty() && notify.front() == "1") { diff --git a/pdns/slavecommunicator.cc b/pdns/slavecommunicator.cc index 5029708ee67c..6518f3335eb4 100644 --- a/pdns/slavecommunicator.cc +++ b/pdns/slavecommunicator.cc @@ -48,12 +48,12 @@ #include "ixfr.hh" -void CommunicatorClass::addSuckRequest(const DNSName &domain, const ComboAddress& master, SuckRequest::RequestPriority priority, bool force) +void CommunicatorClass::addSuckRequest(const DNSName& domain, const ComboAddress& primary, SuckRequest::RequestPriority priority, bool force) { auto data = d_data.lock(); SuckRequest sr; sr.domain = domain; - sr.master = master; + sr.primary = primary; sr.force = force; sr.priorityAndOrder.first = priority; sr.priorityAndOrder.second = data->d_sorthelper++; @@ -151,18 +151,18 @@ static bool catalogDiff(const DomainInfo& di, vector& fromXFR, vect di.backend->setOptions(ciXFR.d_zone, ciDB.toJson()); } - if (di.masters != ciDB.d_primaries) { // update primaries + if (di.primaries != ciDB.d_primaries) { // update primaries if (doTransaction && (inTransaction = di.backend->startTransaction(di.zone))) { g_log << Logger::Warning << logPrefix << "backend transaction started" << endl; doTransaction = false; } vector primaries; - for (const auto& primary : di.masters) { + for (const auto& primary : di.primaries) { primaries.push_back(primary.toStringWithPortExcept(53)); } g_log << Logger::Warning << logPrefix << "update primaries for zone '" << ciXFR.d_zone << "' to '" << boost::join(primaries, ", ") << "'" << endl; - di.backend->setMasters(ciXFR.d_zone, di.masters); + di.backend->setPrimaries(ciXFR.d_zone, di.primaries); retrieve.emplace_back(ciXFR); } @@ -194,7 +194,7 @@ static bool catalogDiff(const DomainInfo& di, vector& fromXFR, vect doTransaction = false; } - di.backend->setMasters(ciCreate.d_zone, di.masters); + di.backend->setPrimaries(ciCreate.d_zone, di.primaries); di.backend->setOptions(ciCreate.d_zone, ciCreate.toJson()); di.backend->setCatalog(ciCreate.d_zone, di.zone); @@ -239,7 +239,7 @@ static bool catalogDiff(const DomainInfo& di, vector& fromXFR, vect g_log << Logger::Warning << logPrefix << "create zone '" << ciCreate.d_zone << "'" << endl; di.backend->createDomain(ciCreate.d_zone, DomainInfo::Slave, ciCreate.d_primaries, ""); - di.backend->setMasters(ciCreate.d_zone, di.masters); + di.backend->setPrimaries(ciCreate.d_zone, di.primaries); di.backend->setOptions(ciCreate.d_zone, ciCreate.toJson()); di.backend->setCatalog(ciCreate.d_zone, di.zone); @@ -274,12 +274,12 @@ static bool catalogDiff(const DomainInfo& di, vector& fromXFR, vect } // retrieve new and updated zones with new primaries - auto masters = di.masters; - if (!masters.empty()) { + auto primaries = di.primaries; + if (!primaries.empty()) { for (auto& ret : retrieve) { - shuffle(masters.begin(), masters.end(), pdns::dns_random_engine()); - const auto& master = masters.front(); - Communicator.addSuckRequest(ret.d_zone, master, SuckRequest::Notify); + shuffle(primaries.begin(), primaries.end(), pdns::dns_random_engine()); + const auto& primary = primaries.front(); + Communicator.addSuckRequest(ret.d_zone, primary, SuckRequest::Notify); } } @@ -571,7 +571,7 @@ static bool processRecordForZS(const DNSName& domain, bool& firstNSEC3, DNSResou } /* So this code does a number of things. - 1) It will AXFR a domain from a master + 1) It will AXFR a domain from a primary The code can retrieve the current serial number in the database itself. It may attempt an IXFR 2) It will filter the zone through a lua *filter* script @@ -990,7 +990,7 @@ void CommunicatorClass::suck(const DNSName &domain, const ComboAddress& remote, catch(ResolverException &re) { { auto data = d_data.lock(); - // The AXFR probably failed due to a problem on the master server. If SOA-checks against this master + // The AXFR probably failed due to a problem on the primary server. If SOA-checks against this primary // still succeed, we would constantly try to AXFR the zone. To avoid this, we add the zone to the list of // failed slave-checks. This will suspend slave-checks (and subsequent AXFR) for this zone for some time. uint64_t newCount = 1; @@ -1050,17 +1050,16 @@ struct SlaveSenderReceiver Identifier send(DomainNotificationInfo& dni) { - shuffle(dni.di.masters.begin(), dni.di.masters.end(), pdns::dns_random_engine()); + shuffle(dni.di.primaries.begin(), dni.di.primaries.end(), pdns::dns_random_engine()); try { return {dni.di.zone, - *dni.di.masters.begin(), - d_resolver.sendResolve(*dni.di.masters.begin(), - dni.localaddr, - dni.di.zone, - QType::SOA, - nullptr, - dni.dnssecOk, dni.tsigkeyname, dni.tsigalgname, dni.tsigsecret) - }; + *dni.di.primaries.begin(), + d_resolver.sendResolve(*dni.di.primaries.begin(), + dni.localaddr, + dni.di.zone, + QType::SOA, + nullptr, + dni.dnssecOk, dni.tsigkeyname, dni.tsigalgname, dni.tsigsecret)}; } catch(PDNSException& e) { throw runtime_error("While attempting to query freshness of '"+dni.di.zone.toLogString()+"': "+e.reason); @@ -1087,12 +1086,12 @@ void CommunicatorClass::addSlaveCheckRequest(const DomainInfo& di, const ComboAd ours.backend = nullptr; // When adding a check, if the remote addr from which notification was - // received is a master, clear all other masters so we can be sure the + // received is a primary, clear all other primaries so we can be sure the // query goes to that one. - for (const auto& master : di.masters) { - if (ComboAddress::addressOnlyEqual()(remote, master)) { - ours.masters.clear(); - ours.masters.push_back(master); + for (const auto& primary : di.primaries) { + if (ComboAddress::addressOnlyEqual()(remote, primary)) { + ours.primaries.clear(); + ours.primaries.push_back(primary); break; } } @@ -1101,11 +1100,11 @@ void CommunicatorClass::addSlaveCheckRequest(const DomainInfo& di, const ComboAd d_any_sem.post(); // kick the loop! } -void CommunicatorClass::addTrySuperMasterRequest(const DNSPacket& p) +void CommunicatorClass::addTryAutoPrimaryRequest(const DNSPacket& p) { const DNSPacket& ours = p; auto data = d_data.lock(); - if (data->d_potentialsupermasters.insert(ours).second) { + if (data->d_potentialautoprimaries.insert(ours).second) { d_any_sem.post(); // kick the loop! } } @@ -1129,7 +1128,7 @@ void CommunicatorClass::slaveRefresh(PacketHandler *P) requeue.insert(di); } else { - // We received a NOTIFY for a zone. This means at least one of the zone's master server is working. + // We received a NOTIFY for a zone. This means at least one of the zone's primary server is working. // Therefore we delete the zone from the list of failed slave-checks to allow immediate checking. const auto wasFailedDomain = data->d_failedSlaveRefresh.find(di.zone); if (wasFailedDomain != data->d_failedSlaveRefresh.end()) { @@ -1143,8 +1142,8 @@ void CommunicatorClass::slaveRefresh(PacketHandler *P) } data->d_tocheck.swap(requeue); - trysuperdomains = std::move(data->d_potentialsupermasters); - data->d_potentialsupermasters.clear(); + trysuperdomains = std::move(data->d_potentialautoprimaries); + data->d_potentialautoprimaries.clear(); } for(const DNSPacket& dp : trysuperdomains) { @@ -1152,7 +1151,7 @@ void CommunicatorClass::slaveRefresh(PacketHandler *P) TSIGRecordContent trc; DNSName tsigkeyname; dp.getTSIGDetails(&trc, &tsigkeyname); - P->trySuperMasterSynchronous(dp, tsigkeyname); // FIXME could use some error logging + P->tryAutoPrimarySynchronous(dp, tsigkeyname); // FIXME could use some error logging } if(rdomains.empty()) { // if we have priority domains, check them first B->getUnfreshSlaveInfos(&rdomains); @@ -1175,10 +1174,10 @@ void CommunicatorClass::slaveRefresh(PacketHandler *P) std::vector localaddr; SuckRequest sr; sr.domain=di.zone; - if(di.masters.empty()) // slave domains w/o masters are ignored + if (di.primaries.empty()) // slave domains w/o primaries are ignored continue; // remove unfresh domains already queued for AXFR, no sense polling them again - sr.master=*di.masters.begin(); + sr.primary = *di.primaries.begin(); if(nameindex.count(sr)) { // this does NOT however protect us against AXFRs already in progress! continue; } @@ -1190,7 +1189,7 @@ void CommunicatorClass::slaveRefresh(PacketHandler *P) dni.di = di; dni.dnssecOk = checkSignatures; - if(dk.getTSIGForAccess(di.zone, sr.master, &dni.tsigkeyname)) { + if (dk.getTSIGForAccess(di.zone, sr.primary, &dni.tsigkeyname)) { string secret64; if (!B->getTSIGKey(dni.tsigkeyname, dni.tsigalgname, secret64)) { g_log<getDomainInfo(di.zone, tempdi, false)) { g_log< their serial "<< theirserial << endl; + g_log << Logger::Warning << "Domain '" << di.zone << "' more recent than primary " << remote.toStringWithPortExcept(53) << ", our serial " << ourserial << " > their serial " << theirserial << endl; di.backend->setFresh(di.id); } else if(hasSOA && theirserial == ourserial) { @@ -1351,27 +1350,27 @@ void CommunicatorClass::slaveRefresh(PacketHandler *P) } if(! maxInception && ! ssr.d_freshness[di.id].theirInception) { - g_log<setFresh(di.id); } else if(maxInception == ssr.d_freshness[di.id].theirInception && maxExpire == ssr.d_freshness[di.id].theirExpire) { - g_log<setFresh(di.id); } else if(maxExpire >= now && ! ssr.d_freshness[di.id].theirInception ) { - g_log<setFresh(di.id); } else if(maxInception && ! ssr.d_freshness[di.id].theirInception ) { - g_log< > CommunicatorClass::getSuckRequests() { auto data = d_data.lock(); ret.reserve(data->d_suckdomains.size()); for (auto const &d : data->d_suckdomains) { - ret.emplace_back(d.domain, d.master); + ret.emplace_back(d.domain, d.primary); } return ret; } diff --git a/pdns/speedtest.cc b/pdns/speedtest.cc index 741bc701b975..f8188b0ab2ae 100644 --- a/pdns/speedtest.cc +++ b/pdns/speedtest.cc @@ -299,24 +299,24 @@ static vector makeBigReferral() for(char c='a'; c<= 'm';++c) { pw.startRecord(DNSName("com"), QType::NS, 3600, 1, DNSResourceRecord::AUTHORITY); gtld[0]=c; - auto drc = DNSRecordContent::mastermake(QType::NS, 1, gtld); + auto drc = DNSRecordContent::make(QType::NS, 1, gtld); drc->toPacket(pw); } for(char c='a'; c<= 'k';++c) { gtld[0]=c; pw.startRecord(DNSName(gtld), QType::A, 3600, 1, DNSResourceRecord::ADDITIONAL); - auto drc = DNSRecordContent::mastermake(QType::A, 1, "1.2.3.4"); + auto drc = DNSRecordContent::make(QType::A, 1, "1.2.3.4"); drc->toPacket(pw); } pw.startRecord(DNSName("a.gtld-servers.net"), QType::AAAA, 3600, 1, DNSResourceRecord::ADDITIONAL); - auto aaaarc = DNSRecordContent::mastermake(QType::AAAA, 1, "2001:503:a83e::2:30"); + auto aaaarc = DNSRecordContent::make(QType::AAAA, 1, "2001:503:a83e::2:30"); aaaarc->toPacket(pw); pw.startRecord(DNSName("b.gtld-servers.net"), QType::AAAA, 3600, 1, DNSResourceRecord::ADDITIONAL); - aaaarc = DNSRecordContent::mastermake(QType::AAAA, 1, "2001:503:231d::2:30"); + aaaarc = DNSRecordContent::make(QType::AAAA, 1, "2001:503:231d::2:30"); aaaarc->toPacket(pw); @@ -363,7 +363,7 @@ static vector makeBigDNSPacketReferral() // shuffle(records); for(const auto& rec : records) { pw.startRecord(rec.qname, rec.qtype.getCode(), rec.ttl, 1, DNSResourceRecord::ADDITIONAL); - auto drc = DNSRecordContent::mastermake(rec.qtype.getCode(), 1, rec.content); + auto drc = DNSRecordContent::make(rec.qtype.getCode(), 1, rec.content); drc->toPacket(pw); } @@ -382,8 +382,8 @@ struct MakeARecordTestMM void operator()() const { - auto drc = DNSRecordContent::mastermake(QType::A, 1, - "1.2.3.4"); + auto drc = DNSRecordContent::make(QType::A, 1, + "1.2.3.4"); } }; @@ -455,8 +455,8 @@ struct GenericRecordTest DNSPacketWriter pw(packet, DNSName("outpost.ds9a.nl"), d_type); for(int records = 0; records < d_records; records++) { pw.startRecord(DNSName("outpost.ds9a.nl"), d_type); - auto drc = DNSRecordContent::mastermake(d_type, 1, - d_content); + auto drc = DNSRecordContent::make(d_type, 1, + d_content); drc->toPacket(pw); } pw.commit(); @@ -482,7 +482,7 @@ struct AAAARecordTest DNSPacketWriter pw(packet, DNSName("outpost.ds9a.nl"), QType::AAAA); for(int records = 0; records < d_records; records++) { pw.startRecord(DNSName("outpost.ds9a.nl"), QType::AAAA); - auto drc = DNSRecordContent::mastermake(QType::AAAA, 1, "fe80::21d:92ff:fe6d:8441"); + auto drc = DNSRecordContent::make(QType::AAAA, 1, "fe80::21d:92ff:fe6d:8441"); drc->toPacket(pw); } pw.commit(); @@ -506,7 +506,7 @@ struct SOARecordTest for(int records = 0; records < d_records; records++) { pw.startRecord(DNSName("outpost.ds9a.nl"), QType::SOA); - auto drc = DNSRecordContent::mastermake(QType::SOA, 1, "a0.org.afilias-nst.info. noc.afilias-nst.info. 2008758137 1800 900 604800 86400"); + auto drc = DNSRecordContent::make(QType::SOA, 1, "a0.org.afilias-nst.info. noc.afilias-nst.info. 2008758137 1800 900 604800 86400"); drc->toPacket(pw); } pw.commit(); @@ -527,20 +527,20 @@ static vector makeTypicalReferral() DNSPacketWriter pw(packet, DNSName("outpost.ds9a.nl"), QType::A); pw.startRecord(DNSName("ds9a.nl"), QType::NS, 3600, 1, DNSResourceRecord::AUTHORITY); - auto drc = DNSRecordContent::mastermake(QType::NS, 1, "ns1.ds9a.nl"); + auto drc = DNSRecordContent::make(QType::NS, 1, "ns1.ds9a.nl"); drc->toPacket(pw); pw.startRecord(DNSName("ds9a.nl"), QType::NS, 3600, 1, DNSResourceRecord::AUTHORITY); - drc = DNSRecordContent::mastermake(QType::NS, 1, "ns2.ds9a.nl"); + drc = DNSRecordContent::make(QType::NS, 1, "ns2.ds9a.nl"); drc->toPacket(pw); pw.startRecord(DNSName("ns1.ds9a.nl"), QType::A, 3600, 1, DNSResourceRecord::ADDITIONAL); - drc = DNSRecordContent::mastermake(QType::A, 1, "1.2.3.4"); + drc = DNSRecordContent::make(QType::A, 1, "1.2.3.4"); drc->toPacket(pw); pw.startRecord(DNSName("ns2.ds9a.nl"), QType::A, 3600, 1, DNSResourceRecord::ADDITIONAL); - drc = DNSRecordContent::mastermake(QType::A, 1, "4.3.2.1"); + drc = DNSRecordContent::make(QType::A, 1, "4.3.2.1"); drc->toPacket(pw); pw.commit(); diff --git a/pdns/test-bindparser_cc.cc b/pdns/test-bindparser_cc.cc index bff31f21fc51..9a918b36c7d5 100644 --- a/pdns/test-bindparser_cc.cc +++ b/pdns/test-bindparser_cc.cc @@ -36,21 +36,21 @@ BOOST_AUTO_TEST_CASE(test_parser) vector domains = BP.getDomains(); BOOST_CHECK_EQUAL(domains.size(), 11U); -#define checkzone(i, dname, fname, ztype, nmasters) \ - { \ - BOOST_CHECK(domains[i].name == DNSName(dname)); \ - BOOST_CHECK_EQUAL(domains[i].filename, fname); \ - BOOST_CHECK_EQUAL(domains[i].type, #ztype); \ - BOOST_CHECK_EQUAL(domains[i].masters.size(), nmasters); \ +#define checkzone(i, dname, fname, ztype, nprimaries) \ + { \ + BOOST_CHECK(domains[i].name == DNSName(dname)); \ + BOOST_CHECK_EQUAL(domains[i].filename, fname); \ + BOOST_CHECK_EQUAL(domains[i].type, #ztype); \ + BOOST_CHECK_EQUAL(domains[i].primaries.size(), nprimaries); \ } checkzone(0, "example.com", "./zones/example.com", master, 0U); checkzone(1, "test.com", "./zones/test.com", slave, 1U); - BOOST_CHECK_EQUAL(domains[1].masters[0].toString(), ComboAddress("1.2.3.4", 5678).toString()); + BOOST_CHECK_EQUAL(domains[1].primaries[0].toString(), ComboAddress("1.2.3.4", 5678).toString()); checkzone(2, "test.dyndns", "./zones/test.dyndns", garblewarble, 0U); checkzone(3, "wtest.com", "./zones/wtest.com", primary, 0U); checkzone(4, "nztest.com", "./zones/nztest.com", secondary, 1U); - BOOST_CHECK_EQUAL(domains[1].masters[0].toString(), ComboAddress("1.2.3.4", 5678).toString()); + BOOST_CHECK_EQUAL(domains[1].primaries[0].toString(), ComboAddress("1.2.3.4", 5678).toString()); checkzone(5, "dnssec-parent.com", "./zones/dnssec-parent.com", primary, 0U); checkzone(6, "delegated.dnssec-parent.com", "./zones/delegated.dnssec-parent.com", primary, 0U); checkzone(7, "secure-delegated.dnssec-parent.com", "./zones/secure-delegated.dnssec-parent.com", primary, 0U); diff --git a/pdns/test-common.hh b/pdns/test-common.hh index 8436fca44029..9c0d75aec4e8 100644 --- a/pdns/test-common.hh +++ b/pdns/test-common.hh @@ -22,7 +22,7 @@ static inline std::shared_ptr getRecordContent(uint16_t type, result = std::make_shared(); } else { - result = DNSRecordContent::mastermake(type, QClass::IN, content); + result = DNSRecordContent::make(type, QClass::IN, content); } return result; diff --git a/pdns/test-dnsrecordcontent.cc b/pdns/test-dnsrecordcontent.cc index 527b49b8dd94..b5811dafa4fe 100644 --- a/pdns/test-dnsrecordcontent.cc +++ b/pdns/test-dnsrecordcontent.cc @@ -19,13 +19,12 @@ BOOST_AUTO_TEST_CASE(test_equality) { BOOST_CHECK(aaaa == aaaa1); - - auto rec1=DNSRecordContent::mastermake(QType::A, 1, "192.168.0.1"); - auto rec2=DNSRecordContent::mastermake(QType::A, 1, "192.168.222.222"); - auto rec3=DNSRecordContent::mastermake(QType::AAAA, 1, "::1"); - auto recMX=DNSRecordContent::mastermake(QType::MX, 1, "25 smtp.powerdns.com"); - auto recMX2=DNSRecordContent::mastermake(QType::MX, 1, "26 smtp.powerdns.com"); - auto recMX3=DNSRecordContent::mastermake(QType::MX, 1, "26 SMTP.powerdns.com"); + auto rec1 = DNSRecordContent::make(QType::A, 1, "192.168.0.1"); + auto rec2 = DNSRecordContent::make(QType::A, 1, "192.168.222.222"); + auto rec3 = DNSRecordContent::make(QType::AAAA, 1, "::1"); + auto recMX = DNSRecordContent::make(QType::MX, 1, "25 smtp.powerdns.com"); + auto recMX2 = DNSRecordContent::make(QType::MX, 1, "26 smtp.powerdns.com"); + auto recMX3 = DNSRecordContent::make(QType::MX, 1, "26 SMTP.powerdns.com"); BOOST_CHECK(!(*rec1==*rec2)); BOOST_CHECK(*rec1==*rec1); BOOST_CHECK(*rec3==*rec3); diff --git a/pdns/test-dnsrecords_cc.cc b/pdns/test-dnsrecords_cc.cc index 141cfc3f9eed..e3c5fe1e3305 100644 --- a/pdns/test-dnsrecords_cc.cc +++ b/pdns/test-dnsrecords_cc.cc @@ -295,8 +295,8 @@ BOOST_AUTO_TEST_CASE(test_record_types) { BOOST_TEST_MESSAGE("Checking record type " << q.toString() << " test #" << n); try { std::string recData; - auto rec = DNSRecordContent::mastermake(q.getCode(), 1, inval); - BOOST_CHECK_MESSAGE(rec != NULL, "mastermake( " << q.getCode() << ", 1, " << inval << ") should not return NULL"); + auto rec = DNSRecordContent::make(q.getCode(), 1, inval); + BOOST_CHECK_MESSAGE(rec != NULL, "make( " << q.getCode() << ", 1, " << inval << ") should not return NULL"); if (rec == NULL) continue; // now verify the record (note that this will be same as *zone* value (except for certain QTypes) @@ -399,23 +399,21 @@ BOOST_AUTO_TEST_CASE(test_record_types_bad_values) { bool success=true; BOOST_WARN_EXCEPTION( { - auto drc = DNSRecordContent::mastermake(q.getCode(), 1, input); + auto drc = DNSRecordContent::make(q.getCode(), 1, input); pw.startRecord(DNSName("unit.test"), q.getCode()); drc->toPacket(pw); success=false; }, - std::exception, test_dnsrecords_cc_predicate - ); + std::exception, test_dnsrecords_cc_predicate); if (success) REC_FAIL_XSUCCESS(q.toString() << " test #" << n << " has unexpectedly passed"); // a bad record was detected when it was supposed not to be detected } else { BOOST_CHECK_EXCEPTION( { - auto drc = DNSRecordContent::mastermake(q.getCode(), 1, input); + auto drc = DNSRecordContent::make(q.getCode(), 1, input); pw.startRecord(DNSName("unit.test"), q.getCode()); drc->toPacket(pw); }, - std::exception, test_dnsrecords_cc_predicate - ); + std::exception, test_dnsrecords_cc_predicate); } }; } @@ -463,27 +461,27 @@ BOOST_AUTO_TEST_CASE(test_opt_record_out) { // special record test, because Unknown record types are the worst BOOST_AUTO_TEST_CASE(test_unknown_records_in) { - auto validUnknown = DNSRecordContent::mastermake(static_cast(65534), QClass::IN, "\\# 1 42"); + auto validUnknown = DNSRecordContent::make(static_cast(65534), QClass::IN, "\\# 1 42"); // we need at least two parts - BOOST_CHECK_THROW(auto notEnoughPartsUnknown = DNSRecordContent::mastermake(static_cast(65534), QClass::IN, "\\#"), MOADNSException); + BOOST_CHECK_THROW(auto notEnoughPartsUnknown = DNSRecordContent::make(static_cast(65534), QClass::IN, "\\#"), MOADNSException); // two parts are OK when the RDATA size is 0, not OK otherwise - auto validEmptyUnknown = DNSRecordContent::mastermake(static_cast(65534), QClass::IN, "\\# 0"); - BOOST_CHECK_THROW(auto twoPartsNotZeroUnknown = DNSRecordContent::mastermake(static_cast(65534), QClass::IN, "\\# 1"), MOADNSException); + auto validEmptyUnknown = DNSRecordContent::make(static_cast(65534), QClass::IN, "\\# 0"); + BOOST_CHECK_THROW(auto twoPartsNotZeroUnknown = DNSRecordContent::make(static_cast(65534), QClass::IN, "\\# 1"), MOADNSException); // the first part has to be "\#" - BOOST_CHECK_THROW(auto invalidFirstPartUnknown = DNSRecordContent::mastermake(static_cast(65534), QClass::IN, "\\$ 0"), MOADNSException); + BOOST_CHECK_THROW(auto invalidFirstPartUnknown = DNSRecordContent::make(static_cast(65534), QClass::IN, "\\$ 0"), MOADNSException); // RDATA length is not even - BOOST_CHECK_THROW(auto unevenUnknown = DNSRecordContent::mastermake(static_cast(65534), QClass::IN, "\\# 1 A"), MOADNSException); + BOOST_CHECK_THROW(auto unevenUnknown = DNSRecordContent::make(static_cast(65534), QClass::IN, "\\# 1 A"), MOADNSException); // RDATA length is not equal to the expected size - BOOST_CHECK_THROW(auto wrongRDATASizeUnknown = DNSRecordContent::mastermake(static_cast(65534), QClass::IN, "\\# 2 AA"), MOADNSException); + BOOST_CHECK_THROW(auto wrongRDATASizeUnknown = DNSRecordContent::make(static_cast(65534), QClass::IN, "\\# 2 AA"), MOADNSException); // RDATA is invalid (invalid hex value) try { - auto invalidRDATAUnknown = DNSRecordContent::mastermake(static_cast(65534), QClass::IN, "\\# 1 JJ"); + auto invalidRDATAUnknown = DNSRecordContent::make(static_cast(65534), QClass::IN, "\\# 1 JJ"); // we should not reach that code BOOST_CHECK(false); // but if we do let's see what we got (likely what was left over on the stack) @@ -498,28 +496,27 @@ BOOST_AUTO_TEST_CASE(test_unknown_records_in) { // test that we reject invalid SVCB escaping BOOST_AUTO_TEST_CASE(test_svcb_records_in) { - BOOST_CHECK_THROW(auto invalidSVCB1=DNSRecordContent::mastermake(QType::SVCB, QClass::IN, R"FOO(1 . alpn=foo\\)FOO"), std::runtime_error); - + BOOST_CHECK_THROW(auto invalidSVCB1 = DNSRecordContent::make(QType::SVCB, QClass::IN, R"FOO(1 . alpn=foo\\)FOO"), std::runtime_error); } // special record test, because EUI are odd BOOST_AUTO_TEST_CASE(test_eui_records_in) { - auto validEUI48=DNSRecordContent::mastermake(QType::EUI48, QClass::IN, "00-00-5e-00-53-2a"); + auto validEUI48 = DNSRecordContent::make(QType::EUI48, QClass::IN, "00-00-5e-00-53-2a"); - BOOST_CHECK_THROW(auto invalidEUI48=DNSRecordContent::mastermake(QType::EUI48, QClass::IN, "00-00-5e-00-53-"), MOADNSException); + BOOST_CHECK_THROW(auto invalidEUI48 = DNSRecordContent::make(QType::EUI48, QClass::IN, "00-00-5e-00-53-"), MOADNSException); - auto validEUI64=DNSRecordContent::mastermake(QType::EUI64, QClass::IN, "00-00-5e-ef-10-00-00-2a"); + auto validEUI64 = DNSRecordContent::make(QType::EUI64, QClass::IN, "00-00-5e-ef-10-00-00-2a"); - BOOST_CHECK_THROW(auto invalidEUI64=DNSRecordContent::mastermake(QType::EUI64, QClass::IN, "00-00-5e-ef-10-00-00-"), MOADNSException); + BOOST_CHECK_THROW(auto invalidEUI64 = DNSRecordContent::make(QType::EUI64, QClass::IN, "00-00-5e-ef-10-00-00-"), MOADNSException); } // special record test, because LOC is weird BOOST_AUTO_TEST_CASE(test_loc_records_in) { - auto validLOC=DNSRecordContent::mastermake(QType::LOC, QClass::IN, "52 22 23.000 N 4 53 32.000 E -2.00m 0.00m 10000m 10m"); + auto validLOC = DNSRecordContent::make(QType::LOC, QClass::IN, "52 22 23.000 N 4 53 32.000 E -2.00m 0.00m 10000m 10m"); - BOOST_CHECK_THROW(auto invalidLOC=DNSRecordContent::mastermake(QType::LOC, QClass::IN, "52 22 23.000 N"), MOADNSException); + BOOST_CHECK_THROW(auto invalidLOC = DNSRecordContent::make(QType::LOC, QClass::IN, "52 22 23.000 N"), MOADNSException); vector packet; DNSPacketWriter writer(packet, DNSName("powerdns.com."), QType::LOC, QClass::IN, 0); @@ -537,7 +534,7 @@ BOOST_AUTO_TEST_CASE(test_loc_records_in) { BOOST_AUTO_TEST_CASE(test_nsec_records_in) { { - auto validNSEC=DNSRecordContent::mastermake(QType::NSEC, QClass::IN, "host.example.com. A MX RRSIG NSEC TYPE1234"); + auto validNSEC = DNSRecordContent::make(QType::NSEC, QClass::IN, "host.example.com. A MX RRSIG NSEC TYPE1234"); vector packet; DNSPacketWriter writer(packet, DNSName("powerdns.com."), QType::NSEC, QClass::IN, 0); @@ -552,7 +549,7 @@ BOOST_AUTO_TEST_CASE(test_nsec_records_in) { } { - auto validNSEC3=DNSRecordContent::mastermake(QType::NSEC3, QClass::IN, "1 1 12 aabbccdd 2vptu5timamqttgl4luu9kg21e0aor3s A RRSIG"); + auto validNSEC3 = DNSRecordContent::make(QType::NSEC3, QClass::IN, "1 1 12 aabbccdd 2vptu5timamqttgl4luu9kg21e0aor3s A RRSIG"); vector packet; DNSPacketWriter writer(packet, DNSName("powerdns.com."), QType::NSEC3, QClass::IN, 0); @@ -567,7 +564,7 @@ BOOST_AUTO_TEST_CASE(test_nsec_records_in) { } { - auto validNSEC3PARAM=DNSRecordContent::mastermake(QType::NSEC3PARAM, QClass::IN, "1 0 12 aabbccdd"); + auto validNSEC3PARAM = DNSRecordContent::make(QType::NSEC3PARAM, QClass::IN, "1 0 12 aabbccdd"); vector packet; DNSPacketWriter writer(packet, DNSName("powerdns.com."), QType::NSEC3PARAM, QClass::IN, 0); @@ -585,7 +582,7 @@ BOOST_AUTO_TEST_CASE(test_nsec_records_in) { BOOST_AUTO_TEST_CASE(test_nsec_records_types) { { - auto validNSEC = DNSRecordContent::mastermake(QType::NSEC, QClass::IN, "host.example.com. A MX RRSIG NSEC TYPE1234"); + auto validNSEC = DNSRecordContent::make(QType::NSEC, QClass::IN, "host.example.com. A MX RRSIG NSEC TYPE1234"); auto nsecContent = std::dynamic_pointer_cast(validNSEC); BOOST_REQUIRE(nsecContent); @@ -613,7 +610,7 @@ BOOST_AUTO_TEST_CASE(test_nsec_records_types) { } BOOST_AUTO_TEST_CASE(test_nsec_invalid_bitmap_len) { - auto validNSEC = DNSRecordContent::mastermake(QType::NSEC, QClass::IN, "host.example.com. A MX RRSIG NSEC AAAA NSEC3 TYPE1234 TYPE65535"); + auto validNSEC = DNSRecordContent::make(QType::NSEC, QClass::IN, "host.example.com. A MX RRSIG NSEC AAAA NSEC3 TYPE1234 TYPE65535"); const DNSName powerdnsName("powerdns.com."); vector packet; @@ -637,7 +634,7 @@ BOOST_AUTO_TEST_CASE(test_nsec3_records_types) { { const std::string str = "1 1 12 aabbccdd 2vptu5timamqttgl4luu9kg21e0aor3s a mx rrsig nsec3 type1234 type65535"; - auto validNSEC3 = DNSRecordContent::mastermake(QType::NSEC3, QClass::IN, str); + auto validNSEC3 = DNSRecordContent::make(QType::NSEC3, QClass::IN, str); auto nsec3Content = std::dynamic_pointer_cast(validNSEC3); BOOST_REQUIRE(nsec3Content); @@ -677,7 +674,7 @@ BOOST_AUTO_TEST_CASE(test_nsec3_records_types) { const std::string salt = "aabbccdd"; const std::string hash = "2vptu5timamqttgl4luu9kg21e0aor3s"; const std::string str = "1 1 12 " + salt + " " + hash; - auto validNSEC3=DNSRecordContent::mastermake(QType::NSEC3, QClass::IN, str); + auto validNSEC3 = DNSRecordContent::make(QType::NSEC3, QClass::IN, str); vector packet; DNSPacketWriter writer(packet, qname, QType::NSEC3, QClass::IN, 0); diff --git a/pdns/test-ixfr_cc.cc b/pdns/test-ixfr_cc.cc index 63d78ea17856..48127d3cd653 100644 --- a/pdns/test-ixfr_cc.cc +++ b/pdns/test-ixfr_cc.cc @@ -13,10 +13,10 @@ BOOST_AUTO_TEST_SUITE(test_ixfr_cc) BOOST_AUTO_TEST_CASE(test_ixfr_rfc1995_axfr) { - const ComboAddress master("[2001:DB8::1]:53"); + const ComboAddress primary("[2001:DB8::1]:53"); const DNSName zone("JAIN.AD.JP."); - auto masterSOA = DNSRecordContent::mastermake(QType::SOA, QClass::IN, "NS.JAIN.AD.JP. mohta.jain.ad.jp. 3 600 600 3600000 604800"); + auto primarySOA = DNSRecordContent::make(QType::SOA, QClass::IN, "NS.JAIN.AD.JP. mohta.jain.ad.jp. 3 600 600 3600000 604800"); vector records; addRecordToList(records, DNSName("JAIN.AD.JP."), QType::SOA, "ns.jain.ad.jp. mohta.jain.ad.jp. 3 600 600 3600000 604800"); addRecordToList(records, DNSName("JAIN.AD.JP."), QType::NS, "NS.JAIN.AD.JP."); @@ -25,7 +25,7 @@ BOOST_AUTO_TEST_CASE(test_ixfr_rfc1995_axfr) { addRecordToList(records, DNSName("JAIN-BB.JAIN.AD.JP."), QType::A, "192.41.197.2"); addRecordToList(records, DNSName("JAIN.AD.JP."), QType::SOA, "ns.jain.ad.jp. mohta.jain.ad.jp. 3 600 600 3600000 604800"); - auto ret = processIXFRRecords(master, zone, records, std::dynamic_pointer_cast(masterSOA)); + auto ret = processIXFRRecords(primary, zone, records, std::dynamic_pointer_cast(primarySOA)); BOOST_CHECK_EQUAL(ret.size(), 1U); BOOST_CHECK_EQUAL(ret.at(0).first.size(), 0U); BOOST_REQUIRE_EQUAL(ret.at(0).second.size(), records.size()); @@ -35,10 +35,10 @@ BOOST_AUTO_TEST_CASE(test_ixfr_rfc1995_axfr) { } BOOST_AUTO_TEST_CASE(test_ixfr_rfc1995_incremental) { - const ComboAddress master("[2001:DB8::1]:53"); + const ComboAddress primary("[2001:DB8::1]:53"); const DNSName zone("JAIN.AD.JP."); - auto masterSOA = DNSRecordContent::mastermake(QType::SOA, QClass::IN, "NS.JAIN.AD.JP. mohta.jain.ad.jp. 3 600 600 3600000 604800"); + auto primarySOA = DNSRecordContent::make(QType::SOA, QClass::IN, "NS.JAIN.AD.JP. mohta.jain.ad.jp. 3 600 600 3600000 604800"); vector records; addRecordToList(records, DNSName("JAIN.AD.JP."), QType::SOA, "ns.jain.ad.jp. mohta.jain.ad.jp. 3 600 600 3600000 604800"); addRecordToList(records, DNSName("JAIN.AD.JP."), QType::SOA, "ns.jain.ad.jp. mohta.jain.ad.jp. 1 600 600 3600000 604800"); @@ -52,7 +52,7 @@ BOOST_AUTO_TEST_CASE(test_ixfr_rfc1995_incremental) { addRecordToList(records, DNSName("JAIN-BB.JAIN.AD.JP."), QType::A, "133.69.136.3"); addRecordToList(records, DNSName("JAIN.AD.JP."), QType::SOA, "ns.jain.ad.jp. mohta.jain.ad.jp. 3 600 600 3600000 604800"); - auto ret = processIXFRRecords(master, zone, records, std::dynamic_pointer_cast(masterSOA)); + auto ret = processIXFRRecords(primary, zone, records, std::dynamic_pointer_cast(primarySOA)); // two sequences BOOST_CHECK_EQUAL(ret.size(), 2U); // the first one has one removal, two additions (plus the corresponding SOA removal/addition) @@ -82,10 +82,10 @@ BOOST_AUTO_TEST_CASE(test_ixfr_rfc1995_incremental) { } BOOST_AUTO_TEST_CASE(test_ixfr_rfc1995_condensed_incremental) { - const ComboAddress master("[2001:DB8::1]:53"); + const ComboAddress primary("[2001:DB8::1]:53"); const DNSName zone("JAIN.AD.JP."); - auto masterSOA = DNSRecordContent::mastermake(QType::SOA, QClass::IN, "NS.JAIN.AD.JP. mohta.jain.ad.jp. 3 600 600 3600000 604800"); + auto primarySOA = DNSRecordContent::make(QType::SOA, QClass::IN, "NS.JAIN.AD.JP. mohta.jain.ad.jp. 3 600 600 3600000 604800"); vector records; addRecordToList(records, DNSName("JAIN.AD.JP."), QType::SOA, "ns.jain.ad.jp. mohta.jain.ad.jp. 3 600 600 3600000 604800"); addRecordToList(records, DNSName("JAIN.AD.JP."), QType::SOA, "ns.jain.ad.jp. mohta.jain.ad.jp. 1 600 600 3600000 604800"); @@ -95,7 +95,7 @@ BOOST_AUTO_TEST_CASE(test_ixfr_rfc1995_condensed_incremental) { addRecordToList(records, DNSName("JAIN-BB.JAIN.AD.JP."), QType::A, "192.41.197.2"); addRecordToList(records, DNSName("JAIN.AD.JP."), QType::SOA, "ns.jain.ad.jp. mohta.jain.ad.jp. 3 600 600 3600000 604800"); - auto ret = processIXFRRecords(master, zone, records, std::dynamic_pointer_cast(masterSOA)); + auto ret = processIXFRRecords(primary, zone, records, std::dynamic_pointer_cast(primarySOA)); // one sequence BOOST_CHECK_EQUAL(ret.size(), 1U); // it has one removal, two additions (plus the corresponding SOA removal/addition) @@ -113,10 +113,10 @@ BOOST_AUTO_TEST_CASE(test_ixfr_rfc1995_condensed_incremental) { } BOOST_AUTO_TEST_CASE(test_ixfr_no_additions_in_first_sequence) { - const ComboAddress master("[2001:DB8::1]:53"); + const ComboAddress primary("[2001:DB8::1]:53"); const DNSName zone("JAIN.AD.JP."); - auto masterSOA = DNSRecordContent::mastermake(QType::SOA, QClass::IN, "NS.JAIN.AD.JP. mohta.jain.ad.jp. 3 600 600 3600000 604800"); + auto primarySOA = DNSRecordContent::make(QType::SOA, QClass::IN, "NS.JAIN.AD.JP. mohta.jain.ad.jp. 3 600 600 3600000 604800"); vector records; addRecordToList(records, DNSName("JAIN.AD.JP."), QType::SOA, "ns.jain.ad.jp. mohta.jain.ad.jp. 3 600 600 3600000 604800"); addRecordToList(records, DNSName("JAIN.AD.JP."), QType::SOA, "ns.jain.ad.jp. mohta.jain.ad.jp. 1 600 600 3600000 604800"); @@ -128,7 +128,7 @@ BOOST_AUTO_TEST_CASE(test_ixfr_no_additions_in_first_sequence) { addRecordToList(records, DNSName("JAIN-BB.JAIN.AD.JP."), QType::A, "133.69.136.3"); addRecordToList(records, DNSName("JAIN.AD.JP."), QType::SOA, "ns.jain.ad.jp. mohta.jain.ad.jp. 3 600 600 3600000 604800"); - auto ret = processIXFRRecords(master, zone, records, std::dynamic_pointer_cast(masterSOA)); + auto ret = processIXFRRecords(primary, zone, records, std::dynamic_pointer_cast(primarySOA)); // two sequences BOOST_CHECK_EQUAL(ret.size(), 2U); // the first one has one removal, no additions (plus the corresponding SOA removal/addition) @@ -156,10 +156,10 @@ BOOST_AUTO_TEST_CASE(test_ixfr_no_additions_in_first_sequence) { } BOOST_AUTO_TEST_CASE(test_ixfr_no_removals_in_first_sequence) { - const ComboAddress master("[2001:DB8::1]:53"); + const ComboAddress primary("[2001:DB8::1]:53"); const DNSName zone("JAIN.AD.JP."); - auto masterSOA = DNSRecordContent::mastermake(QType::SOA, QClass::IN, "NS.JAIN.AD.JP. mohta.jain.ad.jp. 3 600 600 3600000 604800"); + auto primarySOA = DNSRecordContent::make(QType::SOA, QClass::IN, "NS.JAIN.AD.JP. mohta.jain.ad.jp. 3 600 600 3600000 604800"); vector records; addRecordToList(records, DNSName("JAIN.AD.JP."), QType::SOA, "ns.jain.ad.jp. mohta.jain.ad.jp. 3 600 600 3600000 604800"); addRecordToList(records, DNSName("JAIN.AD.JP."), QType::SOA, "ns.jain.ad.jp. mohta.jain.ad.jp. 1 600 600 3600000 604800"); @@ -172,7 +172,7 @@ BOOST_AUTO_TEST_CASE(test_ixfr_no_removals_in_first_sequence) { addRecordToList(records, DNSName("JAIN-BB.JAIN.AD.JP."), QType::A, "133.69.136.3"); addRecordToList(records, DNSName("JAIN.AD.JP."), QType::SOA, "ns.jain.ad.jp. mohta.jain.ad.jp. 3 600 600 3600000 604800"); - auto ret = processIXFRRecords(master, zone, records, std::dynamic_pointer_cast(masterSOA)); + auto ret = processIXFRRecords(primary, zone, records, std::dynamic_pointer_cast(primarySOA)); // two sequences BOOST_CHECK_EQUAL(ret.size(), 2U); // the first one has no removal, two additions (plus the corresponding SOA removal/addition) @@ -201,15 +201,15 @@ BOOST_AUTO_TEST_CASE(test_ixfr_no_removals_in_first_sequence) { } BOOST_AUTO_TEST_CASE(test_ixfr_same_serial) { - const ComboAddress master("[2001:DB8::1]:53"); + const ComboAddress primary("[2001:DB8::1]:53"); const DNSName zone("JAIN.AD.JP."); - auto masterSOA = DNSRecordContent::mastermake(QType::SOA, QClass::IN, "NS.JAIN.AD.JP. mohta.jain.ad.jp. 3 600 600 3600000 604800"); + auto primarySOA = DNSRecordContent::make(QType::SOA, QClass::IN, "NS.JAIN.AD.JP. mohta.jain.ad.jp. 3 600 600 3600000 604800"); vector records; addRecordToList(records, DNSName("JAIN.AD.JP."), QType::SOA, "ns.jain.ad.jp. mohta.jain.ad.jp. 3 600 600 3600000 604800"); addRecordToList(records, DNSName("JAIN.AD.JP."), QType::SOA, "ns.jain.ad.jp. mohta.jain.ad.jp. 3 600 600 3600000 604800"); - auto ret = processIXFRRecords(master, zone, records, std::dynamic_pointer_cast(masterSOA)); + auto ret = processIXFRRecords(primary, zone, records, std::dynamic_pointer_cast(primarySOA)); // this is actually an empty AXFR BOOST_CHECK_EQUAL(ret.size(), 1U); @@ -222,32 +222,33 @@ BOOST_AUTO_TEST_CASE(test_ixfr_same_serial) { } BOOST_AUTO_TEST_CASE(test_ixfr_invalid_no_records) { - const ComboAddress master("[2001:DB8::1]:53"); + const ComboAddress primary("[2001:DB8::1]:53"); const DNSName zone("JAIN.AD.JP."); - auto masterSOA = DNSRecordContent::mastermake(QType::SOA, QClass::IN, "NS.JAIN.AD.JP. mohta.jain.ad.jp. 3 600 600 3600000 604800"); + auto primarySOA = DNSRecordContent::make(QType::SOA, QClass::IN, "NS.JAIN.AD.JP. mohta.jain.ad.jp. 3 600 600 3600000 604800"); vector records; - auto ret = processIXFRRecords(master, zone, records, std::dynamic_pointer_cast(masterSOA)); + auto ret = processIXFRRecords(primary, zone, records, std::dynamic_pointer_cast(primarySOA)); BOOST_CHECK_EQUAL(ret.size(), 0U); } -BOOST_AUTO_TEST_CASE(test_ixfr_invalid_no_master_soa) { - const ComboAddress master("[2001:DB8::1]:53"); +BOOST_AUTO_TEST_CASE(test_ixfr_invalid_no_primary_soa) +{ + const ComboAddress primary("[2001:DB8::1]:53"); const DNSName zone("JAIN.AD.JP."); ; vector records; addRecordToList(records, DNSName("JAIN.AD.JP."), QType::SOA, "ns.jain.ad.jp. mohta.jain.ad.jp. 3 600 600 3600000 604800"); - auto ret = processIXFRRecords(master, zone, records, nullptr); + auto ret = processIXFRRecords(primary, zone, records, nullptr); BOOST_CHECK_EQUAL(ret.size(), 0U); } BOOST_AUTO_TEST_CASE(test_ixfr_invalid_no_trailing_soa) { - const ComboAddress master("[2001:DB8::1]:53"); + const ComboAddress primary("[2001:DB8::1]:53"); const DNSName zone("JAIN.AD.JP."); - auto masterSOA = DNSRecordContent::mastermake(QType::SOA, QClass::IN, "NS.JAIN.AD.JP. mohta.jain.ad.jp. 3 600 600 3600000 604800"); + auto primarySOA = DNSRecordContent::make(QType::SOA, QClass::IN, "NS.JAIN.AD.JP. mohta.jain.ad.jp. 3 600 600 3600000 604800"); vector records; addRecordToList(records, DNSName("JAIN.AD.JP."), QType::SOA, "ns.jain.ad.jp. mohta.jain.ad.jp. 3 600 600 3600000 604800"); addRecordToList(records, DNSName("JAIN.AD.JP."), QType::SOA, "ns.jain.ad.jp. mohta.jain.ad.jp. 1 600 600 3600000 604800"); @@ -256,27 +257,27 @@ BOOST_AUTO_TEST_CASE(test_ixfr_invalid_no_trailing_soa) { addRecordToList(records, DNSName("JAIN-BB.JAIN.AD.JP."), QType::A, "133.69.136.3"); addRecordToList(records, DNSName("JAIN-BB.JAIN.AD.JP."), QType::A, "192.41.197.2"); - BOOST_CHECK_THROW(processIXFRRecords(master, zone, records, std::dynamic_pointer_cast(masterSOA)), std::runtime_error); + BOOST_CHECK_THROW(processIXFRRecords(primary, zone, records, std::dynamic_pointer_cast(primarySOA)), std::runtime_error); } BOOST_AUTO_TEST_CASE(test_ixfr_invalid_no_soa_after_removals) { - const ComboAddress master("[2001:DB8::1]:53"); + const ComboAddress primary("[2001:DB8::1]:53"); const DNSName zone("JAIN.AD.JP."); - auto masterSOA = DNSRecordContent::mastermake(QType::SOA, QClass::IN, "NS.JAIN.AD.JP. mohta.jain.ad.jp. 3 600 600 3600000 604800"); + auto primarySOA = DNSRecordContent::make(QType::SOA, QClass::IN, "NS.JAIN.AD.JP. mohta.jain.ad.jp. 3 600 600 3600000 604800"); vector records; addRecordToList(records, DNSName("JAIN.AD.JP."), QType::SOA, "ns.jain.ad.jp. mohta.jain.ad.jp. 3 600 600 3600000 604800"); addRecordToList(records, DNSName("JAIN.AD.JP."), QType::SOA, "ns.jain.ad.jp. mohta.jain.ad.jp. 1 600 600 3600000 604800"); addRecordToList(records, DNSName("NEZU.JAIN.AD.JP."), QType::A, "133.69.136.5"); - BOOST_CHECK_THROW(processIXFRRecords(master, zone, records, std::dynamic_pointer_cast(masterSOA)), std::runtime_error); + BOOST_CHECK_THROW(processIXFRRecords(primary, zone, records, std::dynamic_pointer_cast(primarySOA)), std::runtime_error); } BOOST_AUTO_TEST_CASE(test_ixfr_mismatching_serial_before_and_after_additions) { - const ComboAddress master("[2001:DB8::1]:53"); + const ComboAddress primary("[2001:DB8::1]:53"); const DNSName zone("JAIN.AD.JP."); - auto masterSOA = DNSRecordContent::mastermake(QType::SOA, QClass::IN, "NS.JAIN.AD.JP. mohta.jain.ad.jp. 3 600 600 3600000 604800"); + auto primarySOA = DNSRecordContent::make(QType::SOA, QClass::IN, "NS.JAIN.AD.JP. mohta.jain.ad.jp. 3 600 600 3600000 604800"); vector records; addRecordToList(records, DNSName("JAIN.AD.JP."), QType::SOA, "ns.jain.ad.jp. mohta.jain.ad.jp. 3 600 600 3600000 604800"); addRecordToList(records, DNSName("JAIN.AD.JP."), QType::SOA, "ns.jain.ad.jp. mohta.jain.ad.jp. 1 600 600 3600000 604800"); @@ -286,14 +287,14 @@ BOOST_AUTO_TEST_CASE(test_ixfr_mismatching_serial_before_and_after_additions) { addRecordToList(records, DNSName("JAIN-BB.JAIN.AD.JP."), QType::A, "192.41.197.2"); addRecordToList(records, DNSName("JAIN.AD.JP."), QType::SOA, "ns.jain.ad.jp. mohta.jain.ad.jp. 3 600 600 3600000 604800"); - BOOST_CHECK_THROW(processIXFRRecords(master, zone, records, std::dynamic_pointer_cast(masterSOA)), std::runtime_error); + BOOST_CHECK_THROW(processIXFRRecords(primary, zone, records, std::dynamic_pointer_cast(primarySOA)), std::runtime_error); } BOOST_AUTO_TEST_CASE(test_ixfr_trailing_record_after_end) { - const ComboAddress master("[2001:DB8::1]:53"); + const ComboAddress primary("[2001:DB8::1]:53"); const DNSName zone("JAIN.AD.JP."); - auto masterSOA = DNSRecordContent::mastermake(QType::SOA, QClass::IN, "NS.JAIN.AD.JP. mohta.jain.ad.jp. 3 600 600 3600000 604800"); + auto primarySOA = DNSRecordContent::make(QType::SOA, QClass::IN, "NS.JAIN.AD.JP. mohta.jain.ad.jp. 3 600 600 3600000 604800"); vector records; addRecordToList(records, DNSName("JAIN.AD.JP."), QType::SOA, "ns.jain.ad.jp. mohta.jain.ad.jp. 3 600 600 3600000 604800"); addRecordToList(records, DNSName("JAIN.AD.JP."), QType::SOA, "ns.jain.ad.jp. mohta.jain.ad.jp. 1 600 600 3600000 604800"); @@ -304,7 +305,7 @@ BOOST_AUTO_TEST_CASE(test_ixfr_trailing_record_after_end) { addRecordToList(records, DNSName("JAIN.AD.JP."), QType::SOA, "ns.jain.ad.jp. mohta.jain.ad.jp. 3 600 600 3600000 604800"); addRecordToList(records, DNSName("JAIN-BB.JAIN.AD.JP."), QType::A, "133.69.136.3"); - BOOST_CHECK_THROW(processIXFRRecords(master, zone, records, std::dynamic_pointer_cast(masterSOA)), std::runtime_error); + BOOST_CHECK_THROW(processIXFRRecords(primary, zone, records, std::dynamic_pointer_cast(primarySOA)), std::runtime_error); } BOOST_AUTO_TEST_SUITE_END(); diff --git a/pdns/test-signers.cc b/pdns/test-signers.cc index 0a1dbd8e7c15..f92fedb17487 100644 --- a/pdns/test-signers.cc +++ b/pdns/test-signers.cc @@ -350,11 +350,11 @@ static void checkRR(const SignerParams& signer) rrc.d_signer = DNSName("example.net."); inception = 946684800; expire = 1893456000; - rrs.insert(DNSRecordContent::mastermake(QType::A, QClass::IN, "192.0.2.1")); + rrs.insert(DNSRecordContent::make(QType::A, QClass::IN, "192.0.2.1")); } else { rrc.d_signer = qname; - rrs.insert(DNSRecordContent::mastermake(QType::MX, QClass::IN, "10 mail.example.com.")); + rrs.insert(DNSRecordContent::make(QType::MX, QClass::IN, "10 mail.example.com.")); } rrc.d_originalttl = 3600; diff --git a/pdns/ueberbackend.cc b/pdns/ueberbackend.cc index 2e3279d2b0b8..4368d5d69ace 100644 --- a/pdns/ueberbackend.cc +++ b/pdns/ueberbackend.cc @@ -130,10 +130,10 @@ bool UeberBackend::getDomainInfo(const DNSName& domain, DomainInfo& domainInfo, return false; } -bool UeberBackend::createDomain(const DNSName& domain, const DomainInfo::DomainKind kind, const vector& masters, const string& account) +bool UeberBackend::createDomain(const DNSName& domain, const DomainInfo::DomainKind kind, const vector& primaries, const string& account) { for (auto& backend : backends) { - if (backend->createDomain(domain, kind, masters, account)) { + if (backend->createDomain(domain, kind, primaries, account)) { return true; } } @@ -316,10 +316,10 @@ void UeberBackend::getUnfreshSlaveInfos(vector* domains) } } -void UeberBackend::getUpdatedMasters(vector& domains, std::unordered_set& catalogs, CatalogHashMap& catalogHashes) +void UeberBackend::getUpdatedPrimaries(vector& domains, std::unordered_set& catalogs, CatalogHashMap& catalogHashes) { for (auto& backend : backends) { - backend->getUpdatedMasters(domains, catalogs, catalogHashes); + backend->getUpdatedPrimaries(domains, catalogs, catalogHashes); } } @@ -576,10 +576,10 @@ bool UeberBackend::getSOAUncached(const DNSName& domain, SOAData& soaData) return false; } -bool UeberBackend::superMasterAdd(const AutoPrimary& primary) +bool UeberBackend::autoPrimaryAdd(const AutoPrimary& primary) { for (auto& backend : backends) { - if (backend->superMasterAdd(primary)) { + if (backend->autoPrimaryAdd(primary)) { return true; } } @@ -606,10 +606,10 @@ bool UeberBackend::autoPrimariesList(std::vector& primaries) return false; } -bool UeberBackend::superMasterBackend(const string& ip, const DNSName& domain, const vector& nsset, string* nameserver, string* account, DNSBackend** dnsBackend) +bool UeberBackend::autoPrimaryBackend(const string& ip, const DNSName& domain, const vector& nsset, string* nameserver, string* account, DNSBackend** dnsBackend) { for (auto& backend : backends) { - if (backend->superMasterBackend(ip, domain, nsset, nameserver, account, dnsBackend)) { + if (backend->autoPrimaryBackend(ip, domain, nsset, nameserver, account, dnsBackend)) { return true; } } diff --git a/pdns/ueberbackend.hh b/pdns/ueberbackend.hh index d6a0323e2a67..b5968a2b8fa1 100644 --- a/pdns/ueberbackend.hh +++ b/pdns/ueberbackend.hh @@ -47,9 +47,9 @@ public: UeberBackend(const string& pname = "default"); ~UeberBackend(); - bool superMasterBackend(const string& ip, const DNSName& domain, const vector& nsset, string* nameserver, string* account, DNSBackend** dnsBackend); + bool autoPrimaryBackend(const string& ip, const DNSName& domain, const vector& nsset, string* nameserver, string* account, DNSBackend** dnsBackend); - bool superMasterAdd(const AutoPrimary& primary); + bool autoPrimaryAdd(const AutoPrimary& primary); bool autoPrimaryRemove(const struct AutoPrimary& primary); bool autoPrimariesList(std::vector& primaries); @@ -103,9 +103,9 @@ public: void getAllDomains(vector* domains, bool getSerial, bool include_disabled); void getUnfreshSlaveInfos(vector* domains); - void getUpdatedMasters(vector& domains, std::unordered_set& catalogs, CatalogHashMap& catalogHashes); + void getUpdatedPrimaries(vector& domains, std::unordered_set& catalogs, CatalogHashMap& catalogHashes); bool getDomainInfo(const DNSName& domain, DomainInfo& domainInfo, bool getSerial = true); - bool createDomain(const DNSName& domain, DomainInfo::DomainKind kind, const vector& masters, const string& account); + bool createDomain(const DNSName& domain, DomainInfo::DomainKind kind, const vector& primaries, const string& account); bool doesDNSSEC(); bool addDomainKey(const DNSName& name, const DNSBackend::KeyData& key, int64_t& keyID); diff --git a/pdns/ws-auth.cc b/pdns/ws-auth.cc index 76a2a0c4f38f..4061801d3cac 100644 --- a/pdns/ws-auth.cc +++ b/pdns/ws-auth.cc @@ -297,7 +297,7 @@ void AuthWebServer::indexfunction(HttpRequest* req, HttpResponse* resp) /** Helper to build a record content as needed. */ static inline string makeRecordContent(const QType& qtype, const string& content, bool noDot) { // noDot: for backend storage, pass true. for API users, pass false. - auto drc = DNSRecordContent::mastermake(qtype.getCode(), QClass::IN, content); + auto drc = DNSRecordContent::make(qtype.getCode(), QClass::IN, content); return drc->getZoneRepresentation(noDot); } @@ -313,10 +313,10 @@ static inline string makeBackendRecordContent(const QType& qtype, const string& static Json::object getZoneInfo(const DomainInfo& di, DNSSECKeeper* dk) { string zoneId = apiZoneNameToId(di.zone); - vector masters; - masters.reserve(di.masters.size()); - for(const auto& m : di.masters) { - masters.push_back(m.toStringWithPortExcept(53)); + vector primaries; + primaries.reserve(di.primaries.size()); + for (const auto& m : di.primaries) { + primaries.push_back(m.toStringWithPortExcept(53)); } auto obj = Json::object{ @@ -327,7 +327,7 @@ static Json::object getZoneInfo(const DomainInfo& di, DNSSECKeeper* dk) { {"kind", di.getKindString()}, {"catalog", (!di.catalog.empty() ? di.catalog.toString() : "")}, {"account", di.account}, - {"masters", std::move(masters)}, + {"masters", std::move(primaries)}, {"serial", (double)di.serial}, {"notified_serial", (double)di.notified_serial}, {"last_check", (double)di.last_check}}; @@ -384,15 +384,15 @@ static void fillZone(UeberBackend& B, const DNSName& zonename, HttpResponse* res doc["api_rectify"] = (api_rectify == "1"); // TSIG - vector tsig_master, tsig_slave; - di.backend->getDomainMetadata(zonename, "TSIG-ALLOW-AXFR", tsig_master); + vector tsig_primary, tsig_slave; + di.backend->getDomainMetadata(zonename, "TSIG-ALLOW-AXFR", tsig_primary); di.backend->getDomainMetadata(zonename, "AXFR-MASTER-TSIG", tsig_slave); - Json::array tsig_master_keys; - for (const auto& keyname : tsig_master) { - tsig_master_keys.push_back(apiZoneNameToId(DNSName(keyname))); + Json::array tsig_primary_keys; + for (const auto& keyname : tsig_primary) { + tsig_primary_keys.push_back(apiZoneNameToId(DNSName(keyname))); } - doc["master_tsig_key_ids"] = tsig_master_keys; + doc["master_tsig_key_ids"] = tsig_primary_keys; Json::array tsig_slave_keys; for (const auto& keyname : tsig_slave) { @@ -652,7 +652,7 @@ static bool isZoneApiRectifyEnabled(const DomainInfo& di) { return api_rectify == "1"; } -static void extractDomainInfoFromDocument(const Json& document, boost::optional& kind, boost::optional>& masters, boost::optional& catalog, boost::optional& account) +static void extractDomainInfoFromDocument(const Json& document, boost::optional& kind, boost::optional>& primaries, boost::optional& catalog, boost::optional& account) { if (document["kind"].is_string()) { kind = DomainInfo::stringToKind(stringFromJson(document, "kind")); @@ -661,19 +661,19 @@ static void extractDomainInfoFromDocument(const Json& document, boost::optional< } if (document["masters"].is_array()) { - masters = vector(); + primaries = vector(); for(const auto& value : document["masters"].array_items()) { - string master = value.string_value(); - if (master.empty()) - throw ApiException("Master can not be an empty string"); + string primary = value.string_value(); + if (primary.empty()) + throw ApiException("Primary can not be an empty string"); try { - masters->emplace_back(master, 53); + primaries->emplace_back(primary, 53); } catch (const PDNSException &e) { - throw ApiException("Master (" + master + ") is not an IP address: " + e.reason); + throw ApiException("Primary (" + primary + ") is not an IP address: " + e.reason); } } } else { - masters = boost::none; + primaries = boost::none; } if (document["catalog"].is_string()) { @@ -711,18 +711,18 @@ static void extractJsonTSIGKeyIds(UeberBackend& B, const Json& jsonArray, vector // Must be called within backend transaction. static void updateDomainSettingsFromDocument(UeberBackend& B, DomainInfo& di, const DNSName& zonename, const Json& document, bool zoneWasModified) { boost::optional kind; - boost::optional> masters; + boost::optional> primaries; boost::optional catalog; boost::optional account; - extractDomainInfoFromDocument(document, kind, masters, catalog, account); + extractDomainInfoFromDocument(document, kind, primaries, catalog, account); if (kind) { di.backend->setKind(zonename, *kind); di.kind = *kind; } - if (masters) { - di.backend->setMasters(zonename, *masters); + if (primaries) { + di.backend->setPrimaries(zonename, *primaries); } if (catalog) { di.backend->setCatalog(zonename, *catalog); @@ -860,7 +860,7 @@ static void updateDomainSettingsFromDocument(UeberBackend& B, DomainInfo& di, co vector metadata; extractJsonTSIGKeyIds(B, document["master_tsig_key_ids"], metadata); if (!di.backend->setDomainMetadata(zonename, "TSIG-ALLOW-AXFR", metadata)) { - throw HttpInternalServerErrorException("Unable to set new TSIG master keys for zone '" + zonename.toLogString() + "'"); + throw HttpInternalServerErrorException("Unable to set new TSIG primary keys for zone '" + zonename.toLogString() + "'"); } } if (!document["slave_tsig_key_ids"].is_null()) { @@ -1688,7 +1688,7 @@ static void apiServerAutoprimaries(HttpRequest* req, HttpResponse* resp) { if (primary.ip=="" or primary.nameserver=="") { throw ApiException("ip and nameserver fields must be filled"); } - if (!B.superMasterAdd(primary)) + if (!B.autoPrimaryAdd(primary)) throw HttpInternalServerErrorException("Cannot find backend with autoprimary feature"); resp->body = ""; resp->status = 201; @@ -1713,10 +1713,10 @@ static void apiServerZonesPost(HttpRequest* req, HttpResponse* resp) { } boost::optional kind; - boost::optional> masters; + boost::optional> primaries; boost::optional catalog; boost::optional account; - extractDomainInfoFromDocument(document, kind, masters, catalog, account); + extractDomainInfoFromDocument(document, kind, primaries, catalog, account); // validate 'kind' is set if (!kind) { @@ -1846,7 +1846,7 @@ static void apiServerZonesPost(HttpRequest* req, HttpResponse* resp) { } // no going back after this - if(!B.createDomain(zonename, kind.get_value_or(DomainInfo::Native), masters.get_value_or(vector()), account.get_value_or(""))) { + if (!B.createDomain(zonename, kind.get_value_or(DomainInfo::Native), primaries.get_value_or(vector()), account.get_value_or(""))) { throw ApiException("Creating domain '"+zonename.toString()+"' failed: backend refused"); } @@ -1872,7 +1872,7 @@ static void apiServerZonesPost(HttpRequest* req, HttpResponse* resp) { updateDomainSettingsFromDocument(B, di, zonename, document, !new_records.empty()); - if (!catalog && kind == DomainInfo::Master) { + if (!catalog && kind == DomainInfo::Primary) { auto defaultCatalog = ::arg()["default-catalog-zone"]; if (!defaultCatalog.empty()) { di.backend->setCatalog(zonename, DNSName(defaultCatalog)); @@ -2134,12 +2134,12 @@ static void apiServerZoneAxfrRetrieve(HttpRequest* req, HttpResponse* resp) { throw HttpNotFoundException(); } - if(di.masters.empty()) - throw ApiException("Domain '"+zonename.toString()+"' is not a slave domain (or has no master defined)"); + if (di.primaries.empty()) + throw ApiException("Domain '" + zonename.toString() + "' is not a slave domain (or has no primary defined)"); - shuffle(di.masters.begin(), di.masters.end(), pdns::dns_random_engine()); - Communicator.addSuckRequest(zonename, di.masters.front(), SuckRequest::Api); - resp->setSuccessResult("Added retrieval request for '"+zonename.toString()+"' from master "+di.masters.front().toLogString()); + shuffle(di.primaries.begin(), di.primaries.end(), pdns::dns_random_engine()); + Communicator.addSuckRequest(zonename, di.primaries.front(), SuckRequest::Api); + resp->setSuccessResult("Added retrieval request for '" + zonename.toString() + "' from primary " + di.primaries.front().toLogString()); } static void apiServerZoneNotify(HttpRequest* req, HttpResponse* resp) { diff --git a/pdns/zone2sql.cc b/pdns/zone2sql.cc index c309533f6fb7..aaf72f9dc29e 100644 --- a/pdns/zone2sql.cc +++ b/pdns/zone2sql.cc @@ -111,7 +111,8 @@ static void startNewTransaction() cout<<"BEGIN TRANSACTION;"< *masters = nullptr) { +static void emitDomain(const DNSName& domain, const vector* primaries = nullptr) +{ string iDomain = domain.toStringRootDot(); if(!::arg().mustDo("slave")) { cout<<"insert into domains (name,type) values ("< *master else { string mstrs; - if (masters != nullptr && ! masters->empty()) { - for(const auto& mstr : *masters) { + if (primaries != nullptr && !primaries->empty()) { + for (const auto& mstr : *primaries) { mstrs.append(mstr.toStringWithPortExcept(53)); mstrs.append(1, ' '); } @@ -292,7 +293,7 @@ try try { startNewTransaction(); - emitDomain(domain.name, &(domain.masters)); + emitDomain(domain.name, &(domain.primaries)); ZoneParserTNG zpt(domain.filename, domain.name, BP.getDirectory()); zpt.setMaxGenerateSteps(::arg().asNum("max-generate-steps")); diff --git a/pdns/zonemd.cc b/pdns/zonemd.cc index dc1ee7af2524..c3274f4f22fc 100644 --- a/pdns/zonemd.cc +++ b/pdns/zonemd.cc @@ -13,7 +13,7 @@ void pdns::ZoneMD::readRecords(ZoneParserTNG& zpt) while (zpt.get(dnsResourceRecord)) { std::shared_ptr drc; try { - drc = DNSRecordContent::mastermake(dnsResourceRecord.qtype, QClass::IN, dnsResourceRecord.content); + drc = DNSRecordContent::make(dnsResourceRecord.qtype, QClass::IN, dnsResourceRecord.content); } catch (const PDNSException& pe) { std::string err = "Bad record content in record for '" + dnsResourceRecord.qname.toStringNoDot() + "'|" + dnsResourceRecord.qtype.toString() + ": " + pe.reason;