#1124 c2s sessions are referenced in two not entirely overlapping tables
Reporter
Zash
Owner
Nobody
Created
Updated
Stars
★ (1)
Tags
Type-Defect
Priority-Medium
Status-Invalid
Zash
on
The shared /*/c2s/sessions table contains all connected sessions, including unauthed ones.
The prosody.full_sessions table has all resource-bound session, including (if mod_smacks is used) hibernating ones.
Having two separate sets of sessions makes it difficult when you idealy want to have the union of both, eg in mod_admin_telnet, the c2s:show() command currently uses the shared table, resulting in hibernating sessions not being shown.
Zash
on
Also, BOSH sessions are in yet another shared table or two.
MattJ
on
Just thinking about this, I'm not sure if the situation is so bad.
One is a list of established sessions (which may or may not have connections), one is a list of connections (which may or may not have sessions).
BOSH sessions are in full_sessions.
Zash
on
Things just have to pick the right table (or multiple)
Changes
tags Status-Invalid
ge0rg
on
Could you then please fix things to pick the right tables, and also provide a clear way for a server admin to enumerate:
- all connected sessions
- all existing sessions, including hibernated ones and BOSH ones
- all existings sessions belonging to a given JID, including hibernated/BOSH ones, and including their respective state (connected/hinbernated/.../nasal demons)
Thanks very much :)
The shared /*/c2s/sessions table contains all connected sessions, including unauthed ones. The prosody.full_sessions table has all resource-bound session, including (if mod_smacks is used) hibernating ones. Having two separate sets of sessions makes it difficult when you idealy want to have the union of both, eg in mod_admin_telnet, the c2s:show() command currently uses the shared table, resulting in hibernating sessions not being shown.
Also, BOSH sessions are in yet another shared table or two.
Just thinking about this, I'm not sure if the situation is so bad. One is a list of established sessions (which may or may not have connections), one is a list of connections (which may or may not have sessions). BOSH sessions are in full_sessions.
Things just have to pick the right table (or multiple)
ChangesCould you then please fix things to pick the right tables, and also provide a clear way for a server admin to enumerate: - all connected sessions - all existing sessions, including hibernated ones and BOSH ones - all existings sessions belonging to a given JID, including hibernated/BOSH ones, and including their respective state (connected/hinbernated/.../nasal demons) Thanks very much :)