aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHolger Weiss <holger@zedat.fu-berlin.de>2014-08-15 01:53:47 +0200
committerHolger Weiss <holger@zedat.fu-berlin.de>2014-08-15 01:53:47 +0200
commit2daf95e93ff53ed4dafb309f7bb42e7b9e1562d1 (patch)
treeeeb2487011839727a4ffd8a4c76eb558ab0cf364
parentFix the deprecation warning to reflect YAML format (diff)
XEP-0198: Gracefully handle wrong credentials
Produce a proper error message instead of crashing when the JID encoded in the 'previd' value of a <resume/> request is different from the authenticated JID.
-rw-r--r--src/ejabberd_c2s.erl2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/ejabberd_c2s.erl b/src/ejabberd_c2s.erl
index 1e07be859..de80308fc 100644
--- a/src/ejabberd_c2s.erl
+++ b/src/ejabberd_c2s.erl
@@ -2936,6 +2936,8 @@ inherit_session_state(#state{user = U, server = S} = StateData, ResumeID) ->
{error, <<"Cannot grab session state">>}
end
end;
+ {term, {_WrongU, _WrongS, _R, _Time}} ->
+ {error, <<"Previous JID doesn't match authenticated JID">>};
error ->
{error, <<"Invalid 'previd' value">>}
end.