aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHolger Weiss <holger@zedat.fu-berlin.de>2016-07-19 21:08:13 +0200
committerHolger Weiss <holger@zedat.fu-berlin.de>2016-07-19 21:08:13 +0200
commit9fcb81dea99dd7f97ed0c970ed44b23a09153be9 (patch)
tree4d51c3d25f720baf0a1f917a99cc26d0e224beb3
parentUpgrade Elixir version to 1.2 in rebar config (diff)
mod_mam: Always limit result set page size
Limit the number of messages returned for a given MAM request even if the client didn't specify an RSM set (not just if the client specified an RSM set without a limit). This is still not done for MAM v0.2 requests though, as that version of the XEP doesn't require clients to support RSM.
-rw-r--r--src/mod_mam.erl6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/mod_mam.erl b/src/mod_mam.erl
index 10eb098da..f5dc67abc 100644
--- a/src/mod_mam.erl
+++ b/src/mod_mam.erl
@@ -1032,12 +1032,12 @@ filter_by_max(_Msgs, _Junk) ->
limit_max(RSM, ?NS_MAM_TMP) ->
RSM; % XEP-0313 v0.2 doesn't require clients to support RSM.
+limit_max(none, _NS) ->
+ #rsm_in{max = ?DEF_PAGE_SIZE};
limit_max(#rsm_in{max = Max} = RSM, _NS) when not is_integer(Max) ->
RSM#rsm_in{max = ?DEF_PAGE_SIZE};
limit_max(#rsm_in{max = Max} = RSM, _NS) when Max > ?MAX_PAGE_SIZE ->
- RSM#rsm_in{max = ?MAX_PAGE_SIZE};
-limit_max(RSM, _NS) ->
- RSM.
+ RSM#rsm_in{max = ?MAX_PAGE_SIZE}.
match_interval(Now, Start, End) ->
(Now >= Start) and (Now =< End).