# HG changeset patch # User Kim Alvefur # Date 1519419568 -3600 # Node ID 84670bac734881e7221d974c6471da0826cdd017 # Parent 6412595e20460c6f4b3661237d1418f2a70422da mod_register_dnsbl: Use util.net for IP address parsing diff -r 6412595e2046 -r 84670bac7348 mod_register_dnsbl/mod_register_dnsbl.lua --- a/mod_register_dnsbl/mod_register_dnsbl.lua Fri Feb 23 21:56:42 2018 +0100 +++ b/mod_register_dnsbl/mod_register_dnsbl.lua Fri Feb 23 21:59:28 2018 +0100 @@ -1,12 +1,16 @@ local adns = require "net.adns"; local async = require "util.async"; +local inet_pton = require "util.net".pton; local rbl = module:get_option_string("registration_rbl"); local function reverse(ip, suffix) - 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); + local n, err = inet_pton(ip); + if not n then return n, err end + if #n == 4 then + local a,b,c,d = n:byte(1,4); + return ("%d.%d.%d.%d.%s"):format(d,c,b,a, suffix); + end end module:hook("user-registering", function (event)