diff options
author | Christophe Romain <christophe.romain@process-one.net> | 2015-11-26 12:37:18 +0100 |
---|---|---|
committer | Christophe Romain <christophe.romain@process-one.net> | 2015-12-11 12:30:16 +0100 |
commit | 10c920ef13501605ec95d6b637db9a8c06ab0676 (patch) | |
tree | a67beb138dfc5f6a5ad03fd3c7afe2b00f0076f4 /src/mod_pubsub.erl | |
parent | mod_mam: Don't store resent messages (diff) |
Don't force max_items_node to MAXITEMS if not defined
Diffstat (limited to 'src/mod_pubsub.erl')
-rw-r--r-- | src/mod_pubsub.erl | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/src/mod_pubsub.erl b/src/mod_pubsub.erl index a429eb4e..13fe0cc3 100644 --- a/src/mod_pubsub.erl +++ b/src/mod_pubsub.erl @@ -2376,7 +2376,10 @@ purge_node(Host, Node, Owner) -> ). get_items(Host, Node, From, SubId, SMaxItems, ItemIds, RSM) -> MaxItems = if SMaxItems == <<>> -> - get_max_items_node(Host); + case get_max_items_node(Host) of + undefined -> ?MAXITEMS; + Max -> Max + end; true -> case catch jlib:binary_to_integer(SMaxItems) of {'EXIT', _} -> {error, ?ERR_BAD_REQUEST}; @@ -3823,8 +3826,12 @@ add_opt(Key, Value, Opts) -> -define(SET_INTEGER_XOPT(Opt, Val, Min, Max), case catch jlib:binary_to_integer(Val) of - IVal when is_integer(IVal), IVal >= Min, IVal =< Max -> - set_xoption(Host, Opts, add_opt(Opt, IVal, NewOpts)); + IVal when is_integer(IVal), IVal >= Min -> + if (Max =:= undefined) orelse (IVal =< Max) -> + set_xoption(Host, Opts, add_opt(Opt, IVal, NewOpts)); + true -> + {error, ?ERR_NOT_ACCEPTABLE} + end; _ -> {error, ?ERR_NOT_ACCEPTABLE} end). @@ -3896,7 +3903,7 @@ set_xoption(Host, [_ | Opts], NewOpts) -> get_max_items_node({_, ServerHost, _}) -> get_max_items_node(ServerHost); get_max_items_node(Host) -> - config(serverhost(Host), max_items_node, ?MAXITEMS). + config(serverhost(Host), max_items_node, undefined). %%%% last item cache handling |