changeset 3993:76036fa34055

mod_register_dnsbl_*: fix DS legacy ipv4 addresses, thx Zash
author Georg Lukas <georg@op-co.de>
date Mon, 27 Apr 2020 17:09:27 +0200
parents 0233da912ab6
children 5a3dfb970888
files mod_register_dnsbl_firewall_mark/mod_register_dnsbl_firewall_mark.lua mod_register_dnsbl_warn/mod_register_dnsbl_warn.lua
diffstat 2 files changed, 6 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/mod_register_dnsbl_firewall_mark/mod_register_dnsbl_firewall_mark.lua	Thu Apr 23 22:07:44 2020 +0200
+++ b/mod_register_dnsbl_firewall_mark/mod_register_dnsbl_firewall_mark.lua	Mon Apr 27 17:09:27 2020 +0200
@@ -2,6 +2,9 @@
 local rbl = module:get_option_string("registration_rbl");
 
 local function reverse(ip, suffix)
+	if ip:sub(1,7):lower() == "::ffff:" then
+		ip = ip:sub(8);
+	end
 	local a,b,c,d = ip:match("^(%d+).(%d+).(%d+).(%d+)$");
 	if not a then return end
 	return ("%d.%d.%d.%d.%s"):format(d,c,b,a, suffix);
--- a/mod_register_dnsbl_warn/mod_register_dnsbl_warn.lua	Thu Apr 23 22:07:44 2020 +0200
+++ b/mod_register_dnsbl_warn/mod_register_dnsbl_warn.lua	Mon Apr 27 17:09:27 2020 +0200
@@ -2,6 +2,9 @@
 local rbl = module:get_option_string("registration_rbl");
 
 local function reverse(ip, suffix)
+	if ip:sub(1,7):lower() == "::ffff:" then
+		ip = ip:sub(8);
+	end
 	local a,b,c,d = ip:match("^(%d+).(%d+).(%d+).(%d+)$");
 	if not a then return end
 	return ("%d.%d.%d.%d.%s"):format(d,c,b,a, suffix);