aboutsummaryrefslogtreecommitdiff
path: root/src/mod_announce.erl
diff options
context:
space:
mode:
Diffstat (limited to 'src/mod_announce.erl')
-rw-r--r--src/mod_announce.erl14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/mod_announce.erl b/src/mod_announce.erl
index 495cbf946..1d93cbe65 100644
--- a/src/mod_announce.erl
+++ b/src/mod_announce.erl
@@ -609,8 +609,8 @@ announce_all(From, To, Packet) ->
Local = jid:make(To#jid.server),
lists:foreach(
fun({User, Server}) ->
- Dest = jid:make(User, Server),
- ejabberd_router:route(Local, Dest, Packet)
+ Dest = jid:make(User, Server, <<>>),
+ ejabberd_router:route(Local, Dest, add_store_hint(Packet))
end, ejabberd_auth:get_vh_registered_users(Host))
end.
@@ -626,8 +626,8 @@ announce_all_hosts_all(From, To, Packet) ->
Local = jid:make(To#jid.server),
lists:foreach(
fun({User, Server}) ->
- Dest = jid:make(User, Server),
- ejabberd_router:route(Local, Dest, Packet)
+ Dest = jid:make(User, Server, <<>>),
+ ejabberd_router:route(Local, Dest, add_store_hint(Packet))
end, ejabberd_auth:dirty_get_registered_users())
end.
@@ -813,7 +813,7 @@ send_announcement_to_all(Host, SubjectS, BodyS) ->
lists:foreach(
fun({U, S, R}) ->
Dest = jid:make(U, S, R),
- ejabberd_router:route(Local, Dest, Packet)
+ ejabberd_router:route(Local, Dest, add_store_hint(Packet))
end, Sessions).
-spec get_access(global | binary()) -> atom().
@@ -823,6 +823,10 @@ get_access(Host) ->
fun(A) -> A end,
none).
+-spec add_store_hint(stanza()) -> stanza().
+add_store_hint(El) ->
+ xmpp:set_subtag(El, #hint{type = store}).
+
%%-------------------------------------------------------------------------
export(LServer) ->
Mod = gen_mod:db_mod(LServer, ?MODULE),