Mercurial > prosody-hg
comparison plugins/mod_c2s.lua @ 13420:7dc7e2e15b2a
mod_c2s: Fix error on role change on Components (thanks Menel)
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Sat, 17 Feb 2024 19:07:57 +0100 |
| parents | 57ad1dfd8e8b |
| children | 2159a206684e |
comparison
equal
deleted
inserted
replaced
| 13419:41a587613a0e | 13420:7dc7e2e15b2a |
|---|---|
| 250 -- Close all user sessions with the specified reason. If leave_resource is | 250 -- Close all user sessions with the specified reason. If leave_resource is |
| 251 -- true, the resource named by event.resource will not be closed. | 251 -- true, the resource named by event.resource will not be closed. |
| 252 local function disconnect_user_sessions(reason, leave_resource) | 252 local function disconnect_user_sessions(reason, leave_resource) |
| 253 return function (event) | 253 return function (event) |
| 254 local username, host, resource = event.username, event.host, event.resource; | 254 local username, host, resource = event.username, event.host, event.resource; |
| 255 if not (hosts[host] and hosts[host].type == "local") then | |
| 256 return -- not a local VirtualHost so no sessions | |
| 257 end | |
| 255 local user = hosts[host].sessions[username]; | 258 local user = hosts[host].sessions[username]; |
| 256 if user and user.sessions then | 259 if user and user.sessions then |
| 257 for r, session in pairs(user.sessions) do | 260 for r, session in pairs(user.sessions) do |
| 258 if not leave_resource or r ~= resource then | 261 if not leave_resource or r ~= resource then |
| 259 session:close(reason); | 262 session:close(reason); |
