From: Miod Vallat Date: Thu, 3 Apr 2025 06:30:44 +0000 (+0200) Subject: Add a "can create domains" capability. X-Git-Tag: dnsdist-2.0.0-alpha2~96^2~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=01dc9382fd8a99013620a6ea86ff60bd53a5c609;p=thirdparty%2Fpdns.git Add a "can create domains" capability. --- diff --git a/modules/lmdbbackend/lmdbbackend.hh b/modules/lmdbbackend/lmdbbackend.hh index 40c046b32a..e84d0363b4 100644 --- a/modules/lmdbbackend/lmdbbackend.hh +++ b/modules/lmdbbackend/lmdbbackend.hh @@ -62,7 +62,7 @@ public: explicit LMDBBackend(const string& suffix = ""); ~LMDBBackend(); - unsigned int getCapabilities() override { return CAP_DNSSEC | CAP_DIRECT | CAP_LIST; } + unsigned int getCapabilities() override { return CAP_DNSSEC | CAP_DIRECT | CAP_LIST | CAP_CREATE; } bool list(const DNSName& target, int id, bool include_disabled) override; bool getDomainInfo(const DNSName& domain, DomainInfo& di, bool getserial = true) override; diff --git a/pdns/backends/gsql/gsqlbackend.cc b/pdns/backends/gsql/gsqlbackend.cc index d943cf7c4a..ae125224ce 100644 --- a/pdns/backends/gsql/gsqlbackend.cc +++ b/pdns/backends/gsql/gsqlbackend.cc @@ -869,9 +869,9 @@ bool GSQLBackend::updateEmptyNonTerminals(uint32_t domain_id, set& inse unsigned int GSQLBackend::getCapabilities() { if (d_dnssecQueries) { - return CAP_DNSSEC | CAP_COMMENTS | CAP_DIRECT | CAP_LIST; + return CAP_DNSSEC | CAP_COMMENTS | CAP_DIRECT | CAP_LIST | CAP_CREATE; } - return CAP_COMMENTS | CAP_DIRECT | CAP_LIST; + return CAP_COMMENTS | CAP_DIRECT | CAP_LIST | CAP_CREATE; } bool GSQLBackend::getBeforeAndAfterNamesAbsolute(uint32_t id, const DNSName& qname, DNSName& unhashed, DNSName& before, DNSName& after) diff --git a/pdns/dnsbackend.hh b/pdns/dnsbackend.hh index ed7b0c491e..51b04194e2 100644 --- a/pdns/dnsbackend.hh +++ b/pdns/dnsbackend.hh @@ -162,6 +162,7 @@ public: CAP_COMMENTS = 1 << 1, // Backend supports comments CAP_DIRECT = 1 << 2, // Backend supports direct commands CAP_LIST = 1 << 3, // Backend supports record enumeration + CAP_CREATE = 1 << 4, // Backend supports domain creation }; virtual unsigned int getCapabilities() = 0;