From bba69941d0e2370fd7fcb6df34b1035cadd16a8c Mon Sep 17 00:00:00 2001 From: =?utf8?q?Oto=20=C5=A0=C5=A5=C3=A1va?= Date: Mon, 8 Aug 2022 13:36:22 +0200 Subject: [PATCH] modules/renumber: fix renumber.name behaviour Fixes #760. Also removes a warning in policy.REROUTE that is no longer true. --- NEWS | 1 + modules/policy/policy.lua | 5 ----- modules/renumber/renumber.lua | 6 +++++- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/NEWS b/NEWS index d4f6369d1..c963d074d 100644 --- a/NEWS +++ b/NEWS @@ -11,6 +11,7 @@ Bugfixes - daemon/http: improved URI checks to fix some proxies (#746, !1311) - daemon/tls: fixed a double-free for some cases of policy.TLS_FORWARD (!1314) - hints module: improve parsing comments in hosts files (!1315) +- renumber module: renumbering works with name matching again (#760, !1334) Knot Resolver 5.5.1 (2022-06-14) diff --git a/modules/policy/policy.lua b/modules/policy/policy.lua index 55a8de3cf..4eba7494e 100644 --- a/modules/policy/policy.lua +++ b/modules/policy/policy.lua @@ -199,11 +199,6 @@ function policy.REROUTE(tbl, names) local prefixes = {} for from, to in pairs(tbl) do local prefix = names and ren.name(from, to) or ren.prefix(from, to) - local bitlen = prefix[2] - if bitlen ~= nil and bitlen % 8 ~= 0 then - log_warn(ffi.C.LOG_GRP_POLICY, - 'REROUTE: network mask - only /8, /16, /24 etc. are supported (entire octets are rewritten)') - end table.insert(prefixes, prefix) end -- Return rule closure diff --git a/modules/renumber/renumber.lua b/modules/renumber/renumber.lua index 2e209c165..60803d54a 100644 --- a/modules/renumber/renumber.lua +++ b/modules/renumber/renumber.lua @@ -25,10 +25,14 @@ local function mergeIps(ipNet, ipHost, intMask) local octetMask local result = "" - if (#ipNet ~= #ipHost) then + if #ipNet ~= #ipHost then return nil end + if intMask == nil then + return ipNet + end + for currentOctetNo = 1, #ipNet do if intMask >= 8 then result = result .. ipNet:sub(currentOctetNo,currentOctetNo) -- 2.47.2