ejabberd_sm: Fix get_session_sid/3

Let get_session_sid/3 cope with multiple session table entries for a
given resource.
This commit is contained in:
Holger Weiss 2017-12-19 18:59:25 +01:00
parent 08ce16f7ca
commit 63a60f1cd8
1 changed files with 5 additions and 2 deletions

View File

@ -314,8 +314,11 @@ get_session_sid(User, Server, Resource) ->
LResource = jid:resourceprep(Resource),
Mod = get_sm_backend(LServer),
case online(get_sessions(Mod, LUser, LServer, LResource)) of
[#session{sid = SID}] -> SID;
_ -> none
[] ->
none;
Ss ->
#session{sid = SID} = lists:max(Ss),
SID
end.
-spec get_session_sids(binary(), binary()) -> [sid()].