From 129a3cce992b887563f57279f3ada33c90df940a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luk=C3=A1=C5=A1=20Je=C5=BEek?= <lukas.jezek@nic.cz> Date: Thu, 26 Mar 2020 09:05:46 +0100 Subject: [PATCH] modules/policy: Add ANSWER action --- modules/policy/policy.lua | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/modules/policy/policy.lua b/modules/policy/policy.lua index 23cba3dfc..c04d4f788 100644 --- a/modules/policy/policy.lua +++ b/modules/policy/policy.lua @@ -209,6 +209,22 @@ function policy.FLAGS(opts_set, opts_clear) end end +-- Create answer with passed arguments +function policy.ANSWER(rtype, rdata, ttl) + return function(_, req) + local qry = req:current() + local answer = req.answer + ffi.C.kr_pkt_make_auth_header(answer) + + if (rtype == qry.stype) then + answer:rcode(kres.rcode.NOERROR) + answer:begin(kres.section.ANSWER) + answer:put(qry.sname, ttl, qry.sclass, rtype, rdata) + return kres.DONE + end + end +end + local function mkauth_soa(answer, dname, mname) if mname == nil then mname = dname -- GitLab