aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMickaël Rémond <mickael.remond@process-one.net>2008-05-22 10:53:49 +0000
committerMickaël Rémond <mickael.remond@process-one.net>2008-05-22 10:53:49 +0000
commit5e9576ffa3064328dc39b49c7344b309442d7212 (patch)
treeaed98dc36b20b8f4b266f9ec61621c1b7c7b3ead
parent* src/ejabberd_c2s.erl: user_send_packet hook now called on all packets inclu... (diff)
* src/ejabberd_s2s.erl: Added s2s_send_packet and s2s_receive_packet hooks (EJAB-635).
* src/ejabberd_s2s_in.erl: Likewise. SVN Revision: 1342
-rw-r--r--ChangeLog4
-rw-r--r--src/ejabberd_s2s.erl5
-rw-r--r--src/ejabberd_s2s_in.erl8
3 files changed, 17 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 37a7a7112..2931b60cd 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
2008-05-22 Mickael Remond <mremond@process-one.net>
+ * src/ejabberd_s2s.erl: Added s2s_send_packet and s2s_receive_packet
+ hooks (EJAB-635).
+ * src/ejabberd_s2s_in.erl: Likewise.
+
* src/ejabberd_c2s.erl: user_send_packet hook now called on all packets
including presence packets (EJAB-634)
diff --git a/src/ejabberd_s2s.erl b/src/ejabberd_s2s.erl
index b500388c5..cd878c1b2 100644
--- a/src/ejabberd_s2s.erl
+++ b/src/ejabberd_s2s.erl
@@ -256,6 +256,11 @@ do_route(From, To, Packet) ->
NewAttrs = jlib:replace_from_to_attrs(jlib:jid_to_string(From),
jlib:jid_to_string(To),
Attrs),
+ #jid{lserver = MyServer} = From,
+ ejabberd_hooks:run(
+ s2s_send_packet,
+ MyServer,
+ [From, To, Packet]),
send_element(Pid, {xmlelement, Name, NewAttrs, Els}),
ok;
{aborted, _Reason} ->
diff --git a/src/ejabberd_s2s_in.erl b/src/ejabberd_s2s_in.erl
index cd57e3d1e..9827775d2 100644
--- a/src/ejabberd_s2s_in.erl
+++ b/src/ejabberd_s2s_in.erl
@@ -412,6 +412,10 @@ stream_established({xmlstreamelement, El}, StateData) ->
if ((Name == "iq") or
(Name == "message") or
(Name == "presence")) ->
+ ejabberd_hooks:run(
+ s2s_receive_packet,
+ LFrom,
+ [From, To, NewEl]),
ejabberd_router:route(
From, To, NewEl);
true ->
@@ -427,6 +431,10 @@ stream_established({xmlstreamelement, El}, StateData) ->
if ((Name == "iq") or
(Name == "message") or
(Name == "presence")) ->
+ ejabberd_hooks:run(
+ s2s_receive_packet,
+ LFrom,
+ [From, To, NewEl]),
ejabberd_router:route(
From, To, NewEl);
true ->