-- Protection from DNS rebinding attacks
local kres = require('kres')
local renumber = require('kres_modules.renumber')
+local policy = require('kres_modules.policy')
local M = {}
M.layer = {}
end
local function refuse(req)
- -- we are deleting packet in consume() phase so other modules
- -- might have chosen some RRs from the original packet already
- -- *_selected arrays are in mempool
- -- so explicit deallocation is not necessary
- req.answ_selected.len = 0
- req.auth_selected.len = 0
- req.add_selected.len = 0
-
- -- construct brand new answer packet
+ policy.REFUSE(nil, req)
local pkt = req.answer
- pkt:clear_payload()
- pkt:rcode(kres.rcode.REFUSED)
- pkt:ad(false)
pkt:aa(false)
pkt:begin(kres.section.ADDITIONAL)