Diff

core/usermanager.lua @ 13760:b5b0190ddc38 13.0

usermanager: Add info logging for all usermanager account changes
author Matthew Wild <mwild1@gmail.com>
date Mon, 10 Mar 2025 11:52:55 +0000
parent 13680:22f1444f08f9
child 13782:4cfabfbb0691
line wrap: on
line diff
--- a/core/usermanager.lua	Thu Mar 06 13:34:37 2025 +0000
+++ b/core/usermanager.lua	Mon Mar 10 11:52:55 2025 +0000
@@ -109,6 +109,7 @@
 local function set_password(username, password, host, resource)
 	local ok, err = hosts[host].users.set_password(username, password);
 	if ok then
+		log("info", "Account password changed: %s@%s", username, host);
 		prosody.events.fire_event("user-password-changed", { username = username, host = host, resource = resource });
 	end
 	return ok, err;
@@ -126,12 +127,17 @@
 end
 
 local function create_user(username, password, host)
-	return hosts[host].users.create_user(username, password);
+	local ok, err = hosts[host].users.create_user(username, password);
+	if ok then
+		log("info", "User account created: %s@%s", username, host);
+	end
+	return ok, err;
 end
 
 local function delete_user(username, host)
 	local ok, err = hosts[host].users.delete_user(username);
 	if not ok then return nil, err; end
+	log("info", "User account deleted: %s@%s", username, host);
 	prosody.events.fire_event("user-deleted", { username = username, host = host });
 	return storagemanager.purge(username, host);
 end
@@ -158,6 +164,7 @@
 	if not method then return nil, "method not supported"; end
 	local ret, err = method(username);
 	if ret then
+		log("info", "User account enabled: %s@%s", username, host);
 		prosody.events.fire_event("user-enabled", { username = username, host = host });
 	end
 	return ret, err;
@@ -168,6 +175,7 @@
 	if not method then return nil, "method not supported"; end
 	local ret, err = method(username, meta);
 	if ret then
+		log("info", "User account disabled: %s@%s", username, host);
 		prosody.events.fire_event("user-disabled", { username = username, host = host, meta = meta });
 	end
 	return ret, err;
@@ -198,6 +206,7 @@
 
 	local role, err = hosts[host].authz.set_user_role(user, role_name);
 	if role then
+		log("info", "Account %s@%s role changed to %s", user, host, role_name);
 		prosody.events.fire_event("user-role-changed", {
 			username = user, host = host, role = role;
 		});