diff --git a/pdns/pdnsutil.cc b/pdns/pdnsutil.cc index ed19662297cdf..60e59379f6a75 100644 --- a/pdns/pdnsutil.cc +++ b/pdns/pdnsutil.cc @@ -1599,6 +1599,8 @@ static int addOrReplaceRecord(bool addOrReplace, const vector& cmds) { DNSName name; if (cmds.at(2) == "@") name=zone; + else if (boost::ends_with(cmds.at(2), ".")) + name = DNSName(cmds.at(2)); else name = DNSName(cmds.at(2)) + zone; @@ -1737,6 +1739,8 @@ static int deleteRRSet(const std::string& zone_, const std::string& name_, const DNSName name; if(name_=="@") name=zone; + else if (boost::ends_with(name_, ".")) + name = DNSName(name_); else name=DNSName(name_)+zone;