diff --git a/ChangeLog b/ChangeLog index 3834f85b3..0791b8d7e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,7 @@ 2003-03-27 Alexey Shchepin + * src/ejabberd_s2s_in.erl: Bugfix + * src/mod_muc/: Small fixes in discovering 2003-03-26 Alexey Shchepin diff --git a/src/ejabberd_s2s_in.erl b/src/ejabberd_s2s_in.erl index 2f25c267b..0256820f8 100644 --- a/src/ejabberd_s2s_in.erl +++ b/src/ejabberd_s2s_in.erl @@ -109,7 +109,6 @@ wait_for_stream({xmlstreamstart, Name, Attrs}, StateData) -> send_text(StateData#state.socket, ?INVALID_DOMAIN_ERR), {stop, normal, StateData} end; - _ -> send_text(StateData#state.socket, ?INVALID_HEADER_ERR), {stop, normal, StateData} @@ -123,11 +122,18 @@ wait_for_key({xmlstreamelement, El}, StateData) -> case is_key_packet(El) of {key, To, From, Id, Key} -> io:format("GET KEY: ~p~n", [{To, From, Id, Key}]), - ejabberd_s2s_out:start(StateData#state.myname, From, - {verify, self(), Key}), - {next_state, - wait_for_verification, - StateData#state{server = From}}; + case lists:member(To, ejabberd_router:dirty_get_all_domains()) of + true -> + ejabberd_s2s_out:start(To, From, + {verify, self(), Key}), + {next_state, + wait_for_verification, + StateData#state{myname = To, + server = From}}; + _ -> + send_text(StateData#state.socket, ?INVALID_DOMAIN_ERR), + {stop, normal, StateData} + end; {verify, To, From, Id, Key} -> io:format("VERIFY KEY: ~p~n", [{To, From, Id, Key}]), Key1 = ejabberd_s2s:get_key({StateData#state.myname, From}),