From: Kees Monshouwer Date: Fri, 4 May 2018 21:24:18 +0000 (+0200) Subject: auth-api: backport, there is no makeIncreasedSOARecord() in 4.1.x X-Git-Tag: auth-4.1.2~1^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=refs%2Fpull%2F6572%2Fhead;p=thirdparty%2Fpdns.git auth-api: backport, there is no makeIncreasedSOARecord() in 4.1.x --- diff --git a/pdns/ws-auth.cc b/pdns/ws-auth.cc index b20c489f54..aa4cdab0ec 100644 --- a/pdns/ws-auth.cc +++ b/pdns/ws-auth.cc @@ -672,14 +672,22 @@ static void updateDomainSettingsFromDocument(UeberBackend& B, const DomainInfo& di.backend->getDomainMetadataOne(zonename, "SOA-EDIT-API", soa_edit_api_kind); if (!soa_edit_api_kind.empty()) { SOAData sd; - if (!B.getSOAUncached(zonename, sd, true)) + if (!B.getSOAUncached(zonename, sd)) return; string soa_edit_kind; di.backend->getDomainMetadataOne(zonename, "SOA-EDIT", soa_edit_kind); DNSResourceRecord rr; - if (makeIncreasedSOARecord(sd, soa_edit_api_kind, soa_edit_kind, rr)) { + rr.qname = sd.qname; + rr.content = serializeSOAData(sd); + rr.qtype = "SOA"; + rr.domain_id = sd.domain_id; + rr.auth = 1; + rr.ttl = sd.ttl; + if (increaseSOARecord(rr, soa_edit_api_kind, soa_edit_kind)) { + // fixup dots after serializeSOAData/increaseSOARecord + rr.content = makeBackendRecordContent(rr.qtype, rr.content); if (!di.backend->replaceRRSet(di.id, rr.qname, rr.qtype, vector(1, rr))) { throw ApiException("Hosting backend does not support editing records."); }