From: Oto Šťáva Date: Mon, 8 Aug 2022 11:36:22 +0000 (+0200) Subject: modules/renumber: fix renumber.name behaviour X-Git-Tag: v5.5.2~3^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=bba69941d0e2370fd7fcb6df34b1035cadd16a8c;p=thirdparty%2Fknot-resolver.git modules/renumber: fix renumber.name behaviour Fixes #760. Also removes a warning in policy.REROUTE that is no longer true. --- 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)