Software /
code /
prosody-modules
Changeset
6065:7d4386cc73d3
mod_register_dnsbl_firewall_mark: Add account trait for mod_report_affiliations
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Mon, 25 Nov 2024 14:33:01 +0000 |
parents | 6064:765e0235c202 |
children | 6066:91590d92b919 |
files | mod_register_dnsbl_firewall_mark/mod_register_dnsbl_firewall_mark.lua |
diffstat | 1 files changed, 13 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/mod_register_dnsbl_firewall_mark/mod_register_dnsbl_firewall_mark.lua Mon Nov 25 14:06:16 2024 +0000 +++ b/mod_register_dnsbl_firewall_mark/mod_register_dnsbl_firewall_mark.lua Mon Nov 25 14:33:01 2024 +0000 @@ -17,6 +17,8 @@ return ("%d.%d.%d.%d.%s"):format(d,c,b,a, suffix); end +local store = module:open_store("firewall_marks", "map"); + module:hook("user-registered", function (event) local session = event.session; local ip = session and session.ip and cleanup_ip(session.ip); @@ -31,7 +33,7 @@ if user and user.firewall_marks then user.firewall_marks.dnsbl_hit = registration_time; else - module:open_store("firewall_marks", "map"):set(event.username, "dnsbl_hit", registration_time); + store:set(event.username, "dnsbl_hit", registration_time); end if rbl_message then module:log("debug", "Warning RBL registered user %s@%s", event.username, event.host); @@ -45,3 +47,13 @@ end, rbl_ip); end end); + +module:add_item("account-trait", { + name = "register-dnsbl-hit"; + prob_bad_true = 0.6; + prob_bad_false = 0.4; +}); + +module:hook("get-account-traits", function (event) + event.traits["register-dnsbl-hit"] = not not store:get(event.username, "dnsbl_hit"); +end);