From: Pieter Lexis Date: Fri, 12 Oct 2018 10:12:57 +0000 (+0200) Subject: rec: add `addTA` and `clearTA` for Lua config X-Git-Tag: dnsdist-1.3.3~23^2~4 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=190e0d9ae84b24f6ee8cf7d9efae1af3d05e57b1;p=thirdparty%2Fpdns.git rec: add `addTA` and `clearTA` for Lua config These will replace `addDS` and `clearDS` in the future. --- diff --git a/pdns/rec-lua-conf.cc b/pdns/rec-lua-conf.cc index 1679a1a0f8..3b5284dde1 100644 --- a/pdns/rec-lua-conf.cc +++ b/pdns/rec-lua-conf.cc @@ -358,14 +358,33 @@ void loadRecursorLuaConfig(const std::string& fname, luaConfigDelayedThreads& de } }); + Lua.writeFunction("addTA", [&lci](const std::string& who, const std::string& what) { + warnIfDNSSECDisabled("Warning: adding Trust Anchor for DNSSEC (addTA), but dnssec is set to 'off'!"); + DNSName zone(who); + auto ds = unique_ptr(dynamic_cast(DSRecordContent::make(what))); + lci.dsAnchors[zone].insert(*ds); + }); + + Lua.writeFunction("clearTA", [&lci](boost::optional who) { + warnIfDNSSECDisabled("Warning: removing Trust Anchor for DNSSEC (clearTA), but dnssec is set to 'off'!"); + if(who) + lci.dsAnchors.erase(DNSName(*who)); + else + lci.dsAnchors.clear(); + }); + + /* Remove in 4.3 */ Lua.writeFunction("addDS", [&lci](const std::string& who, const std::string& what) { warnIfDNSSECDisabled("Warning: adding Trust Anchor for DNSSEC (addDS), but dnssec is set to 'off'!"); + g_log<(dynamic_cast(DSRecordContent::make(what))); lci.dsAnchors[zone].insert(*ds); }); + /* Remove in 4.3 */ Lua.writeFunction("clearDS", [&lci](boost::optional who) { + g_log<