diff options
Diffstat (limited to '')
-rw-r--r-- | src/ejabberd_s2s_out.erl | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/ejabberd_s2s_out.erl b/src/ejabberd_s2s_out.erl index 07b97626..4da88b0c 100644 --- a/src/ejabberd_s2s_out.erl +++ b/src/ejabberd_s2s_out.erl @@ -150,9 +150,8 @@ wait_for_stream({xmlstreamstart, Name, Attrs}, StateData) -> Server = StateData#state.server, New = case StateData#state.new of false -> - case - ejabberd_s2s:try_register( - {StateData#state.myname, Server}) of + case ejabberd_s2s:try_register( + {StateData#state.myname, Server}) of {key, Key} -> Key; false -> @@ -234,7 +233,12 @@ wait_for_validation({xmlstreamelement, El}, StateData) -> StateData#state.server, StateData#state.myname}) end, - {stop, normal, StateData} + if + StateData#state.verify == false -> + {stop, normal, StateData}; + true -> + {next_state, wait_for_validation, StateData} + end end; _ -> {next_state, wait_for_validation, StateData} |