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);