From: Pieter Lexis Date: Wed, 22 Nov 2017 11:22:04 +0000 (+0100) Subject: API: add Zone TSIG key info (GET) X-Git-Tag: auth-4.2.0-alpha1~17^2~25 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=eecc9ed52020db79989503651d35802ec31e83ff;p=thirdparty%2Fpdns.git API: add Zone TSIG key info (GET) --- diff --git a/pdns/ws-auth.cc b/pdns/ws-auth.cc index e3beb3067b..2a1fa2a1ce 100644 --- a/pdns/ws-auth.cc +++ b/pdns/ws-auth.cc @@ -361,6 +361,23 @@ static void fillZone(const DNSName& zonename, HttpResponse* resp, bool doRRSets) di.backend->getDomainMetadataOne(zonename, "API-RECTIFY", api_rectify); doc["api_rectify"] = (api_rectify == "1"); + // TSIG + vector tsig_master, tsig_slave; + di.backend->getDomainMetadata(zonename, "TSIG-ALLOW-AXFR", tsig_master); + 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))); + } + doc["master_tsig_key_ids"] = tsig_master_keys; + + Json::array tsig_slave_keys; + for (const auto& keyname : tsig_slave) { + tsig_slave_keys.push_back(apiZoneNameToId(DNSName(keyname))); + } + doc["slave_tsig_key_ids"] = tsig_slave_keys; + if (doRRSets) { vector records; vector comments;