diff options
author | Matthew Wild <mwild1@gmail.com> | 2025-03-11 18:44:40 +0000 |
---|---|---|
committer | Matthew Wild <mwild1@gmail.com> | 2025-03-11 18:44:40 +0000 |
commit | 8005ac825f35d23a986bb8a92445cc89ca08bf23 (patch) | |
tree | b6bf1832c0493316397010671c5de6fd3a55324e /plugins/adhoc | |
parent | 5b4624137d81ba3bf6a7d2188cee5979553d19d3 (diff) | |
download | prosody-8005ac825f35d23a986bb8a92445cc89ca08bf23.tar.gz prosody-8005ac825f35d23a986bb8a92445cc89ca08bf23.zip |
mod_websocket: Merge session close handling changes from mod_c2s (bug fixes)origin/13.013.0
This should bring some fixes and general robustness that mod_websocket had
missed out on. The duplicated code here is not at all ideal. To prevent this
happening again, we should figure out how to have the common logic in a single
place, while still being able to do the websocket-specific parts that we need.
The main known bug that this fixes is that it's possible for a session to get
into a non-destroyable state. For example, if we try to session:close() a
hibernating session, then session.conn is nil and the function will simply
return without doing anything. In the mod_c2s code we already handle this, and
just destroy the session. But if a hibernating websocket session is never
resumed or becomes non-resumable, it will become immortal!
By merging the fix from mod_c2s, the session should now be correctly
destroyed.
Diffstat (limited to 'plugins/adhoc')
0 files changed, 0 insertions, 0 deletions