diff options
author | Holger Weiss <holger@zedat.fu-berlin.de> | 2017-12-19 18:59:25 +0100 |
---|---|---|
committer | Holger Weiss <holger@zedat.fu-berlin.de> | 2017-12-19 18:59:25 +0100 |
commit | 63a60f1cd895b2d86265cf31323adaca53c176e8 (patch) | |
tree | 32485b57cafb6d81ddcc377b58e392741f262958 /src | |
parent | Change loglevel of TLS failures (diff) |
ejabberd_sm: Fix get_session_sid/3
Let get_session_sid/3 cope with multiple session table entries for a
given resource.
Diffstat (limited to 'src')
-rw-r--r-- | src/ejabberd_sm.erl | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/ejabberd_sm.erl b/src/ejabberd_sm.erl index 3df1d88e0..97e599253 100644 --- a/src/ejabberd_sm.erl +++ b/src/ejabberd_sm.erl @@ -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()]. |