Software /
code /
prosody-modules
Diff
mod_anti_spam/mod_anti_spam.lua @ 6130:5a0e47ad7d6b
mod_anti_spam: Gracefully handle failure to parse CIDR in IP RTBL
This should prevent a traceback in case the IP address in the RTBL cannot be
parsed (either due to a malformed address being published, or due to a bug in
our parsing code).
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Wed, 01 Jan 2025 11:48:19 +0000 |
parent | 6129:64b4ede37da1 |
child | 6132:ffec70ddbffc |
line wrap: on
line diff
--- a/mod_anti_spam/mod_anti_spam.lua Wed Jan 01 09:57:31 2025 +0000 +++ b/mod_anti_spam/mod_anti_spam.lua Wed Jan 01 11:48:19 2025 +0000 @@ -125,10 +125,18 @@ }); new_rtbl_subscription(rtbl_service_jid, "spam_source_ips", { added = function (item) - spam_source_ips:add_subnet(ip.parse_cidr(item)); + local subnet_ip, subnet_bits = ip.parse_cidr(item); + if not subnet_ip then + return; + end + spam_source_ips:add_subnet(subnet_ip, subnet_bits); end; removed = function (item) - spam_source_ips:remove_subnet(ip.parse_cidr(item)); + local subnet_ip, subnet_bits = ip.parse_cidr(item); + if not subnet_ip then + return; + end + spam_source_ips:remove_subnet(subnet_ip, subnet_bits); end; }); new_rtbl_subscription(rtbl_service_jid, "spam_source_jids_sha256", {