Diff

mod_audit_auth/mod_audit_auth.lua @ 5803:f199bff16f1f

mod_audit_auth: Improve user-agent building (fixes traceback)
author Matthew Wild <mwild1@gmail.com>
date Thu, 07 Dec 2023 13:02:36 +0000
parent 5772:238c4ac8b735
child 5930:cc30c4b5f006
line wrap: on
line diff
--- a/mod_audit_auth/mod_audit_auth.lua	Wed Dec 06 19:13:26 2023 +0000
+++ b/mod_audit_auth/mod_audit_auth.lua	Thu Dec 07 13:02:36 2023 +0000
@@ -27,9 +27,21 @@
 	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);
+		local user_agent = st.stanza("user-agent", { xmlns = "urn:xmpp:sasl:2" })
+		if client.user_agent.software then
+			user_agent:text_tag("software", client.user_agent.software, { id = client.user_agent.software_id; version = client.user_agent.software_version });
+		end
+		if client.user_agent.device then
+			user_agent:text_tag("device", client.user_agent.device);
+		end
+		if client.user_agent.uri then
+			user_agent:text_tag("uri", client.user_agent.uri);
+		end
+		client_info:add_child(user_agent);
 	end
+
 	if client.legacy then
 		client_info:text_tag("legacy");
 	end