aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHolger Weiss <holger@zedat.fu-berlin.de>2014-05-09 18:01:31 +0200
committerHolger Weiss <holger@zedat.fu-berlin.de>2014-05-09 18:01:31 +0200
commit15369ff9d7f8738d9da167fac8883bbd0067cd35 (patch)
treec78d0e9a6e9cbf8c16129bd92e551c4289551383
parentXEP-0198: Don't warn on invalid ACK elements (diff)
XEP-0198: Reject <resume/> with negative 'h' value
Make sure the 'h' attribute sent with a <resume/> request is nonnegative, as mandated by XEP-0198. We already have this check for <a/> elements.
-rw-r--r--src/ejabberd_c2s.erl2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/ejabberd_c2s.erl b/src/ejabberd_c2s.erl
index 5fb81d1f5..0897730a5 100644
--- a/src/ejabberd_c2s.erl
+++ b/src/ejabberd_c2s.erl
@@ -2707,7 +2707,7 @@ handle_resume(StateData, Attrs) ->
case {xml:get_attr(<<"previd">>, Attrs),
catch jlib:binary_to_integer(xml:get_attr_s(<<"h">>, Attrs))}
of
- {{value, PrevID}, H} when is_integer(H) ->
+ {{value, PrevID}, H} when is_integer(H), H >= 0 ->
case inherit_session_state(StateData, PrevID) of
{ok, InheritedState} ->
{ok, InheritedState, H};