25
1
mirror of https://github.com/processone/ejabberd.git synced 2024-11-22 16:20:52 +01:00

Improve stream error stanza when receives invalid handshake from component.

SVN Revision: 2641
This commit is contained in:
Badlop 2009-10-06 10:05:10 +00:00
parent 75793f7cf4
commit f4e35033e7

View File

@ -198,9 +198,23 @@ wait_for_handshake({xmlstreamelement, El}, StateData) ->
end, StateData#state.hosts), end, StateData#state.hosts),
{next_state, stream_established, StateData}; {next_state, stream_established, StateData};
_ -> _ ->
send_element(StateData, TextEl =
#xmlel{ns = ?NS_XMPP, name = 'error', children = [ #xmlel{ns = ?NS_STANZA_ERRORS,
#xmlcdata{cdata = <<"Invalid Handshake">>}]}), name = 'text',
children =
[#xmlcdata{cdata = <<"Invalid Handshake">>}]
},
NotAuthorizedEl =
#xmlel{ns = ?NS_STANZA_ERRORS,
name = 'not-authorized',
children = [TextEl]
},
InvalidHandshakeEl =
#xmlel{ns = ?NS_XMPP,
name = 'error',
children = [NotAuthorizedEl]
},
send_element(StateData, InvalidHandshakeEl),
send_element(StateData, exmpp_stream:closing()), send_element(StateData, exmpp_stream:closing()),
{stop, normal, StateData} {stop, normal, StateData}
end; end;