aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--src/ejabberd_s2s.erl1
-rw-r--r--src/ejabberd_s2s_out.erl6
3 files changed, 12 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 58a67788a..c8fdaf204 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2008-03-17 Mickael Remond <mremond@process-one.net>
+
+ * src/ejabberd_s2s.erl: Only trigger s2s_connect_hook on
+ successful connection (EJAB-566)
+ * src/ejabberd_s2s_out.erl: Likewise
+
2008-03-15 Mickael Remond <mremond@process-one.net>
* src/ejabberd_ctl.erl: API improvement: Added
diff --git a/src/ejabberd_s2s.erl b/src/ejabberd_s2s.erl
index 59ce83205..eebee741b 100644
--- a/src/ejabberd_s2s.erl
+++ b/src/ejabberd_s2s.erl
@@ -359,7 +359,6 @@ new_connection(MyServer, Server, From, FromTo,
TRes = mnesia:transaction(F),
case TRes of
{atomic, Pid} ->
- ejabberd_hooks:run(s2s_connect_hook, [MyServer, Server]),
ejabberd_s2s_out:start_connection(Pid);
_ ->
ejabberd_s2s_out:stop_connection(Pid)
diff --git a/src/ejabberd_s2s_out.erl b/src/ejabberd_s2s_out.erl
index 694e0d283..8eddc41eb 100644
--- a/src/ejabberd_s2s_out.erl
+++ b/src/ejabberd_s2s_out.erl
@@ -312,6 +312,9 @@ wait_for_validation({xmlstreamelement, El}, StateData) ->
send_queue(StateData, StateData#state.queue),
?INFO_MSG("Connection established: ~s -> ~s",
[StateData#state.myname, StateData#state.server]),
+ ejabberd_hooks:run(s2s_connect_hook,
+ [StateData#state.myname,
+ StateData#state.server]),
{next_state, stream_established,
StateData#state{queue = queue:new()}};
_ ->
@@ -420,6 +423,9 @@ wait_for_features({xmlstreamelement, El}, StateData) ->
send_queue(StateData, StateData#state.queue),
?INFO_MSG("Connection established: ~s -> ~s",
[StateData#state.myname, StateData#state.server]),
+ ejabberd_hooks:run(s2s_connect_hook,
+ [StateData#state.myname,
+ StateData#state.server]),
{next_state, stream_established,
StateData#state{queue = queue:new()}};
SASLEXT and StateData#state.try_auth and