# HG changeset patch # User Matthew Wild # Date 1732545181 0 # Node ID 7d4386cc73d39b288e3609bb5e86e1ae1a015257 # Parent 765e0235c2026dfbab5f336a476dbdc3e0427946 mod_register_dnsbl_firewall_mark: Add account trait for mod_report_affiliations diff -r 765e0235c202 -r 7d4386cc73d3 mod_register_dnsbl_firewall_mark/mod_register_dnsbl_firewall_mark.lua --- 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);