Diff

mod_audit_auth/mod_audit_auth.lua @ 5772:238c4ac8b735

mod_audit_auth: Add audit record when a client connects that has not been seen before
author Matthew Wild <mwild1@gmail.com>
date Fri, 01 Dec 2023 11:59:02 +0000
parent 5771:dfbced5e54b9
child 5803:f199bff16f1f
line wrap: on
line diff
--- a/mod_audit_auth/mod_audit_auth.lua	Fri Dec 01 11:34:52 2023 +0000
+++ b/mod_audit_auth/mod_audit_auth.lua	Fri Dec 01 11:59:02 2023 +0000
@@ -1,4 +1,5 @@
 local jid = require"util.jid";
+local st = require "util.stanza";
 
 module:depends("audit");
 -- luacheck: read globals module.audit
@@ -21,3 +22,21 @@
 		session = session,
 	});
 end)
+
+module:hook("client_management/new-client", function (event)
+	local session, client = event.session, event.client;
+
+	local client_info = st.stanza("client", { id = client.id });
+	if client.user_agent then
+		client_info:text_tag("agent", client.user_agent);
+	end
+	if client.legacy then
+		client_info:text_tag("legacy");
+	end
+
+	module:audit(jid.join(session.username, module.host), "new-client", {
+		session = session;
+		custom = {
+		};
+	});
+end);