From: Kees Monshouwer Date: Sat, 30 Mar 2019 21:21:59 +0000 (+0100) Subject: auth: lmdbbackend, fix getAllDomains() X-Git-Tag: dnsdist-1.4.0-alpha1~10^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1293197ab10503f0bce000fda9e4bf1f005f4b06;p=thirdparty%2Fpdns.git auth: lmdbbackend, fix getAllDomains() --- diff --git a/modules/lmdbbackend/lmdbbackend.cc b/modules/lmdbbackend/lmdbbackend.cc index 8b9ca2bc67..58c61e5c17 100644 --- a/modules/lmdbbackend/lmdbbackend.cc +++ b/modules/lmdbbackend/lmdbbackend.cc @@ -858,8 +858,17 @@ void LMDBBackend::getAllDomains(vector *domains, bool include_disabl auto txn = getRecordsROTransaction(iter.getID()); if(!txn->txn.get(txn->db->dbi, co(di.id, g_rootdnsname, QType::SOA), val)) { - domains->push_back(di); + DNSResourceRecord rr; + serFromString(val.get(), rr); + + if(rr.content.size() >= 5 * sizeof(uint32_t)) { + uint32_t serial = *reinterpret_cast(&rr.content[rr.content.size() - (5 * sizeof(uint32_t))]); + di.serial = ntohl(serial); + } + } else if(!include_disabled) { + continue; } + domains->push_back(di); } }