From 2a319733dac5200eb98faf7c221321e02b1fa861 Mon Sep 17 00:00:00 2001 From: Kees Monshouwer Date: Sat, 8 Jan 2022 00:29:38 +0100 Subject: [PATCH] auth: lmdb, check if the lookup name is part of the zone --- modules/lmdbbackend/lmdbbackend.cc | 3 +++ modules/lmdbbackend/lmdbbackend.hh | 8 +++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/modules/lmdbbackend/lmdbbackend.cc b/modules/lmdbbackend/lmdbbackend.cc index 7c33213610..18f7b7eb2f 100644 --- a/modules/lmdbbackend/lmdbbackend.cc +++ b/modules/lmdbbackend/lmdbbackend.cc @@ -736,6 +736,9 @@ void LMDBBackend::lookup(const QType& type, const DNSName& qdomain, int zoneId, } DNSName relqname = qdomain.makeRelative(hunt); + if (relqname.empty()) { + return; + } // cout<<"get will look for "< nl0 */ - if (t.isRoot()) + if (t.empty()) { + throw std::out_of_range(std::string(__PRETTY_FUNCTION__) + " Attempt to serialize an unset dnsname"); + } + + if (t.isRoot()) { return std::string(1, (char)0); + } + std::string in = t.labelReverse().toDNSStringLC(); // www.ds9a.nl is now 2nl4ds9a3www0 std::string ret; ret.reserve(in.size()); -- 2.47.2