Comparison

core/usermanager.lua @ 13766:b11242656300

Merge 13.0->trunk
author Matthew Wild <mwild1@gmail.com>
date Tue, 11 Mar 2025 18:45:23 +0000
parent 13760:b5b0190ddc38
child 13782:4cfabfbb0691
comparison
equal deleted inserted replaced
13759:1437d8884899 13766:b11242656300
107 end 107 end
108 108
109 local function set_password(username, password, host, resource) 109 local function set_password(username, password, host, resource)
110 local ok, err = hosts[host].users.set_password(username, password); 110 local ok, err = hosts[host].users.set_password(username, password);
111 if ok then 111 if ok then
112 log("info", "Account password changed: %s@%s", username, host);
112 prosody.events.fire_event("user-password-changed", { username = username, host = host, resource = resource }); 113 prosody.events.fire_event("user-password-changed", { username = username, host = host, resource = resource });
113 end 114 end
114 return ok, err; 115 return ok, err;
115 end 116 end
116 117
124 if hosts[host].sessions[username] then return true; end 125 if hosts[host].sessions[username] then return true; end
125 return hosts[host].users.user_exists(username); 126 return hosts[host].users.user_exists(username);
126 end 127 end
127 128
128 local function create_user(username, password, host) 129 local function create_user(username, password, host)
129 return hosts[host].users.create_user(username, password); 130 local ok, err = hosts[host].users.create_user(username, password);
131 if ok then
132 log("info", "User account created: %s@%s", username, host);
133 end
134 return ok, err;
130 end 135 end
131 136
132 local function delete_user(username, host) 137 local function delete_user(username, host)
133 local ok, err = hosts[host].users.delete_user(username); 138 local ok, err = hosts[host].users.delete_user(username);
134 if not ok then return nil, err; end 139 if not ok then return nil, err; end
140 log("info", "User account deleted: %s@%s", username, host);
135 prosody.events.fire_event("user-deleted", { username = username, host = host }); 141 prosody.events.fire_event("user-deleted", { username = username, host = host });
136 return storagemanager.purge(username, host); 142 return storagemanager.purge(username, host);
137 end 143 end
138 144
139 local function user_is_enabled(username, host) 145 local function user_is_enabled(username, host)
156 local function enable_user(username, host) 162 local function enable_user(username, host)
157 local method = hosts[host].users.enable; 163 local method = hosts[host].users.enable;
158 if not method then return nil, "method not supported"; end 164 if not method then return nil, "method not supported"; end
159 local ret, err = method(username); 165 local ret, err = method(username);
160 if ret then 166 if ret then
167 log("info", "User account enabled: %s@%s", username, host);
161 prosody.events.fire_event("user-enabled", { username = username, host = host }); 168 prosody.events.fire_event("user-enabled", { username = username, host = host });
162 end 169 end
163 return ret, err; 170 return ret, err;
164 end 171 end
165 172
166 local function disable_user(username, host, meta) 173 local function disable_user(username, host, meta)
167 local method = hosts[host].users.disable; 174 local method = hosts[host].users.disable;
168 if not method then return nil, "method not supported"; end 175 if not method then return nil, "method not supported"; end
169 local ret, err = method(username, meta); 176 local ret, err = method(username, meta);
170 if ret then 177 if ret then
178 log("info", "User account disabled: %s@%s", username, host);
171 prosody.events.fire_event("user-disabled", { username = username, host = host, meta = meta }); 179 prosody.events.fire_event("user-disabled", { username = username, host = host, meta = meta });
172 end 180 end
173 return ret, err; 181 return ret, err;
174 end 182 end
175 183
196 if host and not hosts[host] then return false; end 204 if host and not hosts[host] then return false; end
197 if type(user) ~= "string" then return false; end 205 if type(user) ~= "string" then return false; end
198 206
199 local role, err = hosts[host].authz.set_user_role(user, role_name); 207 local role, err = hosts[host].authz.set_user_role(user, role_name);
200 if role then 208 if role then
209 log("info", "Account %s@%s role changed to %s", user, host, role_name);
201 prosody.events.fire_event("user-role-changed", { 210 prosody.events.fire_event("user-role-changed", {
202 username = user, host = host, role = role; 211 username = user, host = host, role = role;
203 }); 212 });
204 end 213 end
205 return role, err; 214 return role, err;