おのたく日記 YouTubeも始めました→
2008-05-18(Sun) ejabberd突然gmailとの接続ができなくなる [長年日記]
■ [Debian][XMPP]ejabberd突然gmailとの接続ができなくなる
XMPPクライアントにはPidginつかっているのだけど、MSN Transportのテストのためにejabberedサーバなどを再起動を繰り返していたら、gmailのユーザーが「404: リモート・サーバが見つかりません」となって接続できなくなった。ejabberdのログを見ると
I(<0.429.0>:ejabberd_s2s:353) : New s2s connection started <0.430.0>
I(<0.430.0>:ejabberd_s2s_out:984) : Trying to open s2s connection: xmpp.on-o.com -> gmail.com
I(<0.430.0>:ejabberd_s2s_out:313) : Connection established: xmpp.on-o.com -> gmail.com
となって接続が成功するはずが、
I(<0.1303.0>:ejabberd_s2s:353) : New s2s connection started <0.1347.0>
I(<0.1347.0>:ejabberd_s2s_out:984) : Trying to open s2s connection: xmpp.on-o.com -> gmail.com
I(<0.1347.0>:ejabberd_s2s_out:319) : Closing s2s connection: xmpp.on-o.com -> gmail.com (invalid dialback key)
と、dialbakc keyが変だとエラーになっている。ソースを見ると
wait_for_validation({xmlstreamelement, El}, StateData) ->
case is_verify_res(El) of
{result, To, From, Id, Type} ->
?DEBUG("recv result: ~p", [{From, To, Id, Type}]),
case Type of
"valid" ->
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()}};
_ ->
%% TODO: bounce packets
?INFO_MSG("Closing s2s connection: ~s -> ~s (invalid dialback key)",
[StateData#state.myname, StateData#state.server]),
{stop, normal, StateData}
end;
[ejabberd:/trunk/src/ejabberd_s2s_out.erl revision 1332より引用]
となっていた。「%% TODO: bounce packets」ってどういう事よ!
|