]> granicus.if.org Git - ejabberd/commitdiff
mod_client_state: Let other modules filter stanzas
authorHolger Weiss <holger@zedat.fu-berlin.de>
Sat, 6 Aug 2016 11:36:27 +0000 (13:36 +0200)
committerHolger Weiss <holger@zedat.fu-berlin.de>
Sat, 6 Aug 2016 11:36:27 +0000 (13:36 +0200)
Don't stop execution of the 'csi_filter_stanza' hook if mod_client_state
won't queue the stanza.

src/mod_client_state.erl

index da870f8efb14ff9e513b22a3c4751a4d8e79de07..9d37d4f5bd4a5fd1cef3c34e7a46e7d0c268f037 100644 (file)
@@ -205,7 +205,7 @@ filter_pep({C2SState, _OutStanzas} = Acc, Host, To,
 filter_pep(Acc, _Host, _To, _Stanza) -> Acc.
 
 -spec filter_other({term(), [xmlel()]}, binary(), jid(), xmlel())
-      -> {stop, {term(), [xmlel()]}}.
+      -> {term(), [xmlel()]}.
 
 filter_other({C2SState, _OutStanzas}, Host, To, Stanza) ->
     ?DEBUG("Won't add stanza for ~s to CSI queue", [jid:to_string(To)]),
@@ -250,7 +250,7 @@ queue_add(Type, Stanza, Host, C2SState) ->
          {stop, {NewState, []}}
     end.
 
--spec queue_take(xmlel(), binary(), term()) -> {stop, {term(), [xmlel()]}}.
+-spec queue_take(xmlel(), binary(), term()) -> {term(), [xmlel()]}.
 
 queue_take(Stanza, Host, C2SState) ->
     From = fxml:get_tag_attr_s(<<"from">>, Stanza),
@@ -260,7 +260,7 @@ queue_take(Stanza, Host, C2SState) ->
                                 U == LUser andalso S == LServer
                         end, get_queue(C2SState)),
     NewState = set_queue(Rest, C2SState),
-    {stop, {NewState, get_stanzas(Selected, Host) ++ [Stanza]}}.
+    {NewState, get_stanzas(Selected, Host) ++ [Stanza]}.
 
 -spec set_queue(csi_queue(), term()) -> term().